Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
1) Create a set of microbenchmarks covering every elementary JVM operation that uses Object Header. Examples of such operations: virtual method invocation (including cache inline), instanceof, type cast, identity hash code, array store check, synchronization, etc. 2) Extend the Object Headers Microbenchmark Set for "in-progress" projects. For example, Project Valhalla adds object header checks for acmp/aastore/aaload operations. Having such a set of microbenchmarks, it would be possible to make performance evaluation, performance analysis, and performance regression tracking for every change/extension in the object header area. For example, it's known that Compact Object Headers cause -20% performance overhead for virtual method invocation. The goal is to get a comprehensive picture of Compact Object Headers (Vallhalla, and other projects) performance impact. Ideally, every object header access should be covered by the Object Headers Microbenchmark Set except GC. It's not a goal to cover GC operations.