src/share/vm/runtime/thread.cpp

changeset 5641
27ffd1c4537b
parent 5585
f92b82d454fa
parent 5631
74608df95ba3
child 5674
b89a1a870965
child 5688
8e94527f601e
child 5701
40136aa2cdb1
     1.1 --- a/src/share/vm/runtime/thread.cpp	Fri Aug 30 00:29:52 2013 -0700
     1.2 +++ b/src/share/vm/runtime/thread.cpp	Mon Sep 02 13:13:45 2013 +0200
     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