Details
-
Enhancement
-
Resolution: Fixed
-
P4
-
None
-
b19
Description
When linking classes, significant time is spent in klassVtable::initialize_vtable, which calls into Klass::vtable, vtable_start_offset etc. These accessors compile down to what is essentially a few instructions, so moving them to klass.inline.hpp an effective optimization: more or less footprint neutral, and removing calls in numerous places. Other oft-used accessors like Klass::class_loader are also beneficial to inline.
In one startup test, this reduces instructions retired in initialize_vtable from 88M to 66M alone, while also improving many other call sites to the tune of about a 1% net reduction in instructions retired overall.
In one startup test, this reduces instructions retired in initialize_vtable from 88M to 66M alone, while also improving many other call sites to the tune of about a 1% net reduction in instructions retired overall.
Attachments
Issue Links
- relates to
-
JDK-8232151 Minimal VM build broken after JDK-8232050
-
- Resolved
-
-
JDK-8232150 aarch64 build broken after JDK-8232050
-
- Resolved
-
-
JDK-8233599 ARM32 Build failed due to 8232050 missing an include
-
- Resolved
-