Skip to content

Commit 1c263a8

Browse files
committed
rebase and correct object header layout
1 parent 3a83dc4 commit 1c263a8

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/NativeImageDebugInfoProvider.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -510,13 +510,16 @@ private Stream<DebugTypeInfo> computeHeaderTypeInfo() {
510510
String hubTypeName = "java.lang.Class";
511511
int arrayLengthOffset = OBJECTLAYOUT.getArrayLengthOffset();
512512
int arrayLengthSize = OBJECTLAYOUT.sizeInBytes(JavaKind.Int);
513-
int arrayIdHashOffset = OBJECTLAYOUT.getArrayIdentityHashcodeOffset();
514-
int arrayIdHashSize = OBJECTLAYOUT.sizeInBytes(JavaKind.Int);
513+
int idHashOffset = OBJECTLAYOUT.getIdentityHashCodeOffset();
514+
int idHashSize = OBJECTLAYOUT.sizeInBytes(JavaKind.Int);
515515
int objHeaderSize = OBJECTLAYOUT.getFirstFieldOffset();
516516
// we need array headers for all Java kinds
517517

518518
NativeImageHeaderTypeInfo objHeader = new NativeImageHeaderTypeInfo("_objhdr", objHeaderSize, null);
519519
objHeader.addField("hub", hubTypeName, hubOffset, hubFieldSize);
520+
if (idHashOffset > 0) {
521+
objHeader.addField("idHash", "int", idHashOffset, idHashSize);
522+
}
520523
infos.add(objHeader);
521524

522525
// create a header for each
@@ -525,10 +528,10 @@ private Stream<DebugTypeInfo> computeHeaderTypeInfo() {
525528
int headerSize = OBJECTLAYOUT.getArrayBaseOffset(arrayKind);
526529
NativeImageHeaderTypeInfo arrHeader = new NativeImageHeaderTypeInfo(name, headerSize, arrayKind);
527530
arrHeader.addField("hub", hubTypeName, hubOffset, hubFieldSize);
528-
arrHeader.addField("len", "int", arrayLengthOffset, arrayLengthSize);
529-
if (arrayIdHashOffset > 0) {
530-
arrHeader.addField("idHash", "int", arrayIdHashOffset, arrayIdHashSize);
531+
if (idHashOffset > 0) {
532+
arrHeader.addField("idHash", "int", idHashOffset, idHashSize);
531533
}
534+
arrHeader.addField("len", "int", arrayLengthOffset, arrayLengthSize);
532535
infos.add(arrHeader);
533536
}
534537
return infos.stream();

0 commit comments

Comments
 (0)