src/share/vm/runtime/thread.cpp

changeset 6240
9b4ce069642e
parent 5641
27ffd1c4537b
child 5674
b89a1a870965
child 5688
8e94527f601e
child 5701
40136aa2cdb1
     1.1 --- a/src/share/vm/runtime/thread.cpp	Fri Sep 06 09:55:38 2013 +0100
     1.2 +++ b/src/share/vm/runtime/thread.cpp	Sat Sep 14 20:40:34 2013 +0100
     1.3 @@ -3636,6 +3636,16 @@
     1.4    CompileBroker::compilation_init();
     1.5  #endif
     1.6  
     1.7 +  if (EnableInvokeDynamic) {
     1.8 +    // Pre-initialize some JSR292 core classes to avoid deadlock during class loading.
     1.9 +    // It is done after compilers are initialized, because otherwise compilations of
    1.10 +    // signature polymorphic MH intrinsics can be missed
    1.11 +    // (see SystemDictionary::find_method_handle_intrinsic).
    1.12 +    initialize_class(vmSymbols::java_lang_invoke_MethodHandle(), CHECK_0);
    1.13 +    initialize_class(vmSymbols::java_lang_invoke_MemberName(), CHECK_0);
    1.14 +    initialize_class(vmSymbols::java_lang_invoke_MethodHandleNatives(), CHECK_0);
    1.15 +  }
    1.16 +
    1.17  #if INCLUDE_MANAGEMENT
    1.18    Management::initialize(THREAD);
    1.19  #endif // INCLUDE_MANAGEMENT

mercurial