comparison src/share/vm/jvmci/jvmciRuntime.cpp @ 21617:ed013f4d38e5

don't destroy and clear JNI global for HotSpotJVMCIRuntime singleton object during shutdown as racing compiler threads may still access it
author Doug Simon <doug.simon@oracle.com>
date Mon, 01 Jun 2015 12:29:48 +0200
parents 4c146c9367b6
children ca3c6538bcec
comparison
equal deleted inserted replaced
21616:4c146c9367b6 21617:ed013f4d38e5
1057 Handle receiver = get_HotSpotJVMCIRuntime(); 1057 Handle receiver = get_HotSpotJVMCIRuntime();
1058 JavaValue result(T_VOID); 1058 JavaValue result(T_VOID);
1059 JavaCallArguments args; 1059 JavaCallArguments args;
1060 args.push_oop(receiver); 1060 args.push_oop(receiver);
1061 JavaCalls::call_special(&result, receiver->klass(), vmSymbols::shutdown_method_name(), vmSymbols::void_method_signature(), &args, CHECK_ABORT); 1061 JavaCalls::call_special(&result, receiver->klass(), vmSymbols::shutdown_method_name(), vmSymbols::void_method_signature(), &args, CHECK_ABORT);
1062
1063 JNIHandles::destroy_global(_HotSpotJVMCIRuntime_instance);
1064 _HotSpotJVMCIRuntime_instance = NULL;
1065 } 1062 }
1066 } 1063 }
1067 1064
1068 void JVMCIRuntime::call_printStackTrace(Handle exception, Thread* thread) { 1065 void JVMCIRuntime::call_printStackTrace(Handle exception, Thread* thread) {
1069 assert(exception->is_a(SystemDictionary::Throwable_klass()), "Throwable instance expected"); 1066 assert(exception->is_a(SystemDictionary::Throwable_klass()), "Throwable instance expected");