Mercurial > hg > truffle
comparison src/share/vm/graal/graalVMToCompiler.cpp @ 10056:a323a9e20f9d
Fixed a few race conditions in the compilation queue.
author | Christian Haeubl <haeubl@ssw.jku.at> |
---|---|
date | Fri, 14 Jun 2013 19:12:56 +0200 |
parents | 0f7ca53be929 |
children | 3489047ffea2 |
comparison
equal
deleted
inserted
replaced
10055:9469034773b2 | 10056:a323a9e20f9d |
---|---|
94 JavaCalls::call_static(&result, compilerKlass, vmSymbols::setOption_name(), vmSymbols::setOption_signature(), option, THREAD); | 94 JavaCalls::call_static(&result, compilerKlass, vmSymbols::setOption_name(), vmSymbols::setOption_signature(), option, THREAD); |
95 check_pending_exception("Error while calling setOption"); | 95 check_pending_exception("Error while calling setOption"); |
96 return result.get_jboolean(); | 96 return result.get_jboolean(); |
97 } | 97 } |
98 | 98 |
99 jboolean VMToCompiler::compileMethod(Method* method, Handle holder, int entry_bci, jboolean blocking, int priority) { | 99 void VMToCompiler::compileMethod(Method* method, Handle holder, int entry_bci, jboolean blocking, int priority) { |
100 assert(method != NULL, "just checking"); | 100 assert(method != NULL, "just checking"); |
101 assert(!holder.is_null(), "just checking"); | 101 assert(!holder.is_null(), "just checking"); |
102 Thread* THREAD = Thread::current(); | 102 Thread* THREAD = Thread::current(); |
103 JavaValue result(T_BOOLEAN); | 103 JavaValue result(T_VOID); |
104 JavaCallArguments args; | 104 JavaCallArguments args; |
105 args.push_oop(instance()); | 105 args.push_oop(instance()); |
106 args.push_long((jlong) (address) method); | 106 args.push_long((jlong) (address) method); |
107 args.push_oop(holder()); | 107 args.push_oop(holder()); |
108 args.push_int(entry_bci); | 108 args.push_int(entry_bci); |
109 args.push_int(blocking); | 109 args.push_int(blocking); |
110 args.push_int(priority); | 110 args.push_int(priority); |
111 JavaCalls::call_interface(&result, vmToCompilerKlass(), vmSymbols::compileMethod_name(), vmSymbols::compileMethod_signature(), &args, THREAD); | 111 JavaCalls::call_interface(&result, vmToCompilerKlass(), vmSymbols::compileMethod_name(), vmSymbols::compileMethod_signature(), &args, THREAD); |
112 check_pending_exception("Error while calling compileMethod"); | 112 check_pending_exception("Error while calling compileMethod"); |
113 return result.get_jboolean(); | |
114 } | 113 } |
115 | 114 |
116 void VMToCompiler::shutdownCompiler() { | 115 void VMToCompiler::shutdownCompiler() { |
117 if (_graalRuntimePermObject != NULL) { | 116 if (_graalRuntimePermObject != NULL) { |
118 HandleMark hm; | 117 HandleMark hm; |