# HG changeset patch # User Lukas Stadler # Date 1368720895 -7200 # Node ID 2dc020b33a6e2f6b2052247dd382f1f066b70032 # Parent 0dd573144b5b166e251bb371c74de394b4557acc set bootstrapRunning flag earlier (in VMToCompiler.startCompiler) diff -r 0dd573144b5b -r 2dc020b33a6e graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompiler.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompiler.java Thu May 16 18:12:06 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompiler.java Thu May 16 18:14:55 2013 +0200 @@ -53,7 +53,7 @@ void shutdownCompiler() throws Throwable; - void startCompiler() throws Throwable; + void startCompiler(boolean bootstrapEnabled) throws Throwable; void bootstrap() throws Throwable; diff -r 0dd573144b5b -r 2dc020b33a6e graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java Thu May 16 18:12:06 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java Thu May 16 18:14:55 2013 +0200 @@ -101,7 +101,9 @@ assert unsafe.getObject(mirror, offset) == type; } - public void startCompiler() throws Throwable { + public void startCompiler(boolean bootstrapEnabled) throws Throwable { + + bootstrapRunning = bootstrapEnabled; HotSpotVMConfig config = graalRuntime.getConfig(); long offset = config.graalMirrorInClassOffset; @@ -339,7 +341,6 @@ TTY.flush(); long startTime = System.currentTimeMillis(); - bootstrapRunning = true; boolean firstRun = true; do { // Initialize compile queue with a selected set of methods. diff -r 0dd573144b5b -r 2dc020b33a6e src/share/vm/graal/graalCompiler.cpp --- a/src/share/vm/graal/graalCompiler.cpp Thu May 16 18:12:06 2013 +0200 +++ b/src/share/vm/graal/graalCompiler.cpp Thu May 16 18:14:55 2013 +0200 @@ -95,7 +95,7 @@ } } if (UseCompiler) { - VMToCompiler::startCompiler(); + VMToCompiler::startCompiler(BootstrapGraal); _initialized = true; if (BootstrapGraal) { // We turn off CompileTheWorld and complete the VM startup so that diff -r 0dd573144b5b -r 2dc020b33a6e src/share/vm/graal/graalVMToCompiler.cpp --- a/src/share/vm/graal/graalVMToCompiler.cpp Thu May 16 18:12:06 2013 +0200 +++ b/src/share/vm/graal/graalVMToCompiler.cpp Thu May 16 18:14:55 2013 +0200 @@ -123,12 +123,13 @@ } } -void VMToCompiler::startCompiler() { +void VMToCompiler::startCompiler(jboolean bootstrap_enabled) { JavaThread* THREAD = JavaThread::current(); JavaValue result(T_VOID); JavaCallArguments args; args.push_oop(instance()); - JavaCalls::call_interface(&result, vmToCompilerKlass(), vmSymbols::startCompiler_name(), vmSymbols::void_method_signature(), &args, THREAD); + args.push_int(bootstrap_enabled); + JavaCalls::call_interface(&result, vmToCompilerKlass(), vmSymbols::startCompiler_name(), vmSymbols::bool_void_signature(), &args, THREAD); check_pending_exception("Error while calling startCompiler"); } diff -r 0dd573144b5b -r 2dc020b33a6e src/share/vm/graal/graalVMToCompiler.hpp --- a/src/share/vm/graal/graalVMToCompiler.hpp Thu May 16 18:12:06 2013 +0200 +++ b/src/share/vm/graal/graalVMToCompiler.hpp Thu May 16 18:14:55 2013 +0200 @@ -59,8 +59,8 @@ // public abstract void shutdownCompiler(); static void shutdownCompiler(); - // public abstract void startCompiler(); - static void startCompiler(); + // public abstract void startCompiler(boolean bootstrapEnabled); + static void startCompiler(jboolean bootstrap_enabled); // public abstract void bootstrap(); static void bootstrap();