--- old/./src/share/vm/classfile/classFileParser.cpp 2013-03-21 22:01:50.362113254 -0700 +++ new/./src/share/vm/classfile/classFileParser.cpp 2013-03-21 22:01:50.155102991 -0700 @@ -4091,10 +4091,11 @@ // Allocate mirror and initialize static fields java_lang_Class::create_mirror(this_klass, CHECK_(nullHandle)); - // Allocate a simple java object for locking during class initialization. + // Allocate a simple java object for (a) locking during class initialization; + // (b) locking of the class's constant pool. // This needs to be a java object because it can be held across a java call. typeArrayOop r = oopFactory::new_typeArray(T_INT, 0, CHECK_NULL); - this_klass->set_init_lock(r); + this_klass->set_per_class_lock(r); // TODO: Move these oops to the mirror this_klass->set_protection_domain(protection_domain());