@@ -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