comparison src/share/vm/interpreter/linkResolver.cpp @ 2359:d2134498fd3f

7011865: JSR 292 CTW fails: !THREAD->is_Compiler_thread() failed: Can not load classes with the Compiler thre Reviewed-by: kvn, never
author jrose
date Thu, 17 Mar 2011 18:29:18 -0700
parents 8033953d67ff
children 38fea01eb669
comparison
equal deleted inserted replaced
2358:82de9bd880e3 2359:d2134498fd3f
215 KlassHandle current_klass, 215 KlassHandle current_klass,
216 TRAPS) { 216 TRAPS) {
217 if (EnableMethodHandles && 217 if (EnableMethodHandles &&
218 klass() == SystemDictionary::MethodHandle_klass() && 218 klass() == SystemDictionary::MethodHandle_klass() &&
219 methodOopDesc::is_method_handle_invoke_name(name)) { 219 methodOopDesc::is_method_handle_invoke_name(name)) {
220 if (!MethodHandles::enabled()) { 220 if (!THREAD->is_Compiler_thread() && !MethodHandles::enabled()) {
221 // Make sure the Java part of the runtime has been booted up. 221 // Make sure the Java part of the runtime has been booted up.
222 klassOop natives = SystemDictionary::MethodHandleNatives_klass(); 222 klassOop natives = SystemDictionary::MethodHandleNatives_klass();
223 if (natives == NULL || instanceKlass::cast(natives)->is_not_initialized()) { 223 if (natives == NULL || instanceKlass::cast(natives)->is_not_initialized()) {
224 Symbol* natives_name = vmSymbols::java_lang_invoke_MethodHandleNatives(); 224 Symbol* natives_name = vmSymbols::java_lang_invoke_MethodHandleNatives();
225 if (natives != NULL && AllowTransitionalJSR292) natives_name = Klass::cast(natives)->name(); 225 if (natives != NULL && AllowTransitionalJSR292) natives_name = Klass::cast(natives)->name();