changeset 23385:6ee2af864395

8156034: update 01
author Josef Eisl <josef.eisl@jku.at>
date Wed, 11 May 2016 09:50:37 +0200
parents f102ee538647
children 2625b10989ee
files src/share/vm/jvmci/jvmciCompiler.cpp src/share/vm/jvmci/jvmciCompiler.hpp src/share/vm/jvmci/jvmciRuntime.cpp src/share/vm/jvmci/jvmciRuntime.hpp src/share/vm/prims/jni.cpp
diffstat 5 files changed, 9 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/jvmci/jvmciCompiler.cpp	Tue May 10 14:55:40 2016 +0200
+++ b/src/share/vm/jvmci/jvmciCompiler.cpp	Wed May 11 09:50:37 2016 +0200
@@ -37,7 +37,7 @@
 JVMCICompiler::JVMCICompiler() : AbstractCompiler(jvmci) {
 #ifdef COMPILERJVMCI
   _bootstrapping = false;
-  _bootstrap_compilation_request_seen =  false;
+  _bootstrap_compilation_request_seen = false;
   _methods_compiled = 0;
 #endif
   assert(_instance == NULL, "only one instance allowed");
@@ -115,7 +115,7 @@
     tty->print_cr(" in " JLONG_FORMAT " ms (compiled %d methods)", os::javaTimeMillis() - start, _methods_compiled);
   }
   _bootstrapping = false;
-  JVMCIRuntime::bootstrapFinished();
+  JVMCIRuntime::bootstrap_finished(THREAD);
 }
 
 void JVMCICompiler::compile_method(const methodHandle& method, int entry_bci, JVMCIEnv* env) {
--- a/src/share/vm/jvmci/jvmciCompiler.hpp	Tue May 10 14:55:40 2016 +0200
+++ b/src/share/vm/jvmci/jvmciCompiler.hpp	Wed May 11 09:50:37 2016 +0200
@@ -35,7 +35,7 @@
   bool _bootstrapping;
 
   /**
-   * True if we have seen the a bootstrap compilation request.
+   * True if we have seen a bootstrap compilation request.
    */
   volatile bool _bootstrap_compilation_request_seen;
 
--- a/src/share/vm/jvmci/jvmciRuntime.cpp	Tue May 10 14:55:40 2016 +0200
+++ b/src/share/vm/jvmci/jvmciRuntime.cpp	Wed May 11 09:50:37 2016 +0200
@@ -919,9 +919,8 @@
   }
 }
 
-void JVMCIRuntime::bootstrapFinished() {
+void JVMCIRuntime::bootstrap_finished(TRAPS) {
   if (_HotSpotJVMCIRuntime_instance != NULL) {
-    JavaThread* THREAD = JavaThread::current();
     HandleMark hm(THREAD);
     Handle receiver = get_HotSpotJVMCIRuntime(CHECK_ABORT);
     JavaValue result(T_VOID);
--- a/src/share/vm/jvmci/jvmciRuntime.hpp	Tue May 10 14:55:40 2016 +0200
+++ b/src/share/vm/jvmci/jvmciRuntime.hpp	Wed May 11 09:50:37 2016 +0200
@@ -143,7 +143,7 @@
 
   static void shutdown();
 
-  static void bootstrapFinished();
+  static void bootstrap_finished(TRAPS);
 
   static bool shutdown_called() {
     return _shutdown_called;
--- a/src/share/vm/prims/jni.cpp	Tue May 10 14:55:40 2016 +0200
+++ b/src/share/vm/prims/jni.cpp	Wed May 11 09:50:37 2016 +0200
@@ -5210,6 +5210,10 @@
       JavaThread* THREAD = thread;
       JVMCICompiler* compiler = JVMCICompiler::instance(CATCH);
       compiler->bootstrap();
+      if (HAS_PENDING_EXCEPTION) {
+        HandleMark hm;
+        vm_exit_during_initialization(Handle(THREAD, PENDING_EXCEPTION));
+      }
     }
 #endif