Hi all,
This adds some more debug prints to various internals.
When printing an `InstanceKlass`, the kind is now shown. For example:
InstanceKlass (kind=1): java.lang.Integer {0x00001ff00022c318}
The `InlineKlass::Members` are also printed. For example (note that to get
individual array entries `WizardMode` must be enabled):
- ---- inline type members:
- extended signature registers: Array<T>(0x00000001330002f8)
0 : SigEntry: type=18 offset=0 null_marker=0 Symbol: 'java/lang/Integer' count
65535
1 : SigEntry: type=10 offset=16 null_marker=0 Symbol: 'value' count 65535
2 : SigEntry: type=14 offset=24 null_marker=0 Symbol: 'java/lang/Integer' count
65535
- return registers: Array<T>(0x0000000133000348)
0 : (c_rarg0,c_rarg0)
1 : (c_rarg7,BAD!)
- pack handler: 0x0000000119b21238
- pack handler (jobject): 0x0000000119b21140
- unpack handler: 0x0000000119b21244
- null reset offset: 128
- payload offset: 16
- payload size (bytes): 8
- payload alignment: 8
- null-free non-atomic size (bytes): 4
- null-free non-atomic alignment: 4
- null-free atomic size (bytes): 4
- nullable atomic size (bytes): 8
- nullable non-atomic size (bytes): 5
- null marker offset: 20
Fields now indicate their field flags. Non-static fields indicate (a) when they
are flat and (b) their layout when flat. For example:
- ---- non-static fields (1 words):
- private final value flat 'inner' (fields 0x00000006) 'LAValue;' @12
LayoutKind: NULLABLE_NON_ATOMIC_FLAT
Arrays already have plenty of flattening information that can be printed.
Testing: tiers 1-3.
-------------
Commit messages:
- Better flat field printing.
- Print inline members.
Changes: https://git.openjdk.org/valhalla/pull/2208/files
Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2208&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8375051
Stats: 140 lines in 11 files changed: 91 ins; 26 del; 23 mod
Patch: https://git.openjdk.org/valhalla/pull/2208.diff
Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2208/head:pull/2208
PR: https://git.openjdk.org/valhalla/pull/2208