diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/NativeImageDebugInfoProvider.java b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/NativeImageDebugInfoProvider.java index 58b921752dba..f91bd5a94d11 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/NativeImageDebugInfoProvider.java +++ b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/NativeImageDebugInfoProvider.java @@ -430,22 +430,12 @@ private Stream computeHeaderTypeInfo() { List infos = new LinkedList<>(); int hubOffset = ol.getHubOffset(); - int hubFieldSize = referenceSize; - int objHeaderSize = hubOffset + hubFieldSize; - int idHashSize = ol.sizeInBytes(JavaKind.Int); - int fixedIdHashOffset = -1; + NativeImageHeaderTypeInfo objHeader = new NativeImageHeaderTypeInfo("_objhdr", ol.getFirstFieldOffset()); + objHeader.addField("hub", hubType, hubOffset, referenceSize); if (ol.isIdentityHashFieldInObjectHeader()) { - fixedIdHashOffset = ol.getObjectHeaderIdentityHashOffset(); - objHeaderSize = Math.max(objHeaderSize, fixedIdHashOffset + idHashSize); - } - - /* We need array headers for all Java kinds */ - - NativeImageHeaderTypeInfo objHeader = new NativeImageHeaderTypeInfo("_objhdr", objHeaderSize); - objHeader.addField("hub", hubType, hubOffset, hubFieldSize); - if (fixedIdHashOffset >= 0) { - objHeader.addField("idHash", javaKindToHostedType.get(JavaKind.Int), fixedIdHashOffset, idHashSize); + int idHashSize = ol.sizeInBytes(JavaKind.Int); + objHeader.addField("idHash", javaKindToHostedType.get(JavaKind.Int), ol.getObjectHeaderIdentityHashOffset(), idHashSize); } infos.add(objHeader);