diff src/share/vm/runtime/thread.cpp @ 23326:b364269cb6cf

revert to explicit exception handling due in scope of an EXCEPTION_MARK
author Doug Simon <doug.simon@oracle.com>
date Fri, 18 Mar 2016 10:50:29 +0100
parents c1935b089c01
children 24505bf61633
line wrap: on
line diff
--- a/src/share/vm/runtime/thread.cpp	Tue Mar 15 13:00:43 2016 +0300
+++ b/src/share/vm/runtime/thread.cpp	Fri Mar 18 10:50:29 2016 +0100
@@ -3654,7 +3654,10 @@
   // Note that we do not use CHECK_0 here since we are inside an EXCEPTION_MARK and
   // set_init_completed has just been called, causing exceptions not to be shortcut
   // anymore. We call vm_exit_during_initialization directly instead.
-  SystemDictionary::compute_java_system_loader(CHECK_(JNI_ERR));
+  SystemDictionary::compute_java_system_loader(THREAD);
+  if (HAS_PENDING_EXCEPTION) {
+    vm_exit_during_initialization(Handle(THREAD, PENDING_EXCEPTION));
+  }
 
 #if INCLUDE_ALL_GCS
   // Support for ConcurrentMarkSweep. This should be cleaned up