comparison src/share/vm/graal/graalVMToCompiler.cpp @ 5176:af59b4dfc9e4

compilation queue changes: * new CiCompilationStatistics * added new HotSpot compilation policy (-XX:CompilationPolicyChoice=4) * compile queue prioritizing (-G:+PriorityCompileQueue) * low-priority compilation threads (-G:+SlowCompileThreads) * dynamic compilation thread priority adjustment (-G:+DynamicCompilePriority)
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 29 Mar 2012 18:43:30 +0200
parents 227aa994f058
children 74dfa6f86879
comparison
equal deleted inserted replaced
5175:a8c5283a835c 5176:af59b4dfc9e4
95 JavaValue result(T_VOID); 95 JavaValue result(T_VOID);
96 JavaCalls::call_static(&result, compilerKlass, vmSymbols::setDefaultOptions_name(), vmSymbols::void_method_signature(), THREAD); 96 JavaCalls::call_static(&result, compilerKlass, vmSymbols::setDefaultOptions_name(), vmSymbols::void_method_signature(), THREAD);
97 check_pending_exception("Error while calling setDefaultOptions"); 97 check_pending_exception("Error while calling setDefaultOptions");
98 } 98 }
99 99
100 jboolean VMToCompiler::compileMethod(Handle hotspot_method, int entry_bci, jboolean blocking) { 100 jboolean VMToCompiler::compileMethod(Handle hotspot_method, int entry_bci, jboolean blocking, int priority) {
101 assert(!hotspot_method.is_null(), "just checking"); 101 assert(!hotspot_method.is_null(), "just checking");
102 Thread* THREAD = Thread::current(); 102 Thread* THREAD = Thread::current();
103 JavaValue result(T_BOOLEAN); 103 JavaValue result(T_BOOLEAN);
104 JavaCallArguments args; 104 JavaCallArguments args;
105 args.push_oop(instance()); 105 args.push_oop(instance());
106 args.push_oop(hotspot_method); 106 args.push_oop(hotspot_method);
107 args.push_int(entry_bci); 107 args.push_int(entry_bci);
108 args.push_int(blocking); 108 args.push_int(blocking);
109 args.push_int(priority);
109 JavaCalls::call_interface(&result, vmExitsKlass(), vmSymbols::compileMethod_name(), vmSymbols::compileMethod_signature(), &args, THREAD); 110 JavaCalls::call_interface(&result, vmExitsKlass(), vmSymbols::compileMethod_name(), vmSymbols::compileMethod_signature(), &args, THREAD);
110 check_pending_exception("Error while calling compileMethod"); 111 check_pending_exception("Error while calling compileMethod");
111 return result.get_jboolean(); 112 return result.get_jboolean();
112 } 113 }
113 114