--- a/hotspot/src/share/vm/oops/instanceKlass.cpp Fri Nov 09 08:36:17 2012 -0800
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp Mon Nov 12 14:03:53 2012 -0800
@@ -1052,6 +1052,13 @@
}
void InstanceKlass::call_class_initializer_impl(instanceKlassHandle this_oop, TRAPS) {
+ if (ReplayCompiles &&
+ (ReplaySuppressInitializers == 1 ||
+ ReplaySuppressInitializers >= 2 && this_oop->class_loader() != NULL)) {
+ // Hide the existence of the initializer for the purpose of replaying the compile
+ return;
+ }
+
methodHandle h_method(THREAD, this_oop->class_initializer());
assert(!this_oop->is_initialized(), "we cannot initialize twice");
if (TraceClassInitialization) {