public final class extends com.oracle.svm.core.heap.ObjectHeader
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.core.genscavenge.ObjectHeaderImpl
super_class: com.oracle.svm.core.heap.ObjectHeader
{
private static final org.graalvm.word.UnsignedWord ;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.word.UnsignedWord ;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.word.UnsignedWord ;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final org.graalvm.word.UnsignedWord ;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.word.UnsignedWord ;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean ;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void ();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
3: iconst_1
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
putstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.UNALIGNED_BIT:Lorg/graalvm/word/UnsignedWord;
4: iconst_2
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
putstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.REMEMBERED_SET_BIT:Lorg/graalvm/word/UnsignedWord;
5: iconst_4
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
putstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.FORWARDED_BIT:Lorg/graalvm/word/UnsignedWord;
6: bipush 7
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
putstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.MASK_HEADER_BITS:Lorg/graalvm/word/UnsignedWord;
7: getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.MASK_HEADER_BITS:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.not:()Lorg/graalvm/word/UnsignedWord;
putstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.CLEAR_HEADER_BITS:Lorg/graalvm/word/UnsignedWord;
return
LocalVariableTable:
Start End Slot Name Signature
void ();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.svm.core.heap.ObjectHeader.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})
public static com.oracle.svm.core.genscavenge.ObjectHeaderImpl ();
descriptor: ()Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getObjectHeaderImpl:()Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
astore 0
start local 0 1: getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 2
aload 0
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.svm.core.genscavenge.ObjectHeaderImpl
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 oh Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
public int ();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 1
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.MASK_HEADER_BITS:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
ldc 7
lcmp
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 2
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.CLEAR_HEADER_BITS:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
ldc -8
lcmp
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
bipush 7
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
public static org.graalvm.word.UnsignedWord (org.graalvm.word.Pointer);
descriptor: (Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getReferenceSize:()I
iconst_4
if_icmpne 2
1: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHubOffset:()I
invokeinterface org.graalvm.word.Pointer.readInt:(I)I
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHubOffset:()I
invokeinterface org.graalvm.word.Pointer.readWord:(I)Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 objectPointer Lorg/graalvm/word/Pointer;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
objectPointer
public static org.graalvm.word.UnsignedWord (org.graalvm.word.Pointer);
descriptor: (Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface org.graalvm.word.Pointer.isNull:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ldc "ObjectHeader.readHeaderFromPointerCarefully: p: null"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
3: invokestatic com.oracle.svm.core.heap.ReferenceAccess.singleton:()Lcom/oracle/svm/core/heap/ReferenceAccess;
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.haveCompressedReferences:()Z
ifne 6
4: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getProducedHeapChunkZapWord:()Lorg/graalvm/compiler/word/Word;
invokeinterface org.graalvm.word.Pointer.notEqual:(Lorg/graalvm/word/UnsignedWord;)Z
ldc "ObjectHeader.readHeaderFromPointerCarefully: p: producedZapValue"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
5: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getConsumedHeapChunkZapWord:()Lorg/graalvm/compiler/word/Word;
invokeinterface org.graalvm.word.Pointer.notEqual:(Lorg/graalvm/word/UnsignedWord;)Z
ldc "ObjectHeader.readHeaderFromPointerCarefully: p: consumedZapValue"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
6: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromPointer:(Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 7: aload 1
invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
invokeinterface org.graalvm.word.UnsignedWord.notEqual:(Lorg/graalvm/word/UnsignedWord;)Z
ldc "ObjectHeader.readHeaderFromPointerCarefully: header: 0"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
8: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isProducedHeapChunkZapped:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 9
iconst_0
goto 10
StackMap locals: org.graalvm.word.UnsignedWord
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: ldc "ObjectHeader.readHeaderFromPointerCarefully: header: producedZapValue"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
11: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isConsumedHeapChunkZapped:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 12
iconst_0
goto 13
StackMap locals:
StackMap stack:
12: iconst_1
StackMap locals:
StackMap stack: int
13: ldc "ObjectHeader.readHeaderFromPointerCarefully: header: consumedZapValue"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
14: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 p Lorg/graalvm/word/Pointer;
7 15 1 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
p
public static org.graalvm.word.UnsignedWord (java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getReferenceSize:()I
iconst_4
if_icmpne 2
1: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHubOffset:()I
invokestatic org.graalvm.compiler.word.ObjectAccess.readInt:(Ljava/lang/Object;I)I
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHubOffset:()I
invokestatic org.graalvm.compiler.word.ObjectAccess.readWord:(Ljava/lang/Object;I)Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 o Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
o
public static org.graalvm.word.UnsignedWord (java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "ObjectHeader.readHeaderFromObjectCarefully: o: null"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
3: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromObject:(Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 4: aload 1
invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
invokeinterface org.graalvm.word.UnsignedWord.notEqual:(Lorg/graalvm/word/UnsignedWord;)Z
ldc "ObjectHeader.readHeaderFromObjectCarefully: header: 0"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
5: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isProducedHeapChunkZapped:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 6
iconst_0
goto 7
StackMap locals: org.graalvm.word.UnsignedWord
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: ldc "ObjectHeader.readHeaderFromObjectCarefully: header: producedZapValue"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
8: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isConsumedHeapChunkZapped:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 9
iconst_0
goto 10
StackMap locals:
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: ldc "ObjectHeader.readHeaderFromObjectCarefully: header: consumedZapValue"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
11: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 o Ljava/lang/Object;
4 12 1 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
o
public com.oracle.svm.core.hub.DynamicHub (org.graalvm.word.Pointer);
descriptor: (Lorg/graalvm/word/Pointer;)Lcom/oracle/svm/core/hub/DynamicHub;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromPointer:(Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.oracle.svm.core.genscavenge.ObjectHeaderImpl.dynamicHubFromObjectHeader:(Lorg/graalvm/word/UnsignedWord;)Lcom/oracle/svm/core/hub/DynamicHub;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
0 2 1 ptr Lorg/graalvm/word/Pointer;
1 2 2 header Lorg/graalvm/word/UnsignedWord;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
ptr
public static com.oracle.svm.core.hub.DynamicHub (java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/svm/core/hub/DynamicHub;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromObjectCarefully:(Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
pop
1: aload 0
invokestatic com.oracle.svm.core.snippets.KnownIntrinsics.readHub:(Ljava/lang/Object;)Lcom/oracle/svm/core/hub/DynamicHub;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public com.oracle.svm.core.hub.DynamicHub (org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Lcom/oracle/svm/core/hub/DynamicHub;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.clearBits:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
astore 2
start local 2 1: invokestatic com.oracle.svm.core.heap.ReferenceAccess.singleton:()Lcom/oracle/svm/core/heap/ReferenceAccess;
astore 4
start local 4 2: aload 4
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.haveCompressedReferences:()Z
ifeq 6
3: aload 2
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getCompressionShift:()I
invokeinterface org.graalvm.word.UnsignedWord.unsignedShiftRight:(I)Lorg/graalvm/word/UnsignedWord;
astore 5
start local 5 4: aload 4
aload 5
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.uncompressReference:(Lorg/graalvm/word/UnsignedWord;)Ljava/lang/Object;
astore 3
end local 5 start local 3 5: goto 7
end local 3 6: StackMap locals: com.oracle.svm.core.genscavenge.ObjectHeaderImpl org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord top com.oracle.svm.core.heap.ReferenceAccess
StackMap stack:
aload 2
checkcast org.graalvm.word.Pointer
invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
astore 3
start local 3 7: StackMap locals: com.oracle.svm.core.genscavenge.ObjectHeaderImpl org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord java.lang.Object com.oracle.svm.core.heap.ReferenceAccess
StackMap stack:
aload 3
ldc Lcom/oracle/svm/core/hub/DynamicHub;
invokestatic com.oracle.svm.core.snippets.KnownIntrinsics.convertUnknownValue:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.core.hub.DynamicHub
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
0 8 1 header Lorg/graalvm/word/UnsignedWord;
1 8 2 pointerBits Lorg/graalvm/word/UnsignedWord;
5 6 3 objectValue Ljava/lang/Object;
7 8 3 objectValue Ljava/lang/Object;
2 8 4 referenceAccess Lcom/oracle/svm/core/heap/ReferenceAccess;
4 5 5 compressedBits Lorg/graalvm/word/UnsignedWord;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
header
public org.graalvm.compiler.word.Word (com.oracle.svm.core.hub.DynamicHub);
descriptor: (Lcom/oracle/svm/core/hub/DynamicHub;)Lorg/graalvm/compiler/word/Word;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
iconst_0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.encodeAsObjectHeader:(Lcom/oracle/svm/core/hub/DynamicHub;ZZ)Lorg/graalvm/compiler/word/Word;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
0 1 1 hub Lcom/oracle/svm/core/hub/DynamicHub;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
hub
public void (org.graalvm.word.Pointer, org.graalvm.compiler.word.Word);
descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/compiler/word/Word;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getReferenceSize:()I
iconst_4
if_icmpne 7
1: invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getIdentityHashCodeOffset:()I
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHubOffset:()I
iconst_4
iadd
if_icmpne 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "assumed layout to optimize initializing write"
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.dynamicAssert:(ZLjava/lang/String;)V
4: aload 2
ldc -4294967296
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
checkcast org.graalvm.compiler.word.Word
invokevirtual org.graalvm.compiler.word.Word.and:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
invokevirtual org.graalvm.compiler.word.Word.isNull:()Z
ldc "hub can only use 32 bit"
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.dynamicAssert:(ZLjava/lang/String;)V
5: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHubOffset:()I
aload 2
invokevirtual org.graalvm.compiler.word.Word.rawValue:()J
getstatic org.graalvm.word.LocationIdentity.INIT_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokeinterface org.graalvm.word.Pointer.writeLong:(IJLorg/graalvm/word/LocationIdentity;)V
6: goto 9
7: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHubOffset:()I
aload 2
getstatic org.graalvm.word.LocationIdentity.INIT_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokeinterface org.graalvm.word.Pointer.writeWord:(ILorg/graalvm/word/WordBase;Lorg/graalvm/word/LocationIdentity;)V
8: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getIdentityHashCodeOffset:()I
iconst_0
getstatic org.graalvm.word.LocationIdentity.INIT_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokeinterface org.graalvm.word.Pointer.writeInt:(IILorg/graalvm/word/LocationIdentity;)V
9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
0 10 1 objectPointer Lorg/graalvm/word/Pointer;
0 10 2 encodedHub Lorg/graalvm/compiler/word/Word;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
objectPointer
encodedHub
private static void (boolean, java.lang.String);
descriptor: (ZLjava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: invokestatic org.graalvm.compiler.api.directives.GraalDirectives.inIntrinsic:()Z
ifeq 3
1: iload 0
aload 1
invokestatic org.graalvm.compiler.replacements.ReplacementsUtil.dynamicAssert:(ZLjava/lang/String;)V
2: goto 4
3: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 4
iload 0
ifne 4
new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 condition Z
0 5 1 msg Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
condition
msg
private static void (java.lang.Object, org.graalvm.word.WordBase);
descriptor: (Ljava/lang/Object;Lorg/graalvm/word/WordBase;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getReferenceSize:()I
iconst_4
if_icmpne 3
1: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHubOffset:()I
aload 1
invokeinterface org.graalvm.word.WordBase.rawValue:()J
l2i
invokestatic org.graalvm.compiler.word.ObjectAccess.writeInt:(Ljava/lang/Object;II)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHubOffset:()I
aload 1
invokestatic org.graalvm.compiler.word.ObjectAccess.writeWord:(Ljava/lang/Object;ILorg/graalvm/word/WordBase;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 o Ljava/lang/Object;
0 5 1 header Lorg/graalvm/word/WordBase;
MethodParameters:
Name Flags
o
header
public org.graalvm.compiler.word.Word (com.oracle.svm.core.hub.DynamicHub);
descriptor: (Lcom/oracle/svm/core/hub/DynamicHub;)Lorg/graalvm/compiler/word/Word;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
iconst_0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.encodeAsObjectHeader:(Lcom/oracle/svm/core/hub/DynamicHub;ZZ)Lorg/graalvm/compiler/word/Word;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
0 1 1 hub Lcom/oracle/svm/core/hub/DynamicHub;
MethodParameters:
Name Flags
hub
public static org.graalvm.compiler.word.Word (com.oracle.svm.core.hub.DynamicHub, boolean, boolean);
descriptor: (Lcom/oracle/svm/core/hub/DynamicHub;ZZ)Lorg/graalvm/compiler/word/Word;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
astore 3
start local 3 1: getstatic com.oracle.svm.core.SubstrateOptions.SpawnIsolates:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 4
2: invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.hasBase:()Z
ifeq 4
3: aload 3
invokestatic com.oracle.svm.core.snippets.KnownIntrinsics.heapBase:()Lorg/graalvm/word/Pointer;
invokevirtual org.graalvm.compiler.word.Word.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/compiler/word/Word;
astore 3
4: StackMap locals: org.graalvm.compiler.word.Word
StackMap stack:
iload 1
ifeq 6
5: aload 3
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.REMEMBERED_SET_BIT:Lorg/graalvm/word/UnsignedWord;
invokevirtual org.graalvm.compiler.word.Word.or:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/compiler/word/Word;
astore 3
6: StackMap locals:
StackMap stack:
iload 2
ifeq 8
7: aload 3
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.UNALIGNED_BIT:Lorg/graalvm/word/UnsignedWord;
invokevirtual org.graalvm.compiler.word.Word.or:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/compiler/word/Word;
astore 3
8: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 hub Lcom/oracle/svm/core/hub/DynamicHub;
0 9 1 rememberedSet Z
0 9 2 unaligned Z
1 9 3 result Lorg/graalvm/compiler/word/Word;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.")
MethodParameters:
Name Flags
hub
rememberedSet
unaligned
public static org.graalvm.word.UnsignedWord (org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.CLEAR_HEADER_BITS:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.and:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 header Lorg/graalvm/word/UnsignedWord;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
header
public static boolean (org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getReferenceSize:()I
iconst_4
if_icmpne 2
1: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getProducedHeapChunkZapInt:()I
invokeinterface org.graalvm.word.UnsignedWord.equal:(I)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getProducedHeapChunkZapWord:()Lorg/graalvm/compiler/word/Word;
invokeinterface org.graalvm.word.UnsignedWord.equal:(Lorg/graalvm/word/UnsignedWord;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 header Lorg/graalvm/word/UnsignedWord;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
header
public static boolean (org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getReferenceSize:()I
iconst_4
if_icmpne 2
1: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getConsumedHeapChunkZapInt:()I
invokeinterface org.graalvm.word.UnsignedWord.equal:(I)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getConsumedHeapChunkZapWord:()Lorg/graalvm/compiler/word/Word;
invokeinterface org.graalvm.word.UnsignedWord.equal:(Lorg/graalvm/word/UnsignedWord;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 header Lorg/graalvm/word/UnsignedWord;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
header
public long (com.oracle.svm.core.image.ImageHeapObject, long);
descriptor: (Lcom/oracle/svm/core/image/ImageHeapObject;J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: lload 2
lstore 4
start local 4 1: getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 2
lload 4
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.MASK_HEADER_BITS:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
land
lconst_0
lcmp
ifeq 2
new java.lang.AssertionError
dup
ldc "Object header bits must be zero initially"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: long
StackMap stack:
invokestatic com.oracle.svm.core.genscavenge.HeapImpl.usesImageHeapCardMarking:()Z
ifeq 11
3: aload 1
invokeinterface com.oracle.svm.core.image.ImageHeapObject.getPartition:()Lcom/oracle/svm/core/image/ImageHeapPartition;
instanceof com.oracle.svm.core.genscavenge.ChunkedImageHeapPartition
ifeq 10
4: aload 1
invokeinterface com.oracle.svm.core.image.ImageHeapObject.getPartition:()Lcom/oracle/svm/core/image/ImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.ChunkedImageHeapPartition
astore 6
start local 6 5: aload 6
invokevirtual com.oracle.svm.core.genscavenge.ChunkedImageHeapPartition.isWritable:()Z
ifeq 7
6: lload 4
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.REMEMBERED_SET_BIT:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
lor
lstore 4
7: StackMap locals: com.oracle.svm.core.genscavenge.ChunkedImageHeapPartition
StackMap stack:
aload 6
invokevirtual com.oracle.svm.core.genscavenge.ChunkedImageHeapPartition.usesUnalignedObjects:()Z
ifeq 11
8: lload 4
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.UNALIGNED_BIT:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
lor
lstore 4
end local 6 9: goto 11
10: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 11
aload 1
invokeinterface com.oracle.svm.core.image.ImageHeapObject.getPartition:()Lcom/oracle/svm/core/image/ImageHeapPartition;
instanceof com.oracle.svm.core.genscavenge.FillerObjectDummyPartition
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
lload 4
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
0 12 1 obj Lcom/oracle/svm/core/image/ImageHeapObject;
0 12 2 hubOffsetFromHeapBase J
1 12 4 header J
5 9 6 partition Lcom/oracle/svm/core/genscavenge/ChunkedImageHeapPartition;
MethodParameters:
Name Flags
obj
hubOffsetFromHeapBase
public static boolean (java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isUnalignedObject:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public static boolean (java.lang.Object, org.graalvm.word.UnsignedWord);
descriptor: (Ljava/lang/Object;Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isUnalignedHeader:(Ljava/lang/Object;Lorg/graalvm/word/UnsignedWord;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 obj Ljava/lang/Object;
0 3 1 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
obj
header
public static boolean (org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isUnalignedHeader:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ptrToObj Lorg/graalvm/word/Pointer;
0 3 1 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
ptrToObj
header
public static boolean (org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.testUnalignedBit:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
header
public static boolean (java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 1
invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.isInImageHeap:(Ljava/lang/Object;)Z
ifeq 1
new java.lang.AssertionError
dup
ldc "must not be called for image heap objects"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromObject:(Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 2: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.testUnalignedBit:(Lorg/graalvm/word/UnsignedWord;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 obj Ljava/lang/Object;
2 3 1 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
obj
public static boolean (java.lang.Object, org.graalvm.word.UnsignedWord);
descriptor: (Ljava/lang/Object;Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 1
invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.isInImageHeap:(Ljava/lang/Object;)Z
ifeq 1
new java.lang.AssertionError
dup
ldc "must not be called for image heap objects"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.testUnalignedBit:(Lorg/graalvm/word/UnsignedWord;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 obj Ljava/lang/Object;
0 2 1 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
obj
header
public static boolean (org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 1
invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.isInImageHeap:(Lorg/graalvm/word/Pointer;)Z
ifeq 1
new java.lang.AssertionError
dup
ldc "must not be called for image heap objects"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.testUnalignedBit:(Lorg/graalvm/word/UnsignedWord;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 ptrToObj Lorg/graalvm/word/Pointer;
0 2 1 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
ptrToObj
header
private static boolean (org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.UNALIGNED_BIT:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.and:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
iconst_0
invokeinterface org.graalvm.word.UnsignedWord.notEqual:(I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
header
static void (java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromObject:(Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 1: aload 1
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.REMEMBERED_SET_BIT:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.or:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
astore 2
start local 2 2: aload 0
aload 2
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.writeHeaderToObject:(Ljava/lang/Object;Lorg/graalvm/word/WordBase;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 o Ljava/lang/Object;
1 4 1 oldHeader Lorg/graalvm/word/UnsignedWord;
2 4 2 newHeader Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
o
public static boolean (org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.REMEMBERED_SET_BIT:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.and:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
iconst_0
invokeinterface org.graalvm.word.UnsignedWord.notEqual:(I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
header
public static boolean (org.graalvm.word.Pointer);
descriptor: (Lorg/graalvm/word/Pointer;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromPointer:(Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isForwardedHeader:(Lorg/graalvm/word/UnsignedWord;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 p Lorg/graalvm/word/Pointer;
1 2 1 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
p
public static boolean (org.graalvm.word.Pointer);
descriptor: (Lorg/graalvm/word/Pointer;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromPointerCarefully:(Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isForwardedHeaderCarefully:(Lorg/graalvm/word/UnsignedWord;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 p Lorg/graalvm/word/Pointer;
1 2 1 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
p
public static boolean (org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.testForwardedHeaderBit:(Lorg/graalvm/word/UnsignedWord;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
header
public static boolean (org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHeaderBitsFromHeaderCarefully:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.testForwardedHeaderBit:(Lorg/graalvm/word/UnsignedWord;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 header Lorg/graalvm/word/UnsignedWord;
1 2 1 headerBits Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
header
private static boolean (org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.FORWARDED_BIT:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.and:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
iconst_0
invokeinterface org.graalvm.word.UnsignedWord.notEqual:(I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 headerBits Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
headerBits
static java.lang.Object (org.graalvm.word.Pointer);
descriptor: (Lorg/graalvm/word/Pointer;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromPointer:(Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 1: getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 2
aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isForwardedHeader:(Lorg/graalvm/word/UnsignedWord;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.graalvm.word.UnsignedWord
StackMap stack:
invokestatic com.oracle.svm.core.heap.ReferenceAccess.singleton:()Lcom/oracle/svm/core/heap/ReferenceAccess;
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.haveCompressedReferences:()Z
ifeq 10
3: invokestatic com.oracle.svm.core.heap.ReferenceAccess.singleton:()Lcom/oracle/svm/core/heap/ReferenceAccess;
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.getCompressEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.hasShift:()Z
ifeq 9
4: invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
astore 2
start local 2 5: getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 7
aload 2
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHubOffset:()I
i2l
invokevirtual com.oracle.svm.core.config.ObjectLayout.isAligned:(J)Z
ifeq 6
iconst_2
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getReferenceSize:()I
imul
aload 2
invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
if_icmple 7
StackMap locals: com.oracle.svm.core.config.ObjectLayout
StackMap stack:
6: new java.lang.AssertionError
dup
ldc "Forwarding reference must fit after hub"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHubOffset:()I
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getReferenceSize:()I
iadd
istore 3
start local 3 8: invokestatic com.oracle.svm.core.heap.ReferenceAccess.singleton:()Lcom/oracle/svm/core/heap/ReferenceAccess;
aload 0
iload 3
invokeinterface org.graalvm.word.Pointer.add:(I)Lorg/graalvm/word/Pointer;
iconst_1
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.readObjectAt:(Lorg/graalvm/word/Pointer;Z)Ljava/lang/Object;
areturn
end local 3 end local 2 9: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.heap.ReferenceAccess.singleton:()Lcom/oracle/svm/core/heap/ReferenceAccess;
aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.clearBits:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.uncompressReference:(Lorg/graalvm/word/UnsignedWord;)Ljava/lang/Object;
areturn
10: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.clearBits:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
checkcast org.graalvm.word.Pointer
invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 ptr Lorg/graalvm/word/Pointer;
1 11 1 header Lorg/graalvm/word/UnsignedWord;
5 9 2 layout Lcom/oracle/svm/core/config/ObjectLayout;
8 9 3 forwardRefOffset I
MethodParameters:
Name Flags
ptr
static void (java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isPointerToForwardedObject:(Lorg/graalvm/word/Pointer;)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.heap.ReferenceAccess.singleton:()Lcom/oracle/svm/core/heap/ReferenceAccess;
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.haveCompressedReferences:()Z
ifeq 8
2: invokestatic com.oracle.svm.core.heap.ReferenceAccess.singleton:()Lcom/oracle/svm/core/heap/ReferenceAccess;
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.getCompressEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.hasShift:()Z
ifeq 6
3: ldc -1085102592571150096
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
astore 2
start local 2 4: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHubOffset:()I
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getReferenceSize:()I
iadd
aload 1
invokestatic org.graalvm.compiler.word.ObjectAccess.writeObject:(Ljava/lang/Object;ILjava/lang/Object;)V
5: goto 9
end local 2 6: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.heap.ReferenceAccess.singleton:()Lcom/oracle/svm/core/heap/ReferenceAccess;
aload 1
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.getCompressedRepresentation:(Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
astore 2
start local 2 7: goto 9
end local 2 8: StackMap locals:
StackMap stack:
aload 1
invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
astore 2
start local 2 9: StackMap locals: org.graalvm.word.UnsignedWord
StackMap stack:
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 10
aload 2
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getHeaderBitsFromHeader:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
iconst_0
invokeinterface org.graalvm.word.UnsignedWord.equal:(I)Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 2
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.FORWARDED_BIT:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.or:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.writeHeaderToObject:(Ljava/lang/Object;Lorg/graalvm/word/WordBase;)V
11: getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 12
aload 0
invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isPointerToForwardedObject:(Lorg/graalvm/word/Pointer;)Z
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 original Ljava/lang/Object;
0 13 1 copy Ljava/lang/Object;
4 6 2 forwardHeader Lorg/graalvm/word/UnsignedWord;
7 8 2 forwardHeader Lorg/graalvm/word/UnsignedWord;
9 13 2 forwardHeader Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
original
copy
private static org.graalvm.word.UnsignedWord (org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isProducedHeapChunkZapped:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 1
new java.lang.AssertionError
dup
ldc "Produced chunk zap value"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.$assertionsDisabled:Z
ifne 2
aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isConsumedHeapChunkZapped:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 2
new java.lang.AssertionError
dup
ldc "Consumed chunk zap value"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.MASK_HEADER_BITS:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.and:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 header Lorg/graalvm/word/UnsignedWord;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
header
static org.graalvm.word.UnsignedWord (org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isProducedHeapChunkZapped:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ldc "Produced chunk zap value"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
3: aload 0
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isConsumedHeapChunkZapped:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 4
iconst_0
goto 5
StackMap locals:
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: ldc "Consumed chunk zap value"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
6: aload 0
getstatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.MASK_HEADER_BITS:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.and:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
header
static int ();
descriptor: ()I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getHubOffset:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static int ();
descriptor: ()I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getIdentityHashCodeOffset:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static int ();
descriptor: ()I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getReferenceSize:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static boolean ();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/core/common/CompressEncoding;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.CompressEncoding
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.hasBase:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static int ();
descriptor: ()I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.svm.core.heap.ReferenceAccess.singleton:()Lcom/oracle/svm/core/heap/ReferenceAccess;
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.getCompressEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getShift:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
}
SourceFile: "ObjectHeaderImpl.java"