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

Reply via email to