comparison src/share/vm/interpreter/linkResolver.cpp @ 15463:a20be10ad437

made Graal work with the HotSpot compiler queue and compiler threads, enabled by -XX:-UseGraalCompilationQueue
author Doug Simon <doug.simon@oracle.com>
date Fri, 02 May 2014 00:36:27 +0200
parents 4ca6dc0799b6
children 89152779163c
comparison
equal deleted inserted replaced
15462:05d3f069cff2 15463:a20be10ad437
111 // This path is unusual, mostly used by the '-Xcomp' stress test mode. 111 // This path is unusual, mostly used by the '-Xcomp' stress test mode.
112 112
113 // Note: with several active threads, the must_be_compiled may be true 113 // Note: with several active threads, the must_be_compiled may be true
114 // while can_be_compiled is false; remove assert 114 // while can_be_compiled is false; remove assert
115 // assert(CompilationPolicy::can_be_compiled(selected_method), "cannot compile"); 115 // assert(CompilationPolicy::can_be_compiled(selected_method), "cannot compile");
116 if (THREAD->is_Compiler_thread()) { 116 if (!THREAD->can_call_java()) {
117 // don't force compilation, resolve was on behalf of compiler 117 // don't force compilation, resolve was on behalf of compiler
118 return; 118 return;
119 } 119 }
120 if (selected_method->method_holder()->is_not_initialized()) { 120 if (selected_method->method_holder()->is_not_initialized()) {
121 // 'is_not_initialized' means not only '!is_initialized', but also that 121 // 'is_not_initialized' means not only '!is_initialized', but also that
362 result->print_on(tty); 362 result->print_on(tty);
363 } 363 }
364 return; 364 return;
365 } 365 }
366 } else if (iid == vmIntrinsics::_invokeGeneric 366 } else if (iid == vmIntrinsics::_invokeGeneric
367 && !THREAD->is_Compiler_thread() 367 && THREAD->can_call_java()
368 && appendix_result_or_null != NULL) { 368 && appendix_result_or_null != NULL) {
369 // This is a method with type-checking semantics. 369 // This is a method with type-checking semantics.
370 // We will ask Java code to spin an adapter method for it. 370 // We will ask Java code to spin an adapter method for it.
371 if (!MethodHandles::enabled()) { 371 if (!MethodHandles::enabled()) {
372 // Make sure the Java part of the runtime has been booted up. 372 // Make sure the Java part of the runtime has been booted up.