-
Sub-task
-
Resolution: Fixed
-
P4
-
None
-
b05
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8340645 | 23.0.2 | Aleksey Shipilev | P4 | Resolved | Fixed | b01 |
pahole reports InterpreterOopMap can be optimized by re-arranging the fields:
```
class InterpreterOopMap : ResourceObj {
/* class ResourceObj <ancestor>; */ /* 0 0 */
/* XXX last struct has 1 byte of padding */
class Method * _method; /* 0 8 */
short unsigned int _bci; /* 8 2 */
/* XXX 2 bytes hole, try to pack */
int _mask_size; /* 12 4 */
int _expression_stack_size; /* 16 4 */
/* XXX 4 bytes hole, try to pack */
protected:
intptr_t _bit_mask[4]; /* 24 32 */
int _num_oops; /* 56 4 */
public:
/* size: 64, cachelines: 1, members: 7 */
/* sum members: 54, holes: 2, sum holes: 6 */
/* padding: 4 */
/* paddings: 1, sum paddings: 1 */
};
```
```
class InterpreterOopMap : ResourceObj {
/* class ResourceObj <ancestor>; */ /* 0 0 */
/* XXX last struct has 1 byte of padding */
class Method * _method; /* 0 8 */
short unsigned int _bci; /* 8 2 */
/* XXX 2 bytes hole, try to pack */
int _mask_size; /* 12 4 */
int _expression_stack_size; /* 16 4 */
/* XXX 4 bytes hole, try to pack */
protected:
intptr_t _bit_mask[4]; /* 24 32 */
int _num_oops; /* 56 4 */
public:
/* size: 64, cachelines: 1, members: 7 */
/* sum members: 54, holes: 2, sum holes: 6 */
/* padding: 4 */
/* paddings: 1, sum paddings: 1 */
};
```
- backported by
-
JDK-8340645 Optimize InterpreterOopMap layout
-
- Resolved
-
- links to
-
Commit openjdk/jdk/fac74b11
-
Commit(master) openjdk/jdk23u/73313ef1
-
Review openjdk/jdk/19979
-
Review(master) openjdk/jdk23u/81