Mercurial > hg > truffle
comparison src/share/vm/graal/graalVMToCompiler.cpp @ 13254:42aaf7306707
Teach Graal about Symbol and ConstantPool so we can move more logic into Java. We'll see how that ends...
author | twisti |
---|---|
date | Thu, 05 Dec 2013 18:13:04 -0800 |
parents | c0b0974dd509 |
children | f13f6dc290c8 |
comparison
equal
deleted
inserted
replaced
13253:4d1cd29cceb0 | 13254:42aaf7306707 |
---|---|
255 JavaCalls::call_interface(&result, vmToCompilerKlass(), vmSymbols::createResolvedJavaType_name(), vmSymbols::createResolvedJavaType_signature(), &args, THREAD); | 255 JavaCalls::call_interface(&result, vmToCompilerKlass(), vmSymbols::createResolvedJavaType_name(), vmSymbols::createResolvedJavaType_signature(), &args, THREAD); |
256 check_pending_exception("Error while calling createResolvedJavaType"); | 256 check_pending_exception("Error while calling createResolvedJavaType"); |
257 return (oop) result.get_jobject(); | 257 return (oop) result.get_jobject(); |
258 } | 258 } |
259 | 259 |
260 oop VMToCompiler::createConstant(Handle kind, jlong value, TRAPS) { | |
261 JavaValue result(T_OBJECT); | |
262 JavaCallArguments args; | |
263 args.push_oop(instance()); | |
264 args.push_oop(kind()); | |
265 args.push_long(value); | |
266 JavaCalls::call_interface(&result, vmToCompilerKlass(), vmSymbols::createConstant_name(), vmSymbols::createConstant_signature(), &args, THREAD); | |
267 check_pending_exception("Error while calling createConstantFloat"); | |
268 return (oop) result.get_jobject(); | |
269 | |
270 } | |
271 | |
272 oop VMToCompiler::createConstantFloat(jfloat value, TRAPS) { | |
273 JavaValue result(T_OBJECT); | |
274 JavaCallArguments args; | |
275 args.push_oop(instance()); | |
276 args.push_float(value); | |
277 JavaCalls::call_interface(&result, vmToCompilerKlass(), vmSymbols::createConstantFloat_name(), vmSymbols::createConstantFloat_signature(), &args, THREAD); | |
278 check_pending_exception("Error while calling createConstantFloat"); | |
279 return (oop) result.get_jobject(); | |
280 | |
281 } | |
282 | |
283 oop VMToCompiler::createConstantDouble(jdouble value, TRAPS) { | |
284 JavaValue result(T_OBJECT); | |
285 JavaCallArguments args; | |
286 args.push_oop(instance()); | |
287 args.push_double(value); | |
288 JavaCalls::call_interface(&result, vmToCompilerKlass(), vmSymbols::createConstantDouble_name(), vmSymbols::createConstantDouble_signature(), &args, THREAD); | |
289 check_pending_exception("Error while calling createConstantDouble"); | |
290 return (oop) result.get_jobject(); | |
291 } | |
292 | |
293 oop VMToCompiler::createConstantObject(Handle object, TRAPS) { | |
294 JavaValue result(T_OBJECT); | |
295 JavaCallArguments args; | |
296 KlassHandle klass = loadClass(vmSymbols::com_oracle_graal_api_meta_Constant()); | |
297 JavaCalls::call_static(&result, klass(), vmSymbols::forObject_name(), vmSymbols::createConstantObject_signature(), object, THREAD); | |
298 check_pending_exception("Error while calling Constant.forObject"); | |
299 return (oop) result.get_jobject(); | |
300 } | |
301 | |
302 oop VMToCompiler::createLocal(Handle name, Handle typeInfo, int bci_start, int bci_end, int slot, Handle holder, TRAPS) { | 260 oop VMToCompiler::createLocal(Handle name, Handle typeInfo, int bci_start, int bci_end, int slot, Handle holder, TRAPS) { |
303 JavaValue result(T_OBJECT); | 261 JavaValue result(T_OBJECT); |
304 JavaCallArguments args; | 262 JavaCallArguments args; |
305 args.push_oop(instance()); | 263 args.push_oop(instance()); |
306 args.push_oop(name); | 264 args.push_oop(name); |