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.
- relates to
- 
                    JDK-8369831 Optimize ObjectWaiter layout -           
- Open
 
-         
| 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 |