Mercurial > hg > graal-compiler
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"); |