-
Enhancement
-
Resolution: Fixed
-
P4
-
17, 20, 21
-
b03
In ClassFileParser, if the super class to be loaded is java.lang.Object with a null class loader, we can assign the InstanceKlass rather than going into resolve_super_or_fail.
This elides taking a lock and adding a short-lived placeholder entry for j.l.Object. Lots of threads load j.l.Object for lambda classes in parallel. I noticed this when debuggingJDK-8298061.
We tried a similar optimization but it needs to only do this if the class loader is the null class loader, otherwise we wouldn't add the entry in other class loaders as initiating loaders for java.lang.Object.
This elides taking a lock and adding a short-lived placeholder entry for j.l.Object. Lots of threads load j.l.Object for lambda classes in parallel. I noticed this when debugging
We tried a similar optimization but it needs to only do this if the class loader is the null class loader, otherwise we wouldn't add the entry in other class loaders as initiating loaders for java.lang.Object.
- relates to
-
JDK-8242300 SystemDictionary::resolve_super_or_fail() should look for the super class first
-
- Resolved
-