src/share/vm/runtime/thread.cpp

changeset 1550
4b966d9946a3
parent 1462
39b01ab7035a
child 1554
547f81740344
     1.1 --- a/src/share/vm/runtime/thread.cpp	Mon Nov 23 16:24:35 2009 -0500
     1.2 +++ b/src/share/vm/runtime/thread.cpp	Wed Nov 25 08:37:04 2009 -0800
     1.3 @@ -884,6 +884,22 @@
     1.4                                           vmSymbolHandles::void_method_signature(), CHECK);
     1.5  }
     1.6  
     1.7 +#ifdef KERNEL
     1.8 +static void set_jkernel_boot_classloader_hook(TRAPS) {
     1.9 +  klassOop k = SystemDictionary::sun_jkernel_DownloadManager_klass();
    1.10 +  instanceKlassHandle klass (THREAD, k);
    1.11 +
    1.12 +  if (k == NULL) {
    1.13 +    // sun.jkernel.DownloadManager may not present in the JDK; just return
    1.14 +    return;
    1.15 +  }
    1.16 +
    1.17 +  JavaValue result(T_VOID);
    1.18 +  JavaCalls::call_static(&result, klass, vmSymbolHandles::setBootClassLoaderHook_name(),
    1.19 +                                         vmSymbolHandles::void_method_signature(), CHECK);
    1.20 +}
    1.21 +#endif // KERNEL
    1.22 +
    1.23  static void reset_vm_info_property(TRAPS) {
    1.24    // the vm info string
    1.25    ResourceMark rm(THREAD);
    1.26 @@ -3102,6 +3118,12 @@
    1.27      vm_exit_during_initialization(Handle(THREAD, PENDING_EXCEPTION));
    1.28    }
    1.29  
    1.30 +#ifdef KERNEL
    1.31 +  if (JDK_Version::is_gte_jdk17x_version()) {
    1.32 +    set_jkernel_boot_classloader_hook(THREAD);
    1.33 +  }
    1.34 +#endif // KERNEL
    1.35 +
    1.36  #ifndef SERIALGC
    1.37    // Support for ConcurrentMarkSweep. This should be cleaned up
    1.38    // and better encapsulated. The ugly nested if test would go away

mercurial