public final class com.oracle.svm.core.genscavenge.ThreadLocalAllocation
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.core.genscavenge.ThreadLocalAllocation
  super_class: java.lang.Object
{
  private static final com.oracle.svm.core.threadlocal.FastThreadLocalBytes<com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor> regularTLAB;
    descriptor: Lcom/oracle/svm/core/threadlocal/FastThreadLocalBytes;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/oracle/svm/core/threadlocal/FastThreadLocalBytes<Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 70
            ldc Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation;
            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.ThreadLocalAllocation.$assertionsDisabled:Z
         3: .line 114
            invokedynamic getAsInt()Ljava/util/function/IntSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()I
                  com/oracle/svm/core/genscavenge/ThreadLocalAllocation.getRegularTLABSize()I (6)
                  ()I
            invokestatic com.oracle.svm.core.threadlocal.FastThreadLocalFactory.createBytes:(Ljava/util/function/IntSupplier;)Lcom/oracle/svm/core/threadlocal/FastThreadLocalBytes;
            bipush 127
            invokevirtual com.oracle.svm.core.threadlocal.FastThreadLocalBytes.setMaxOffset:(I)Lcom/oracle/svm/core/threadlocal/FastThreadLocal;
            checkcast com.oracle.svm.core.threadlocal.FastThreadLocalBytes
            putstatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.regularTLAB:Lcom/oracle/svm/core/threadlocal/FastThreadLocalBytes;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation this
         0: .line 116
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 117
            return
        end local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation;

  static com.oracle.svm.core.log.Log log();
    descriptor: ()Lcom/oracle/svm/core/log/Log;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 121
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Fold()

  private static int getRegularTLABSize();
    descriptor: ()I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 126
            ldc Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            invokestatic org.graalvm.nativeimage.c.struct.SizeOf.get:(Ljava/lang/Class;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})

  public static org.graalvm.compiler.word.Word getTlabAddress();
    descriptor: ()Lorg/graalvm/compiler/word/Word;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 130
            getstatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.regularTLAB:Lcom/oracle/svm/core/threadlocal/FastThreadLocalBytes;
            invokevirtual com.oracle.svm.core.threadlocal.FastThreadLocalBytes.getAddress:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.compiler.word.Word
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor getTlab(org.graalvm.nativeimage.IsolateThread);
    descriptor: (Lorg/graalvm/nativeimage/IsolateThread;)Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.nativeimage.IsolateThread vmThread
         0: .line 135
            getstatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.regularTLAB:Lcom/oracle/svm/core/threadlocal/FastThreadLocalBytes;
            aload 0 /* vmThread */
            invokevirtual com.oracle.svm.core.threadlocal.FastThreadLocalBytes.getAddress:(Lorg/graalvm/nativeimage/IsolateThread;)Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor
            areturn
        end local 0 // org.graalvm.nativeimage.IsolateThread vmThread
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  vmThread  Lorg/graalvm/nativeimage/IsolateThread;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Accesses TLAB", callerMustBe = true)
    MethodParameters:
          Name  Flags
      vmThread  

  private static com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor getTlab();
    descriptor: ()Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 140
            getstatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.regularTLAB:Lcom/oracle/svm/core/threadlocal/FastThreadLocalBytes;
            invokevirtual com.oracle.svm.core.threadlocal.FastThreadLocalBytes.getAddress:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Accesses TLAB", callerMustBe = true)

  private static java.lang.Object slowPathNewInstance(org.graalvm.compiler.word.Word);
    descriptor: (Lorg/graalvm/compiler/word/Word;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.word.Word objectHeader
         0: .line 145
            invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getObjectHeaderImpl:()Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
            aload 0 /* objectHeader */
            invokevirtual com.oracle.svm.core.genscavenge.ObjectHeaderImpl.dynamicHubFromObjectHeader:(Lorg/graalvm/word/UnsignedWord;)Lcom/oracle/svm/core/hub/DynamicHub;
            astore 1 /* hub */
        start local 1 // com.oracle.svm.core.hub.DynamicHub hub
         1: .line 146
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
            invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getGCImpl:()Lcom/oracle/svm/core/genscavenge/GCImpl;
            invokevirtual com.oracle.svm.core.genscavenge.GCImpl.possibleCollectionPrologue:()Lorg/graalvm/word/UnsignedWord;
            astore 2 /* gcEpoch */
        start local 2 // org.graalvm.word.UnsignedWord gcEpoch
         2: .line 147
            aload 1 /* hub */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.slowPathNewInstanceWithoutAllocating:(Lcom/oracle/svm/core/hub/DynamicHub;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         3: .line 149
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
            invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getGCImpl:()Lcom/oracle/svm/core/genscavenge/GCImpl;
            aload 2 /* gcEpoch */
            invokevirtual com.oracle.svm.core.genscavenge.GCImpl.possibleCollectionEpilogue:(Lorg/graalvm/word/UnsignedWord;)V
         4: .line 150
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.runSlowPathHooks:()V
         5: .line 151
            aload 3 /* result */
            areturn
        end local 3 // java.lang.Object result
        end local 2 // org.graalvm.word.UnsignedWord gcEpoch
        end local 1 // com.oracle.svm.core.hub.DynamicHub hub
        end local 0 // org.graalvm.compiler.word.Word objectHeader
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0  objectHeader  Lorg/graalvm/compiler/word/Word;
            1    6     1           hub  Lcom/oracle/svm/core/hub/DynamicHub;
            2    6     2       gcEpoch  Lorg/graalvm/word/UnsignedWord;
            3    6     3        result  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.snippets.SubstrateForeignCallTarget(stubCallingConvention = false)
    MethodParameters:
              Name  Flags
      objectHeader  

  private static void runSlowPathHooks();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 156
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.samplePhysicalMemorySize:()V
         1: .line 157
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object slowPathNewInstanceWithoutAllocating(com.oracle.svm.core.hub.DynamicHub);
    descriptor: (Lcom/oracle/svm/core/hub/DynamicHub;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.oracle.svm.core.hub.DynamicHub hub
         0: .line 161
            invokestatic com.oracle.svm.core.graal.snippets.DeoptTester.disableDeoptTesting:()V
         1: .line 163
            ldc "ThreadLocalAllocation.allocateNewInstance"
            aload 0 /* hub */
            invokestatic com.oracle.svm.core.hub.DynamicHub.toClass:(Lcom/oracle/svm/core/hub/DynamicHub;)Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.exitIfAllocationDisallowed:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 164
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.maybeCollectOnAllocation:()V
         3: .line 166
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getChunkProvider:()Lcom/oracle/svm/core/genscavenge/HeapChunkProvider;
            invokevirtual com.oracle.svm.core.genscavenge.HeapChunkProvider.produceAlignedChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 1 /* newTlab */
        start local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newTlab
         4: .line 167
            aload 0 /* hub */
            aload 1 /* newTlab */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.allocateInstanceInNewTlab:(Lcom/oracle/svm/core/hub/DynamicHub;Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Ljava/lang/Object;
            astore 3
         5: .line 169
            invokestatic com.oracle.svm.core.graal.snippets.DeoptTester.enableDeoptTesting:()V
         6: .line 167
            aload 3
            areturn
        end local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newTlab
         7: .line 168
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         8: .line 169
            invokestatic com.oracle.svm.core.graal.snippets.DeoptTester.enableDeoptTesting:()V
         9: .line 170
            aload 2
            athrow
        end local 0 // com.oracle.svm.core.hub.DynamicHub hub
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0      hub  Lcom/oracle/svm/core/hub/DynamicHub;
            4    7     1  newTlab  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
      Exception table:
        from    to  target  type
           1     5       7  any
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Must not allocate in the implementation of allocation.")
    MethodParameters:
      Name  Flags
      hub   

  private static java.lang.Object slowPathNewArray(org.graalvm.compiler.word.Word, int);
    descriptor: (Lorg/graalvm/compiler/word/Word;I)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.word.Word objectHeader
        start local 1 // int length
         0: .line 175
            iload 1 /* length */
            ifge 2
         1: .line 176
            new java.lang.NegativeArraySizeException
            dup
            invokespecial java.lang.NegativeArraySizeException.<init>:()V
            athrow
         2: .line 179
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getObjectHeaderImpl:()Lcom/oracle/svm/core/genscavenge/ObjectHeaderImpl;
            aload 0 /* objectHeader */
            invokevirtual com.oracle.svm.core.genscavenge.ObjectHeaderImpl.dynamicHubFromObjectHeader:(Lorg/graalvm/word/UnsignedWord;)Lcom/oracle/svm/core/hub/DynamicHub;
            astore 2 /* hub */
        start local 2 // com.oracle.svm.core.hub.DynamicHub hub
         3: .line 180
            aload 2 /* hub */
            invokevirtual com.oracle.svm.core.hub.DynamicHub.getLayoutEncoding:()I
            iload 1 /* length */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.getArraySize:(II)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* size */
        start local 3 // org.graalvm.word.UnsignedWord size
         4: .line 186
            aload 3 /* size */
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaximumHeapSize:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.UnsignedWord.aboveOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 6
         5: .line 187
            new java.lang.OutOfMemoryError
            dup
            ldc "Array allocation too large."
            invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 190
      StackMap locals: com.oracle.svm.core.hub.DynamicHub org.graalvm.word.UnsignedWord
      StackMap stack:
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
            invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getGCImpl:()Lcom/oracle/svm/core/genscavenge/GCImpl;
            invokevirtual com.oracle.svm.core.genscavenge.GCImpl.possibleCollectionPrologue:()Lorg/graalvm/word/UnsignedWord;
            astore 4 /* gcEpoch */
        start local 4 // org.graalvm.word.UnsignedWord gcEpoch
         7: .line 191
            aload 2 /* hub */
            iload 1 /* length */
            aload 3 /* size */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.slowPathNewArrayWithoutAllocating:(Lcom/oracle/svm/core/hub/DynamicHub;ILorg/graalvm/word/UnsignedWord;)Ljava/lang/Object;
            astore 5 /* result */
        start local 5 // java.lang.Object result
         8: .line 193
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
            invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getGCImpl:()Lcom/oracle/svm/core/genscavenge/GCImpl;
            aload 4 /* gcEpoch */
            invokevirtual com.oracle.svm.core.genscavenge.GCImpl.possibleCollectionEpilogue:(Lorg/graalvm/word/UnsignedWord;)V
         9: .line 194
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.runSlowPathHooks:()V
        10: .line 195
            aload 5 /* result */
            areturn
        end local 5 // java.lang.Object result
        end local 4 // org.graalvm.word.UnsignedWord gcEpoch
        end local 3 // org.graalvm.word.UnsignedWord size
        end local 2 // com.oracle.svm.core.hub.DynamicHub hub
        end local 1 // int length
        end local 0 // org.graalvm.compiler.word.Word objectHeader
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0  objectHeader  Lorg/graalvm/compiler/word/Word;
            0   11     1        length  I
            3   11     2           hub  Lcom/oracle/svm/core/hub/DynamicHub;
            4   11     3          size  Lorg/graalvm/word/UnsignedWord;
            7   11     4       gcEpoch  Lorg/graalvm/word/UnsignedWord;
            8   11     5        result  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.snippets.SubstrateForeignCallTarget(stubCallingConvention = false)
    MethodParameters:
              Name  Flags
      objectHeader  
      length        

  private static java.lang.Object slowPathNewArrayWithoutAllocating(com.oracle.svm.core.hub.DynamicHub, int, org.graalvm.word.UnsignedWord);
    descriptor: (Lcom/oracle/svm/core/hub/DynamicHub;ILorg/graalvm/word/UnsignedWord;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.oracle.svm.core.hub.DynamicHub hub
        start local 1 // int length
        start local 2 // org.graalvm.word.UnsignedWord size
         0: .line 200
            invokestatic com.oracle.svm.core.graal.snippets.DeoptTester.disableDeoptTesting:()V
         1: .line 202
            ldc "Heap.allocateNewArray"
            aload 0 /* hub */
            invokestatic com.oracle.svm.core.hub.DynamicHub.toClass:(Lcom/oracle/svm/core/hub/DynamicHub;)Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.exitIfAllocationDisallowed:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 203
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.maybeCollectOnAllocation:()V
         3: .line 205
            aload 2 /* size */
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getLargeArrayThreshold:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.UnsignedWord.aboveOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 8
         4: .line 207
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getChunkProvider:()Lcom/oracle/svm/core/genscavenge/HeapChunkProvider;
            aload 2 /* size */
            invokevirtual com.oracle.svm.core.genscavenge.HeapChunkProvider.produceUnalignedChunk:(Lorg/graalvm/word/UnsignedWord;)Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            astore 3 /* newTlabChunk */
        start local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader newTlabChunk
         5: .line 208
            aload 0 /* hub */
            iload 1 /* length */
            aload 2 /* size */
            aload 3 /* newTlabChunk */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.allocateLargeArrayInNewTlab:(Lcom/oracle/svm/core/hub/DynamicHub;ILorg/graalvm/word/UnsignedWord;Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)Ljava/lang/Object;
            astore 5
         6: .line 215
            invokestatic com.oracle.svm.core.graal.snippets.DeoptTester.enableDeoptTesting:()V
         7: .line 208
            aload 5
            areturn
        end local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader newTlabChunk
         8: .line 211
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getChunkProvider:()Lcom/oracle/svm/core/genscavenge/HeapChunkProvider;
            invokevirtual com.oracle.svm.core.genscavenge.HeapChunkProvider.produceAlignedChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 3 /* newTlabChunk */
        start local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newTlabChunk
         9: .line 212
            aload 0 /* hub */
            iload 1 /* length */
            aload 2 /* size */
            aload 3 /* newTlabChunk */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.allocateSmallArrayInNewTlab:(Lcom/oracle/svm/core/hub/DynamicHub;ILorg/graalvm/word/UnsignedWord;Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Ljava/lang/Object;
            astore 5
        10: .line 215
            invokestatic com.oracle.svm.core.graal.snippets.DeoptTester.enableDeoptTesting:()V
        11: .line 212
            aload 5
            areturn
        end local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newTlabChunk
        12: .line 214
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        13: .line 215
            invokestatic com.oracle.svm.core.graal.snippets.DeoptTester.enableDeoptTesting:()V
        14: .line 216
            aload 4
            athrow
        end local 2 // org.graalvm.word.UnsignedWord size
        end local 1 // int length
        end local 0 // com.oracle.svm.core.hub.DynamicHub hub
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0           hub  Lcom/oracle/svm/core/hub/DynamicHub;
            0   15     1        length  I
            0   15     2          size  Lorg/graalvm/word/UnsignedWord;
            5    8     3  newTlabChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            9   12     3  newTlabChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
      Exception table:
        from    to  target  type
           1     6      12  any
           8    10      12  any
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Must not allocate in the implementation of allocation.")
    MethodParameters:
        Name  Flags
      hub     
      length  
      size    

  private static java.lang.Object allocateInstanceInNewTlab(com.oracle.svm.core.hub.DynamicHub, com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/hub/DynamicHub;Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.oracle.svm.core.hub.DynamicHub hub
        start local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newTlabChunk
         0: .line 221
            aload 0 /* hub */
            invokevirtual com.oracle.svm.core.hub.DynamicHub.getLayoutEncoding:()I
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.getInstanceSize:(I)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* size */
        start local 2 // org.graalvm.word.UnsignedWord size
         1: .line 222
            aload 2 /* size */
            aload 1 /* newTlabChunk */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.allocateRawMemoryInNewTlab:(Lorg/graalvm/word/UnsignedWord;Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            astore 3 /* memory */
        start local 3 // org.graalvm.word.Pointer memory
         2: .line 223
            aload 3 /* memory */
            aload 0 /* hub */
            invokestatic com.oracle.svm.core.hub.DynamicHub.toClass:(Lcom/oracle/svm/core/hub/DynamicHub;)Ljava/lang/Class;
            iconst_0
            iconst_1
            iconst_1
            invokestatic com.oracle.svm.core.genscavenge.graal.nodes.FormatObjectNode.formatObject:(Lorg/graalvm/word/Pointer;Ljava/lang/Class;ZZZ)Ljava/lang/Object;
            areturn
        end local 3 // org.graalvm.word.Pointer memory
        end local 2 // org.graalvm.word.UnsignedWord size
        end local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newTlabChunk
        end local 0 // com.oracle.svm.core.hub.DynamicHub hub
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0           hub  Lcom/oracle/svm/core/hub/DynamicHub;
            0    3     1  newTlabChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            1    3     2          size  Lorg/graalvm/word/UnsignedWord;
            2    3     3        memory  Lorg/graalvm/word/Pointer;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Holds uninitialized memory.")
    MethodParameters:
              Name  Flags
      hub           
      newTlabChunk  

  private static java.lang.Object allocateSmallArrayInNewTlab(com.oracle.svm.core.hub.DynamicHub, int, org.graalvm.word.UnsignedWord, com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/hub/DynamicHub;ILorg/graalvm/word/UnsignedWord;Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // com.oracle.svm.core.hub.DynamicHub hub
        start local 1 // int length
        start local 2 // org.graalvm.word.UnsignedWord size
        start local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newTlabChunk
         0: .line 228
            aload 2 /* size */
            aload 3 /* newTlabChunk */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.allocateRawMemoryInNewTlab:(Lorg/graalvm/word/UnsignedWord;Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            astore 4 /* memory */
        start local 4 // org.graalvm.word.Pointer memory
         1: .line 229
            aload 4 /* memory */
            aload 0 /* hub */
            invokestatic com.oracle.svm.core.hub.DynamicHub.toClass:(Lcom/oracle/svm/core/hub/DynamicHub;)Ljava/lang/Class;
            iload 1 /* length */
            iconst_0
            iconst_0
            iconst_1
            iconst_1
            invokestatic com.oracle.svm.core.genscavenge.graal.nodes.FormatArrayNode.formatArray:(Lorg/graalvm/word/Pointer;Ljava/lang/Class;IZZZZ)Ljava/lang/Object;
            areturn
        end local 4 // org.graalvm.word.Pointer memory
        end local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newTlabChunk
        end local 2 // org.graalvm.word.UnsignedWord size
        end local 1 // int length
        end local 0 // com.oracle.svm.core.hub.DynamicHub hub
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0           hub  Lcom/oracle/svm/core/hub/DynamicHub;
            0    2     1        length  I
            0    2     2          size  Lorg/graalvm/word/UnsignedWord;
            0    2     3  newTlabChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            1    2     4        memory  Lorg/graalvm/word/Pointer;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Holds uninitialized memory.")
    MethodParameters:
              Name  Flags
      hub           
      length        
      size          
      newTlabChunk  

  private static java.lang.Object allocateLargeArrayInNewTlab(com.oracle.svm.core.hub.DynamicHub, int, org.graalvm.word.UnsignedWord, com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader);
    descriptor: (Lcom/oracle/svm/core/hub/DynamicHub;ILorg/graalvm/word/UnsignedWord;Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // com.oracle.svm.core.hub.DynamicHub hub
        start local 1 // int length
        start local 2 // org.graalvm.word.UnsignedWord size
        start local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader newTlabChunk
         0: .line 234
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.getTlab:()Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            astore 4 /* tlab */
        start local 4 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
         1: .line 236
            aload 3 /* newTlabChunk */
            aload 4 /* tlab */
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getUnalignedChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
         2: .line 237
            aload 4 /* tlab */
            aload 3 /* newTlabChunk */
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.setUnalignedChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         3: .line 239
            aload 3 /* newTlabChunk */
            aload 2 /* size */
            invokestatic com.oracle.svm.core.genscavenge.UnalignedHeapChunk.allocateMemory:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 5 /* memory */
        start local 5 // org.graalvm.word.Pointer memory
         4: .line 240
            getstatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.$assertionsDisabled:Z
            ifne 5
            aload 5 /* memory */
            invokeinterface org.graalvm.word.Pointer.isNonNull:()Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 243
      StackMap locals: com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor org.graalvm.word.Pointer
      StackMap stack:
            aload 5 /* memory */
            aload 0 /* hub */
            invokestatic com.oracle.svm.core.hub.DynamicHub.toClass:(Lcom/oracle/svm/core/hub/DynamicHub;)Ljava/lang/Class;
            iload 1 /* length */
            iconst_0
            iconst_1
            iconst_1
            iconst_1
            invokestatic com.oracle.svm.core.genscavenge.graal.nodes.FormatArrayNode.formatArray:(Lorg/graalvm/word/Pointer;Ljava/lang/Class;IZZZZ)Ljava/lang/Object;
            areturn
        end local 5 // org.graalvm.word.Pointer memory
        end local 4 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
        end local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader newTlabChunk
        end local 2 // org.graalvm.word.UnsignedWord size
        end local 1 // int length
        end local 0 // com.oracle.svm.core.hub.DynamicHub hub
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0           hub  Lcom/oracle/svm/core/hub/DynamicHub;
            0    6     1        length  I
            0    6     2          size  Lorg/graalvm/word/UnsignedWord;
            0    6     3  newTlabChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            1    6     4          tlab  Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            4    6     5        memory  Lorg/graalvm/word/Pointer;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Holds uninitialized memory, modifies TLAB")
    MethodParameters:
              Name  Flags
      hub           
      length        
      size          
      newTlabChunk  

  private static org.graalvm.word.Pointer allocateRawMemoryInNewTlab(org.graalvm.word.UnsignedWord, com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lorg/graalvm/word/UnsignedWord;Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.word.UnsignedWord size
        start local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newTlabChunk
         0: .line 248
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.getTlab:()Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            astore 2 /* tlab */
        start local 2 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
         1: .line 249
            getstatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.$assertionsDisabled:Z
            ifne 2
            invokestatic com.oracle.svm.core.graal.snippets.DeoptTester.enabled:()Z
            ifne 2
            aload 2 /* tlab */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.availableTlabMemory:(Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;)Lorg/graalvm/word/UnsignedWord;
            aload 0 /* size */
            invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            ldc "Slowpath allocation was used even though TLAB had sufficient space"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 251
      StackMap locals: com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor
      StackMap stack:
            aload 2 /* tlab */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.retireCurrentAllocationChunk:(Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;)V
         3: .line 252
            aload 2 /* tlab */
            aload 1 /* newTlabChunk */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.registerNewAllocationChunk:(Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         4: .line 253
            getstatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.$assertionsDisabled:Z
            ifne 5
            aload 0 /* size */
            aload 2 /* tlab */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.availableTlabMemory:(Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;)Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.UnsignedWord.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            ldc "Not enough TLAB space for allocation"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 256
      StackMap locals:
      StackMap stack:
            aload 2 /* tlab */
            getstatic com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.TLAB_TOP_IDENTITY:Lorg/graalvm/word/LocationIdentity;
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getAllocationTop:(Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            invokestatic com.oracle.svm.core.snippets.KnownIntrinsics.nonNullPointer:(Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/Pointer;
            astore 3 /* top */
        start local 3 // org.graalvm.word.Pointer top
         6: .line 257
            aload 2 /* tlab */
            aload 3 /* top */
            aload 0 /* size */
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            getstatic com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.TLAB_TOP_IDENTITY:Lorg/graalvm/word/LocationIdentity;
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.setAllocationTop:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/LocationIdentity;)V
         7: .line 258
            aload 3 /* top */
            areturn
        end local 3 // org.graalvm.word.Pointer top
        end local 2 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
        end local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newTlabChunk
        end local 0 // org.graalvm.word.UnsignedWord size
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          size  Lorg/graalvm/word/UnsignedWord;
            0    8     1  newTlabChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            1    8     2          tlab  Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            6    8     3           top  Lorg/graalvm/word/Pointer;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Returns uninitialized memory, modifies TLAB", callerMustBe = true)
    MethodParameters:
              Name  Flags
      size          
      newTlabChunk  

  private static org.graalvm.word.UnsignedWord availableTlabMemory(com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor);
    descriptor: (Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor allocator
         0: .line 263
            aload 0 /* allocator */
            getstatic com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.TLAB_TOP_IDENTITY:Lorg/graalvm/word/LocationIdentity;
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getAllocationTop:(Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            astore 1 /* top */
        start local 1 // org.graalvm.word.Pointer top
         1: .line 264
            aload 0 /* allocator */
            getstatic com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.TLAB_END_IDENTITY:Lorg/graalvm/word/LocationIdentity;
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getAllocationEnd:(Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            astore 2 /* end */
        start local 2 // org.graalvm.word.Pointer end
         2: .line 265
            getstatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.$assertionsDisabled:Z
            ifne 3
            aload 1 /* top */
            aload 2 /* end */
            invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 267
      StackMap locals: org.graalvm.word.Pointer org.graalvm.word.Pointer
      StackMap stack:
            aload 1 /* top */
            invokeinterface org.graalvm.word.Pointer.isNull:()Z
            ifne 4
            aload 2 /* end */
            invokeinterface org.graalvm.word.Pointer.isNull:()Z
            ifeq 5
         4: .line 268
      StackMap locals:
      StackMap stack:
            iconst_0
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            areturn
         5: .line 270
      StackMap locals:
      StackMap stack:
            aload 2 /* end */
            aload 1 /* top */
            invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            areturn
        end local 2 // org.graalvm.word.Pointer end
        end local 1 // org.graalvm.word.Pointer top
        end local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor allocator
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  allocator  Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            1    6     1        top  Lorg/graalvm/word/Pointer;
            2    6     2        end  Lorg/graalvm/word/Pointer;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Accesses TLAB")
    MethodParameters:
           Name  Flags
      allocator  

  static boolean isThreadLocalAllocationSpace(com.oracle.svm.core.genscavenge.Space);
    descriptor: (Lcom/oracle/svm/core/genscavenge/Space;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space space
         0: .line 274
            aload 0 /* space */
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
            invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getYoungGeneration:()Lcom/oracle/svm/core/genscavenge/YoungGeneration;
            invokevirtual com.oracle.svm.core.genscavenge.YoungGeneration.getEden:()Lcom/oracle/svm/core/genscavenge/Space;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.svm.core.genscavenge.Space space
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  space  Lcom/oracle/svm/core/genscavenge/Space;
    MethodParameters:
       Name  Flags
      space  

  static void disableAndFlushForAllThreads();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 278
            ldc "ThreadLocalAllocation.disableAndFlushForAllThreads"
            invokestatic com.oracle.svm.core.thread.VMOperation.guaranteeInProgress:(Ljava/lang/String;)V
         1: .line 280
            getstatic com.oracle.svm.core.SubstrateOptions.MultiThreaded: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 8
         2: .line 281
            invokestatic com.oracle.svm.core.thread.VMThreads.firstThread:()Lorg/graalvm/nativeimage/IsolateThread;
            astore 0 /* vmThread */
        start local 0 // org.graalvm.nativeimage.IsolateThread vmThread
         3: goto 6
         4: .line 282
      StackMap locals: org.graalvm.nativeimage.IsolateThread
      StackMap stack:
            aload 0 /* vmThread */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.disableAndFlushForThread:(Lorg/graalvm/nativeimage/IsolateThread;)V
         5: .line 281
            aload 0 /* vmThread */
            invokestatic com.oracle.svm.core.thread.VMThreads.nextThread:(Lorg/graalvm/nativeimage/IsolateThread;)Lorg/graalvm/nativeimage/IsolateThread;
            astore 0 /* vmThread */
      StackMap locals:
      StackMap stack:
         6: aload 0 /* vmThread */
            invokeinterface org.graalvm.nativeimage.IsolateThread.isNonNull:()Z
            ifne 4
        end local 0 // org.graalvm.nativeimage.IsolateThread vmThread
         7: .line 284
            goto 9
         8: .line 285
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.nativeimage.IsolateThread
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.disableAndFlushForThread:(Lorg/graalvm/nativeimage/IsolateThread;)V
         9: .line 287
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            3    7     0  vmThread  Lorg/graalvm/nativeimage/IsolateThread;

  static void disableAndFlushForThread(org.graalvm.nativeimage.IsolateThread);
    descriptor: (Lorg/graalvm/nativeimage/IsolateThread;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.nativeimage.IsolateThread vmThread
         0: .line 291
            aload 0 /* vmThread */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.getTlab:(Lorg/graalvm/nativeimage/IsolateThread;)Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
            invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getYoungGeneration:()Lcom/oracle/svm/core/genscavenge/YoungGeneration;
            invokevirtual com.oracle.svm.core.genscavenge.YoungGeneration.getEden:()Lcom/oracle/svm/core/genscavenge/Space;
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.retireToSpace:(Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;Lcom/oracle/svm/core/genscavenge/Space;)V
         1: .line 292
            return
        end local 0 // org.graalvm.nativeimage.IsolateThread vmThread
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  vmThread  Lorg/graalvm/nativeimage/IsolateThread;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Accesses TLAB")
    MethodParameters:
          Name  Flags
      vmThread  

  static void tearDown();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 296
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.nativeimage.IsolateThread
            astore 0 /* thread */
        start local 0 // org.graalvm.nativeimage.IsolateThread thread
         1: .line 297
            getstatic com.oracle.svm.core.SubstrateOptions.MultiThreaded: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: .line 299
            invokestatic com.oracle.svm.core.thread.VMThreads.firstThreadUnsafe:()Lorg/graalvm/nativeimage/IsolateThread;
            astore 0 /* thread */
         3: .line 300
            aload 0 /* thread */
            invokestatic com.oracle.svm.core.thread.VMThreads.nextThread:(Lorg/graalvm/nativeimage/IsolateThread;)Lorg/graalvm/nativeimage/IsolateThread;
            invokeinterface org.graalvm.nativeimage.IsolateThread.isNull:()Z
            ldc "Other isolate threads are still active"
            invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
         4: .line 302
      StackMap locals: org.graalvm.nativeimage.IsolateThread
      StackMap stack:
            aload 0 /* thread */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.getTlab:(Lorg/graalvm/nativeimage/IsolateThread;)Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.freeHeapChunks:(Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;)V
         5: .line 303
            return
        end local 0 // org.graalvm.nativeimage.IsolateThread thread
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    6     0  thread  Lorg/graalvm/nativeimage/IsolateThread;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)

  private static void freeHeapChunks(com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor);
    descriptor: (Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
         0: .line 307
            aload 0 /* tlab */
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getAlignedChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            invokestatic com.oracle.svm.core.genscavenge.HeapChunkProvider.freeAlignedChunkList:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         1: .line 308
            aload 0 /* tlab */
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getUnalignedChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            invokestatic com.oracle.svm.core.genscavenge.HeapChunkProvider.freeUnalignedChunkList:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         2: .line 309
            return
        end local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  tlab  Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
      Name  Flags
      tlab  

  static void suspendInCurrentThread();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 313
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.getTlab:()Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.retireCurrentAllocationChunk:(Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;)V
         1: .line 314
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Accesses TLAB")

  static void resumeInCurrentThread();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 318
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.getTlab:()Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.resumeAllocationInCurrentChunk:(Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;)V
         1: .line 319
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Accesses TLAB")

  static void retireToSpace(com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor, com.oracle.svm.core.genscavenge.Space);
    descriptor: (Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;Lcom/oracle/svm/core/genscavenge/Space;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
        start local 1 // com.oracle.svm.core.genscavenge.Space space
         0: .line 323
            ldc "Otherwise, we wouldn't be allowed to access the space."
            invokestatic com.oracle.svm.core.thread.VMThreads.guaranteeOwnsThreadMutex:(Ljava/lang/String;)V
         1: .line 324
            getstatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.$assertionsDisabled:Z
            ifne 2
            aload 1 /* space */
            invokevirtual com.oracle.svm.core.genscavenge.Space.isOldSpace:()Z
            ifeq 2
            new java.lang.AssertionError
            dup
            ldc "must not be moved to the old gen - otherwise a remembered set would have to be constructed"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* tlab */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.retireCurrentAllocationChunk:(Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;)V
         3: .line 328
            aload 0 /* tlab */
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getAlignedChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 2 /* alignedChunk */
        start local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader alignedChunk
         4: .line 329
            aload 0 /* tlab */
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getUnalignedChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            astore 3 /* unalignedChunk */
        start local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader unalignedChunk
         5: .line 330
            aload 0 /* tlab */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.setAlignedChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         6: .line 331
            aload 0 /* tlab */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.setUnalignedChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         7: .line 333
            goto 12
         8: .line 334
      StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
      StackMap stack:
            aload 2 /* alignedChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;
            checkcast com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
            astore 4 /* next */
        start local 4 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader next
         9: .line 335
            aload 2 /* alignedChunk */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
        10: .line 336
            aload 1 /* space */
            aload 2 /* alignedChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.appendAlignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
        11: .line 337
            aload 4 /* next */
            astore 2 /* alignedChunk */
        end local 4 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader next
        12: .line 333
      StackMap locals:
      StackMap stack:
            aload 2 /* alignedChunk */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifne 8
        13: .line 340
            goto 18
        14: .line 341
      StackMap locals:
      StackMap stack:
            aload 3 /* unalignedChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;
            checkcast com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
            astore 4 /* next */
        start local 4 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader next
        15: .line 342
            aload 3 /* unalignedChunk */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
        16: .line 343
            aload 1 /* space */
            aload 3 /* unalignedChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.appendUnalignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
        17: .line 344
            aload 4 /* next */
            astore 3 /* unalignedChunk */
        end local 4 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader next
        18: .line 340
      StackMap locals:
      StackMap stack:
            aload 3 /* unalignedChunk */
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNonNull:()Z
            ifne 14
        19: .line 346
            return
        end local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader unalignedChunk
        end local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader alignedChunk
        end local 1 // com.oracle.svm.core.genscavenge.Space space
        end local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0            tlab  Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            0   20     1           space  Lcom/oracle/svm/core/genscavenge/Space;
            4   20     2    alignedChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            5   20     3  unalignedChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            9   12     4            next  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
           15   18     4            next  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Accesses TLAB")
    MethodParameters:
       Name  Flags
      tlab   
      space  

  private static void registerNewAllocationChunk(com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor, com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
        start local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newChunk
         0: .line 350
            aload 1 /* newChunk */
            aload 0 /* tlab */
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getAlignedChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
         1: .line 351
            aload 0 /* tlab */
            aload 1 /* newChunk */
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.setAlignedChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         2: .line 353
            aload 0 /* tlab */
            invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.resumeAllocationInCurrentChunk:(Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;)V
         3: .line 354
            return
        end local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newChunk
        end local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      tlab  Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            0    4     1  newChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Modifies TLAB")
    MethodParameters:
          Name  Flags
      tlab      
      newChunk  

  private static void retireCurrentAllocationChunk(com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor);
    descriptor: (Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
         0: .line 358
            aload 0 /* tlab */
            getstatic com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.TLAB_TOP_IDENTITY:Lorg/graalvm/word/LocationIdentity;
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getAllocationTop:(Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            astore 1 /* allocationTop */
        start local 1 // org.graalvm.word.Pointer allocationTop
         1: .line 359
            aload 1 /* allocationTop */
            invokeinterface org.graalvm.word.Pointer.isNonNull:()Z
            ifeq 8
         2: .line 360
            aload 0 /* tlab */
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getAlignedChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 2 /* alignedChunk */
        start local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader alignedChunk
         3: .line 362
            getstatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.$assertionsDisabled:Z
            ifne 4
            aload 2 /* alignedChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            invokeinterface org.graalvm.word.Pointer.isNull:()Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 363
      StackMap locals: org.graalvm.word.Pointer com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.$assertionsDisabled:Z
            ifne 5
            aload 2 /* alignedChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getEndPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            aload 0 /* tlab */
            getstatic com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.TLAB_END_IDENTITY:Lorg/graalvm/word/LocationIdentity;
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getAllocationEnd:(Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            invokeinterface org.graalvm.word.Pointer.equal:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 370
      StackMap locals:
      StackMap stack:
            aload 2 /* alignedChunk */
            aload 1 /* allocationTop */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lorg/graalvm/word/Pointer;)V
         6: .line 371
            aload 0 /* tlab */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            getstatic com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.TLAB_TOP_IDENTITY:Lorg/graalvm/word/LocationIdentity;
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.setAllocationTop:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/LocationIdentity;)V
         7: .line 372
            aload 0 /* tlab */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            getstatic com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.TLAB_END_IDENTITY:Lorg/graalvm/word/LocationIdentity;
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.setAllocationEnd:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/LocationIdentity;)V
        end local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader alignedChunk
         8: .line 374
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.word.Pointer allocationTop
        end local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           tlab  Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            1    9     1  allocationTop  Lorg/graalvm/word/Pointer;
            3    8     2   alignedChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Modifies TLAB")
    MethodParameters:
      Name  Flags
      tlab  

  static void resumeAllocationInCurrentChunk(com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor);
    descriptor: (Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
         0: .line 378
            getstatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.$assertionsDisabled:Z
            ifne 1
            aload 0 /* tlab */
            getstatic com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.TLAB_TOP_IDENTITY:Lorg/graalvm/word/LocationIdentity;
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getAllocationTop:(Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            invokevirtual org.graalvm.compiler.word.Word.isNull:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 379
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.$assertionsDisabled:Z
            ifne 2
            aload 0 /* tlab */
            getstatic com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.TLAB_END_IDENTITY:Lorg/graalvm/word/LocationIdentity;
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getAllocationEnd:(Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            invokevirtual org.graalvm.compiler.word.Word.isNull:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* tlab */
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.getAlignedChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 1 /* alignedChunk */
        start local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader alignedChunk
         3: .line 382
            aload 1 /* alignedChunk */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifeq 7
         4: .line 383
            aload 0 /* tlab */
            aload 1 /* alignedChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            getstatic com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.TLAB_TOP_IDENTITY:Lorg/graalvm/word/LocationIdentity;
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.setAllocationTop:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/LocationIdentity;)V
         5: .line 389
            aload 0 /* tlab */
            aload 1 /* alignedChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getEndPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            getstatic com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.TLAB_END_IDENTITY:Lorg/graalvm/word/LocationIdentity;
            invokeinterface com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor.setAllocationEnd:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/LocationIdentity;)V
         6: .line 390
            aload 1 /* alignedChunk */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lorg/graalvm/word/Pointer;)V
         7: .line 392
      StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            return
        end local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader alignedChunk
        end local 0 // com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor tlab
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          tlab  Lcom/oracle/svm/core/genscavenge/ThreadLocalAllocation$Descriptor;
            3    8     1  alignedChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Modifies TLAB.")
    MethodParameters:
      Name  Flags
      tlab  
}
SourceFile: "ThreadLocalAllocation.java"
NestMembers:
  com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor
InnerClasses:
  public final Access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access of com.oracle.svm.core.annotate.RestrictHeapAccess
  public abstract AlignedHeader = com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader of com.oracle.svm.core.genscavenge.AlignedHeapChunk
  public abstract Header = com.oracle.svm.core.genscavenge.HeapChunk$Header of com.oracle.svm.core.genscavenge.HeapChunk
  public abstract Descriptor = com.oracle.svm.core.genscavenge.ThreadLocalAllocation$Descriptor of com.oracle.svm.core.genscavenge.ThreadLocalAllocation
  public abstract UnalignedHeader = com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader of com.oracle.svm.core.genscavenge.UnalignedHeapChunk
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles