# HG changeset patch # User Thomas Wuerthinger # Date 1289679088 -3600 # Node ID 1845386f54031368876924b651bfce368865ad0b # Parent 944071972cd995eab07f213cb883e63d82cdef43 Full GC after bootstrap. Disable IRChecker by default. Disable compiled method logging by default. diff -r 944071972cd9 -r 1845386f5403 c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExitsNative.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExitsNative.java Sat Nov 13 19:58:27 2010 +0100 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExitsNative.java Sat Nov 13 21:11:28 2010 +0100 @@ -37,6 +37,7 @@ */ public class VMExitsNative implements VMExits { + public static final boolean LogCompiledMethods = false; public static boolean compileMethods = true; /** @@ -47,6 +48,7 @@ C1XOptions.OptInlineExcept = false; C1XOptions.OptInlineSynchronized = false; C1XOptions.UseDeopt = false; + C1XOptions.IRChecking = false; } @Override @@ -126,8 +128,10 @@ Compiler compiler = Compiler.getInstance(); HotSpotMethodResolved riMethod = new HotSpotMethodResolved(methodVmId, name); CiResult result = compiler.getCompiler().compileMethod(riMethod, -1, null); - String qualifiedName = CiUtil.toJavaName(riMethod.holder()) + "::" + riMethod.name(); - compiledMethods.add(qualifiedName); + if (LogCompiledMethods) { + String qualifiedName = CiUtil.toJavaName(riMethod.holder()) + "::" + riMethod.name(); + compiledMethods.add(qualifiedName); + } if (result.bailout() != null) { StringWriter out = new StringWriter(); diff -r 944071972cd9 -r 1845386f5403 src/share/vm/c1x/c1x_CodeInstaller.cpp --- a/src/share/vm/c1x/c1x_CodeInstaller.cpp Sat Nov 13 19:58:27 2010 +0100 +++ b/src/share/vm/c1x/c1x_CodeInstaller.cpp Sat Nov 13 21:11:28 2010 +0100 @@ -131,6 +131,7 @@ ShouldNotReachHere(); } else { value->klass()->print(); + value->print(); ShouldNotReachHere(); } } diff -r 944071972cd9 -r 1845386f5403 src/share/vm/compiler/compileBroker.cpp --- a/src/share/vm/compiler/compileBroker.cpp Sat Nov 13 19:58:27 2010 +0100 +++ b/src/share/vm/compiler/compileBroker.cpp Sat Nov 13 21:11:28 2010 +0100 @@ -540,6 +540,7 @@ // Bootstrap the C1X compiler. Compiles all methods until compile queue is empty and no compilation is active. void CompileBroker::bootstrap_c1x() { + HandleMark hm; Thread* THREAD = Thread::current(); tty->print_cr("Bootstrapping C1X..."); @@ -547,16 +548,15 @@ if (compiler == NULL) fatal("must use flag -XX:+UseC1X"); jlong start = os::javaTimeMillis(); - { - HandleMark hm; - instanceKlass* klass = (instanceKlass*)SystemDictionary::Object_klass()->klass_part(); - methodOop method = klass->find_method(vmSymbols::object_initializer_name(), vmSymbols::void_method_signature()); - CompileBroker::compile_method(method, -1, method, 0, "initial compile of object initializer", THREAD); - if (HAS_PENDING_EXCEPTION) { - CLEAR_PENDING_EXCEPTION; - fatal("error inserting object initializer into compile queue"); - } + + instanceKlass* klass = (instanceKlass*)SystemDictionary::Object_klass()->klass_part(); + methodOop method = klass->find_method(vmSymbols::object_initializer_name(), vmSymbols::void_method_signature()); + CompileBroker::compile_method(method, -1, method, 0, "initial compile of object initializer", THREAD); + if (HAS_PENDING_EXCEPTION) { + CLEAR_PENDING_EXCEPTION; + fatal("error inserting object initializer into compile queue"); } + int z = 0; while (true) { { @@ -595,6 +595,10 @@ } ++z; } + + // Do a full garbage collection. + Universe::heap()->collect(GCCause::_java_lang_system_gc); + jlong diff = os::javaTimeMillis() - start; tty->print_cr("Finished bootstrap in %d ms", diff); if (CITime) CompileBroker::print_times();