# HG changeset patch # User Josef Eisl # Date 1462953208 -7200 # Node ID 2625b10989ee3440ff48e763c1794e1fd43ead64 # Parent 6ee2af86439565c4ecfd3231ae6718516282b535 8156034: update 02 diff -r 6ee2af864395 -r 2625b10989ee src/share/vm/jvmci/jvmciCompiler.cpp --- a/src/share/vm/jvmci/jvmciCompiler.cpp Wed May 11 09:50:37 2016 +0200 +++ b/src/share/vm/jvmci/jvmciCompiler.cpp Wed May 11 09:53:28 2016 +0200 @@ -37,7 +37,7 @@ JVMCICompiler::JVMCICompiler() : AbstractCompiler(jvmci) { #ifdef COMPILERJVMCI _bootstrapping = false; - _bootstrap_compilation_request_seen = false; + _bootstrap_compilation_request_handled = false; _methods_compiled = 0; #endif assert(_instance == NULL, "only one instance allowed"); @@ -60,7 +60,7 @@ } #ifdef COMPILERJVMCI -void JVMCICompiler::bootstrap() { +void JVMCICompiler::bootstrap(TRAPS) { if (Arguments::mode() == Arguments::_int) { // Nothing to do in -Xint mode return; @@ -71,7 +71,6 @@ FlagSetting ctwOff(CompileTheWorld, false); #endif - JavaThread* THREAD = JavaThread::current(); _bootstrapping = true; // Allow bootstrap to perform JVMCI compilations of itself ResourceMark rm; @@ -101,7 +100,7 @@ do { os::sleep(THREAD, 100, true); qsize = CompileBroker::queue_size(CompLevel_full_optimization); - } while (!_bootstrap_compilation_request_seen && first_round && qsize == 0); + } while (!_bootstrap_compilation_request_handled && first_round && qsize == 0); first_round = false; if (PrintBootstrap) { while (z < (_methods_compiled / 100)) { @@ -115,7 +114,7 @@ tty->print_cr(" in " JLONG_FORMAT " ms (compiled %d methods)", os::javaTimeMillis() - start, _methods_compiled); } _bootstrapping = false; - JVMCIRuntime::bootstrap_finished(THREAD); + JVMCIRuntime::bootstrap_finished(CHECK); } void JVMCICompiler::compile_method(const methodHandle& method, int entry_bci, JVMCIEnv* env) { @@ -182,7 +181,7 @@ } } if (_bootstrapping) { - _bootstrap_compilation_request_seen = true; + _bootstrap_compilation_request_handled = true; } } diff -r 6ee2af864395 -r 2625b10989ee src/share/vm/jvmci/jvmciCompiler.hpp --- a/src/share/vm/jvmci/jvmciCompiler.hpp Wed May 11 09:50:37 2016 +0200 +++ b/src/share/vm/jvmci/jvmciCompiler.hpp Wed May 11 09:53:28 2016 +0200 @@ -37,7 +37,7 @@ /** * True if we have seen a bootstrap compilation request. */ - volatile bool _bootstrap_compilation_request_seen; + volatile bool _bootstrap_compilation_request_handled; /** * Number of methods successfully compiled by a call to @@ -77,7 +77,7 @@ * Initialize the compile queue with the methods in java.lang.Object and * then wait until the queue is empty. */ - void bootstrap(); + void bootstrap(TRAPS); bool is_bootstrapping() const { return _bootstrapping; } diff -r 6ee2af864395 -r 2625b10989ee src/share/vm/prims/jni.cpp --- a/src/share/vm/prims/jni.cpp Wed May 11 09:50:37 2016 +0200 +++ b/src/share/vm/prims/jni.cpp Wed May 11 09:53:28 2016 +0200 @@ -5209,7 +5209,7 @@ if (BootstrapJVMCI) { JavaThread* THREAD = thread; JVMCICompiler* compiler = JVMCICompiler::instance(CATCH); - compiler->bootstrap(); + compiler->bootstrap(THREAD); if (HAS_PENDING_EXCEPTION) { HandleMark hm; vm_exit_during_initialization(Handle(THREAD, PENDING_EXCEPTION));