RFR: 8214712: Archive Attributes$Name.KNOWN_NAMES

Claes Redestad claes.redestad at oracle.com
Mon Dec 3 16:02:53 UTC 2018


initializing java.util.jar.Attributes.Name.<clinit> executes ~20k 
bytecodes setting up and eagerly calculating case-insensitive hash codes 
for a slew of Name objects.

By archiving the resulting set of Names and initializing public 
constants from the archived map, we reduce time spent starting up 
(Name.<clinit> drops to 368 executed bytecodes) and improve the 
footprint sharing effect of using CDS:


Testing: tier1-2 running

Verified a 1-2.5ms startup improvement on java -jar Hello.jar
- significant and stable reduction in instruction count, branches and 
branch misses
- only adds ~1.1Kb to the dumped CDS archive



More information about the core-libs-dev mailing list