Mercurial > hg > truffle
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. |