class com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode extends com.oracle.truffle.api.nodes.Node
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode
  super_class: com.oracle.truffle.api.nodes.Node
{
  private final com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue oldValue;
    descriptor: Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue newValue;
    descriptor: Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode[] children;
    descriptor: [Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocNode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Children()

  private final com.oracle.truffle.api.instrumentation.AllocationReporter reporter;
    descriptor: Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$api$instrumentation$test$AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  void <init>(com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue, com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue, com.oracle.truffle.api.instrumentation.AllocationReporter);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;Lcom/oracle/truffle/api/instrumentation/AllocationReporter;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode this
        start local 1 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue oldValue
        start local 2 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue newValue
        start local 3 // com.oracle.truffle.api.instrumentation.AllocationReporter reporter
         0: .line 761
            aload 0 /* this */
            aload 1 /* oldValue */
            aload 2 /* newValue */
            aload 3 /* reporter */
            aconst_null
            invokespecial com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.<init>:(Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;Lcom/oracle/truffle/api/instrumentation/AllocationReporter;[Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocNode;)V
         1: .line 762
            return
        end local 3 // com.oracle.truffle.api.instrumentation.AllocationReporter reporter
        end local 2 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue newValue
        end local 1 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue oldValue
        end local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocNode;
            0    2     1  oldValue  Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            0    2     2  newValue  Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            0    2     3  reporter  Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
    MethodParameters:
          Name  Flags
      oldValue  
      newValue  
      reporter  

  void <init>(com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue, com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue, com.oracle.truffle.api.instrumentation.AllocationReporter, com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode[]);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;Lcom/oracle/truffle/api/instrumentation/AllocationReporter;[Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocNode;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode this
        start local 1 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue oldValue
        start local 2 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue newValue
        start local 3 // com.oracle.truffle.api.instrumentation.AllocationReporter reporter
        start local 4 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode[] children
         0: .line 764
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
         1: .line 765
            aload 0 /* this */
            aload 1 /* oldValue */
            putfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.oldValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
         2: .line 766
            aload 0 /* this */
            aload 2 /* newValue */
            putfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.newValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
         3: .line 767
            aload 0 /* this */
            aload 4 /* children */
            putfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.children:[Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocNode;
         4: .line 768
            aload 0 /* this */
            aload 3 /* reporter */
            putfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.reporter:Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
         5: .line 769
            return
        end local 4 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode[] children
        end local 3 // com.oracle.truffle.api.instrumentation.AllocationReporter reporter
        end local 2 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue newValue
        end local 1 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue oldValue
        end local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocNode;
            0    6     1  oldValue  Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            0    6     2  newValue  Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            0    6     3  reporter  Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
            0    6     4  children  [Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocNode;
    MethodParameters:
          Name  Flags
      oldValue  
      newValue  
      reporter  
      children  

  public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 773
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.newValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            ifnonnull 4
         1: .line 774
            getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$Null.INSTANCE:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$Null;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         2: .line 775
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.execChildren:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
         3: .line 776
            goto 28
        end local 2 // java.lang.Object value
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.oldValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            ifnonnull 13
         5: .line 778
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.reporter:Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
            invokevirtual com.oracle.truffle.api.instrumentation.AllocationReporter.isActive:()Z
            ifeq 8
         6: .line 779
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.newValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue.kind:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            getstatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.WRONG:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            if_acmpeq 8
         7: .line 781
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.reporter:Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
            aconst_null
            lconst_0
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.newValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            invokestatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.getAllocationSizeEstimate:(Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;)J
            invokevirtual com.oracle.truffle.api.instrumentation.AllocationReporter.onEnter:(Ljava/lang/Object;JJ)V
         8: .line 784
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.execChildren:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
         9: .line 785
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.newValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            invokestatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.allocateValue:(Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
        10: .line 786
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.reporter:Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
            invokevirtual com.oracle.truffle.api.instrumentation.AllocationReporter.isActive:()Z
            ifeq 28
        11: .line 787
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.reporter:Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
            aload 2 /* value */
            lconst_0
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.newValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            aload 2 /* value */
            invokestatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.computeValueSize:(Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;Ljava/lang/Object;)J
            invokevirtual com.oracle.truffle.api.instrumentation.AllocationReporter.onReturnValue:(Ljava/lang/Object;JJ)V
        12: .line 789
            goto 28
        end local 2 // java.lang.Object value
        13: .line 791
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.oldValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            invokestatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.allocateValue:(Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
        14: .line 792
            ldc -9223372036854775808
            lstore 3 /* oldSize */
        start local 3 // long oldSize
        15: .line 793
            ldc -9223372036854775808
            lstore 5 /* newSize */
        start local 5 // long newSize
        16: .line 794
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.reporter:Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
            invokevirtual com.oracle.truffle.api.instrumentation.AllocationReporter.isActive:()Z
            ifeq 20
        17: .line 795
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.oldValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            aload 2 /* value */
            invokestatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.computeValueSize:(Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;Ljava/lang/Object;)J
            lstore 3 /* oldSize */
        18: .line 796
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.newValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            invokestatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.getAllocationSizeEstimate:(Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;)J
            lstore 5 /* newSize */
        19: .line 797
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.reporter:Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
            aload 2 /* value */
            lload 3 /* oldSize */
            lload 5 /* newSize */
            invokevirtual com.oracle.truffle.api.instrumentation.AllocationReporter.onEnter:(Ljava/lang/Object;JJ)V
        20: .line 799
      StackMap locals: java.lang.Object long long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.execChildren:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
        21: .line 801
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.reporter:Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
            invokevirtual com.oracle.truffle.api.instrumentation.AllocationReporter.isActive:()Z
            ifeq 28
        22: .line 802
            lload 5 /* newSize */
            ldc -9223372036854775808
            lcmp
            ifne 27
        23: .line 803
            getstatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.BIG:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.newValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue.kind:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            if_acmpne 26
        24: .line 804
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.newValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            invokestatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.allocateValue:(Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$BigNumber
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$BigNumber.getSize:()J
            lstore 5 /* newSize */
        25: .line 805
            goto 27
        26: .line 806
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.newValue:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            invokestatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.getAllocationSizeEstimate:(Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;)J
            lstore 5 /* newSize */
        27: .line 809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.reporter:Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
            aload 2 /* value */
            lload 3 /* oldSize */
            lload 5 /* newSize */
            invokevirtual com.oracle.truffle.api.instrumentation.AllocationReporter.onReturnValue:(Ljava/lang/Object;JJ)V
        end local 5 // long newSize
        end local 3 // long oldSize
        28: .line 812
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 2 // java.lang.Object value
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   29     0     this  Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocNode;
            0   29     1    frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            2    4     2    value  Ljava/lang/Object;
           10   13     2    value  Ljava/lang/Object;
           14   29     2    value  Ljava/lang/Object;
           15   28     3  oldSize  J
           16   28     5  newSize  J
    MethodParameters:
       Name  Flags
      frame  

  private void execChildren(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 817
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.children:[Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocNode;
            ifnull 6
         1: .line 818
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.children:[Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocNode;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode com.oracle.truffle.api.frame.VirtualFrame top int int com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* ch */
        start local 2 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode ch
         3: .line 819
            aload 2 /* ch */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            pop
        end local 2 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode ch
         4: .line 818
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 822
      StackMap locals: com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode com.oracle.truffle.api.frame.VirtualFrame
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocNode;
            0    7     1  frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            3    4     2     ch  Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocNode;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.ExplodeLoop()
    MethodParameters:
       Name  Flags
      frame  

  private static long getAllocationSizeEstimate(com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue value
         0: .line 825
            invokestatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.$SWITCH_TABLE$com$oracle$truffle$api$instrumentation$test$AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind:()[I
            aload 0 /* value */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue.kind:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 3
                    2: 1
                    3: 2
                    4: 3
              default: 3
          }
         1: .line 827
      StackMap locals:
      StackMap stack:
            ldc 4
            lreturn
         2: .line 829
      StackMap locals:
      StackMap stack:
            ldc 8
            lreturn
         3: .line 833
      StackMap locals:
      StackMap stack:
            ldc -9223372036854775808
            lreturn
        end local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  value  Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
    MethodParameters:
       Name  Flags
      value  

  private static long computeValueSize(com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;Ljava/lang/Object;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue aValue
        start local 1 // java.lang.Object value
         0: .line 838
            invokestatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.$SWITCH_TABLE$com$oracle$truffle$api$instrumentation$test$AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind:()[I
            aload 0 /* aValue */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue.kind:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 4
                    2: 1
                    3: 2
                    4: 3
              default: 4
          }
         1: .line 840
      StackMap locals:
      StackMap stack:
            ldc 4
            lreturn
         2: .line 842
      StackMap locals:
      StackMap stack:
            ldc 8
            lreturn
         3: .line 844
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            checkcast com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$BigNumber
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$BigNumber.getSize:()J
            lreturn
         4: .line 847
      StackMap locals:
      StackMap stack:
            ldc -9223372036854775808
            lreturn
        end local 1 // java.lang.Object value
        end local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue aValue
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  aValue  Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
            0    5     1   value  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      aValue  
      value   

  private static java.lang.Object allocateValue(com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue value
         0: .line 852
            invokestatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.$SWITCH_TABLE$com$oracle$truffle$api$instrumentation$test$AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind:()[I
            aload 0 /* value */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue.kind:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 5
                    2: 1
                    3: 2
                    4: 3
                    5: 4
              default: 5
          }
         1: .line 854
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue.text:Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         2: .line 856
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue.text:Ljava/lang/String;
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
         3: .line 858
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$BigNumber
            dup
            aload 0 /* value */
            getfield com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue.text:Ljava/lang/String;
            invokespecial com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$BigNumber.<init>:(Ljava/lang/String;)V
            areturn
         4: .line 860
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            areturn
         5: .line 863
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode$1
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode$1.<init>:()V
            areturn
        end local 0 // com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  value  Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue;
    MethodParameters:
       Name  Flags
      value  

  static int[] $SWITCH_TABLE$com$oracle$truffle$api$instrumentation$test$AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 753
            getstatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.$SWITCH_TABLE$com$oracle$truffle$api$instrumentation$test$AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.values:()[Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.BIG:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.INT:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.INTERNAL:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.ordinal:()I
            iconst_5
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.LONG:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.ordinal:()I
            iconst_3
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.UNKNOWN:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.ordinal:()I
            iconst_1
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.WRONG:Lcom/oracle/truffle/api/instrumentation/test/AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind;
            invokevirtual com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind.ordinal:()I
            bipush 6
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            dup
            putstatic com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode.$SWITCH_TABLE$com$oracle$truffle$api$instrumentation$test$AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
}
SourceFile: "AllocationReporterTest.java"
NestHost: com.oracle.truffle.api.instrumentation.test.AllocationReporterTest
InnerClasses:
  public AllocationReporterLanguage = com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage of com.oracle.truffle.api.instrumentation.test.AllocationReporterTest
  private AllocNode = com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode of com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage
  com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocNode$1
  private AllocValue = com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue of com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage
  final Kind = com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue$Kind of com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$AllocationReporterLanguage$AllocValue
  private BigNumber = com.oracle.truffle.api.instrumentation.test.AllocationReporterTest$BigNumber of com.oracle.truffle.api.instrumentation.test.AllocationReporterTest
  public final Null = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$Null of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
  public abstract Children = com.oracle.truffle.api.nodes.Node$Children of com.oracle.truffle.api.nodes.Node