comparison src/share/vm/runtime/compilationPolicy.cpp @ 22762:9d78d44d3aac

improved JVMCI support for blocking compilation (GRAAL-1387)
author Doug Simon <doug.simon@oracle.com>
date Fri, 08 Jan 2016 17:30:33 +0100
parents be896a1983c0
children 94b7354ef0e0
comparison
equal deleted inserted replaced
22761:f2206f5bb62e 22762:9d78d44d3aac
158 bool CompilationPolicy::is_compilation_enabled() { 158 bool CompilationPolicy::is_compilation_enabled() {
159 // NOTE: CompileBroker::should_compile_new_jobs() checks for UseCompiler 159 // NOTE: CompileBroker::should_compile_new_jobs() checks for UseCompiler
160 return !delay_compilation_during_startup() && CompileBroker::should_compile_new_jobs(); 160 return !delay_compilation_during_startup() && CompileBroker::should_compile_new_jobs();
161 } 161 }
162 162
163 #ifdef COMPILERJVMCI
164 CompileTask* CompilationPolicy::select_task_blocking_aware(CompileQueue* compile_queue) {
165 if (!BackgroundCompilation) {
166 for (CompileTask* task = compile_queue->first(); task != NULL; task = task->next()) {
167 if (task->is_blocking()) {
168 return task;
169 }
170 }
171 }
172 return compile_queue->first();
173 }
174 #endif
175
163 #ifndef PRODUCT 176 #ifndef PRODUCT
164 void CompilationPolicy::print_time() { 177 void CompilationPolicy::print_time() {
165 tty->print_cr ("Accumulated compilationPolicy times:"); 178 tty->print_cr ("Accumulated compilationPolicy times:");
166 tty->print_cr ("---------------------------"); 179 tty->print_cr ("---------------------------");
167 tty->print_cr (" Total: %3.3f sec.", _accumulated_time.seconds()); 180 tty->print_cr (" Total: %3.3f sec.", _accumulated_time.seconds());
338 mcs->backedge_counter()->set_state(InvocationCounter::wait_for_nothing); 351 mcs->backedge_counter()->set_state(InvocationCounter::wait_for_nothing);
339 } 352 }
340 } 353 }
341 354
342 CompileTask* NonTieredCompPolicy::select_task(CompileQueue* compile_queue) { 355 CompileTask* NonTieredCompPolicy::select_task(CompileQueue* compile_queue) {
356 COMPILERJVMCI_PRESENT(return select_task_blocking_aware(compile_queue);)
343 return compile_queue->first(); 357 return compile_queue->first();
344 } 358 }
345 359
346 bool NonTieredCompPolicy::is_mature(Method* method) { 360 bool NonTieredCompPolicy::is_mature(Method* method) {
347 MethodData* mdo = method->method_data(); 361 MethodData* mdo = method->method_data();