Umbrella task to look through the pahole report for libjvm.so and see which classes need a bit of field reorganization to optimize footprint. The bar should be: the class should be instantiated often enough to matter, and the projected savings should be >=8 bytes, which would provide enough saving on 64-bit platforms not to to be eaten with object alignment.
Some of this work was done before inJDK-8006280.
A good starting point would be going over the output of:
```
pahole -MP shipilev-jdk/build/linux-aarch64-server-release/images/jdk/lib/server/libjvm.so
```
...and then looking at concrete classes with
```
pahole -M shipilev-jdk/build/linux-aarch64-server-release/images/jdk/lib/server/libjvm.so
```
The actual work should be done in subtasks, since it would naturally be grouped by component/area/cause.
Some of this work was done before in
A good starting point would be going over the output of:
```
pahole -MP shipilev-jdk/build/linux-aarch64-server-release/images/jdk/lib/server/libjvm.so
```
...and then looking at concrete classes with
```
pahole -M shipilev-jdk/build/linux-aarch64-server-release/images/jdk/lib/server/libjvm.so
```
The actual work should be done in subtasks, since it would naturally be grouped by component/area/cause.
1.
|
Optimize C1 classes layout |
|
Resolved | Neethu Prasad | |
2.
|
Optimize C2 classes layout |
|
Resolved | Neethu Prasad | |
3.
|
Optimize Klass layout after JDK-8180450 |
|
Resolved | Xiaolong Peng | |
4.
|
Optimize InterpreterOopMap layout |
|
Resolved | Xiaolong Peng | |
5.
|
Optimize MethodData layout |
|
Resolved | Xiaolong Peng |