EVALUATION
The last change for 6295591 moved the point at which the biasable "prototype header" is placed into each new instanceKlass. Previously it had been installed in the ClassFileParser. In order to support delaying of the onset of biased locking, this code was moved to the point at which classes are installed into the SystemDictionary, past the last potential blocking point.
The root cause of this regression is an unintended semantic change due to this code motion; the biased header is being installed not only when the class is defined, but also when it is referenced from other initiating loaders. The code needs to be adjusted to only take effect for the defining loader of the class. The performance team has verified that this fixes the regression.
|