public final class jdk.vm.ci.code.BytecodeFrame extends jdk.vm.ci.code.BytecodePosition
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.vm.ci.code.BytecodeFrame
  super_class: jdk.vm.ci.code.BytecodePosition
{
  public final jdk.vm.ci.meta.JavaValue[] values;
    descriptor: [Ljdk/vm/ci/meta/JavaValue;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.code.SuppressFBWarnings(value = {"EI_EXPOSE_REP2"}, justification = "field is intentionally mutable")

  private final jdk.vm.ci.meta.JavaKind[] slotKinds;
    descriptor: [Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public final int numLocals;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int numStack;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int numLocks;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final boolean rethrowException;
    descriptor: Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final boolean duringCall;
    descriptor: Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public static final int UNKNOWN_BCI;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -5

  public static final int UNWIND_BCI;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final int BEFORE_BCI;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -2

  public static final int AFTER_BCI;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -3

  public static final int AFTER_EXCEPTION_BCI;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -4

  public static final int INVALID_FRAMESTATE_BCI;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -6

  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=1, locals=0, args_size=0
         0: .line 37
            ldc Ljdk/vm/ci/code/BytecodeFrame;
            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 jdk.vm.ci.code.BytecodeFrame.$assertionsDisabled:Z
         3: .line 147
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean isPlaceholderBci(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int bci
         0: .line 153
            iload 0 /* bci */
            ifge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int bci
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   bci  I
    MethodParameters:
      Name  Flags
      bci   

  public static java.lang.String getPlaceholderBciName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int bci
         0: .line 160
            getstatic jdk.vm.ci.code.BytecodeFrame.$assertionsDisabled:Z
            ifne 1
            iload 0 /* bci */
            invokestatic jdk.vm.ci.code.BytecodeFrame.isPlaceholderBci:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 161
      StackMap locals:
      StackMap stack:
            iload 0 /* bci */
            bipush -3
            if_icmpne 3
         2: .line 162
            ldc "AFTER_BCI"
            areturn
         3: .line 163
      StackMap locals:
      StackMap stack:
            iload 0 /* bci */
            bipush -4
            if_icmpne 5
         4: .line 164
            ldc "AFTER_EXCEPTION_BCI"
            areturn
         5: .line 165
      StackMap locals:
      StackMap stack:
            iload 0 /* bci */
            bipush -6
            if_icmpne 7
         6: .line 166
            ldc "INVALID_FRAMESTATE_BCI"
            areturn
         7: .line 167
      StackMap locals:
      StackMap stack:
            iload 0 /* bci */
            bipush -2
            if_icmpne 9
         8: .line 168
            ldc "BEFORE_BCI"
            areturn
         9: .line 169
      StackMap locals:
      StackMap stack:
            iload 0 /* bci */
            bipush -5
            if_icmpne 11
        10: .line 170
            ldc "UNKNOWN_BCI"
            areturn
        11: .line 172
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.code.BytecodeFrame.$assertionsDisabled:Z
            ifne 12
            iload 0 /* bci */
            iconst_m1
            if_icmpeq 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 173
      StackMap locals:
      StackMap stack:
            ldc "UNWIND_BCI"
            areturn
        end local 0 // int bci
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0   bci  I
    MethodParameters:
      Name  Flags
      bci   

  public void <init>(jdk.vm.ci.code.BytecodeFrame, jdk.vm.ci.meta.ResolvedJavaMethod, int, boolean, boolean, jdk.vm.ci.meta.JavaValue[], jdk.vm.ci.meta.JavaKind[], int, int, int);
    descriptor: (Ljdk/vm/ci/code/BytecodeFrame;Ljdk/vm/ci/meta/ResolvedJavaMethod;IZZ[Ljdk/vm/ci/meta/JavaValue;[Ljdk/vm/ci/meta/JavaKind;III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=11
        start local 0 // jdk.vm.ci.code.BytecodeFrame this
        start local 1 // jdk.vm.ci.code.BytecodeFrame caller
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // int bci
        start local 4 // boolean rethrowException
        start local 5 // boolean duringCall
        start local 6 // jdk.vm.ci.meta.JavaValue[] values
        start local 7 // jdk.vm.ci.meta.JavaKind[] slotKinds
        start local 8 // int numLocals
        start local 9 // int numStack
        start local 10 // int numLocks
         0: .line 195
            aload 0 /* this */
            aload 1 /* caller */
            aload 2 /* method */
            iload 3 /* bci */
            invokespecial jdk.vm.ci.code.BytecodePosition.<init>:(Ljdk/vm/ci/code/BytecodePosition;Ljdk/vm/ci/meta/ResolvedJavaMethod;I)V
         1: .line 196
            getstatic jdk.vm.ci.code.BytecodeFrame.$assertionsDisabled:Z
            ifne 2
            aload 6 /* values */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 197
      StackMap locals: jdk.vm.ci.code.BytecodeFrame jdk.vm.ci.code.BytecodeFrame jdk.vm.ci.meta.ResolvedJavaMethod int int int jdk.vm.ci.meta.JavaValue[] jdk.vm.ci.meta.JavaKind[] int int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* rethrowException */
            putfield jdk.vm.ci.code.BytecodeFrame.rethrowException:Z
         3: .line 198
            aload 0 /* this */
            iload 5 /* duringCall */
            putfield jdk.vm.ci.code.BytecodeFrame.duringCall:Z
         4: .line 199
            aload 0 /* this */
            aload 6 /* values */
            putfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
         5: .line 200
            aload 0 /* this */
            aload 7 /* slotKinds */
            putfield jdk.vm.ci.code.BytecodeFrame.slotKinds:[Ljdk/vm/ci/meta/JavaKind;
         6: .line 201
            aload 0 /* this */
            iload 8 /* numLocals */
            putfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
         7: .line 202
            aload 0 /* this */
            iload 9 /* numStack */
            putfield jdk.vm.ci.code.BytecodeFrame.numStack:I
         8: .line 203
            aload 0 /* this */
            iload 10 /* numLocks */
            putfield jdk.vm.ci.code.BytecodeFrame.numLocks:I
         9: .line 204
            getstatic jdk.vm.ci.code.BytecodeFrame.$assertionsDisabled:Z
            ifne 10
            iload 4 /* rethrowException */
            ifeq 10
            iload 9 /* numStack */
            iconst_1
            if_icmpeq 10
            new java.lang.AssertionError
            dup
            ldc "must have exception on top of the stack"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 205
      StackMap locals:
      StackMap stack:
            return
        end local 10 // int numLocks
        end local 9 // int numStack
        end local 8 // int numLocals
        end local 7 // jdk.vm.ci.meta.JavaKind[] slotKinds
        end local 6 // jdk.vm.ci.meta.JavaValue[] values
        end local 5 // boolean duringCall
        end local 4 // boolean rethrowException
        end local 3 // int bci
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // jdk.vm.ci.code.BytecodeFrame caller
        end local 0 // jdk.vm.ci.code.BytecodeFrame this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Ljdk/vm/ci/code/BytecodeFrame;
            0   11     1            caller  Ljdk/vm/ci/code/BytecodeFrame;
            0   11     2            method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   11     3               bci  I
            0   11     4  rethrowException  Z
            0   11     5        duringCall  Z
            0   11     6            values  [Ljdk/vm/ci/meta/JavaValue;
            0   11     7         slotKinds  [Ljdk/vm/ci/meta/JavaKind;
            0   11     8         numLocals  I
            0   11     9          numStack  I
            0   11    10          numLocks  I
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.code.SuppressFBWarnings(value = {"EI_EXPOSE_REP2"}, justification = "caller transfers ownership of `slotKinds`")
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        jdk.vm.ci.code.SuppressFBWarnings(value = {"EI_EXPOSE_REP2"}, justification = "caller transfers ownership of `slotKinds`")
    MethodParameters:
                  Name  Flags
      caller            
      method            
      bci               
      rethrowException  
      duringCall        
      values            
      slotKinds         
      numLocals         
      numStack          
      numLocks          

  public boolean validateFormat();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // jdk.vm.ci.code.BytecodeFrame this
         0: .line 213
            aload 0 /* this */
            invokevirtual jdk.vm.ci.code.BytecodeFrame.caller:()Ljdk/vm/ci/code/BytecodeFrame;
            ifnull 2
         1: .line 214
            aload 0 /* this */
            invokevirtual jdk.vm.ci.code.BytecodeFrame.caller:()Ljdk/vm/ci/code/BytecodeFrame;
            invokevirtual jdk.vm.ci.code.BytecodeFrame.validateFormat:()Z
            pop
         2: .line 216
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 10
         4: .line 217
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
            iload 1 /* i */
            aaload
            ifnull 9
         5: .line 218
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.slotKinds:[Ljdk/vm/ci/meta/JavaKind;
            iload 1 /* i */
            aaload
            astore 2 /* kind */
        start local 2 // jdk.vm.ci.meta.JavaKind kind
         6: .line 219
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.needsTwoSlots:()Z
            ifeq 9
         7: .line 220
            getstatic jdk.vm.ci.code.BytecodeFrame.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.slotKinds:[Ljdk/vm/ci/meta/JavaKind;
            arraylength
            iload 1 /* i */
            iconst_1
            iadd
            if_icmpgt 8
            new java.lang.AssertionError
            dup
            ldc "missing second word %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 221
      StackMap locals: jdk.vm.ci.meta.JavaKind
      StackMap stack:
            getstatic jdk.vm.ci.code.BytecodeFrame.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.slotKinds:[Ljdk/vm/ci/meta/JavaKind;
            iload 1 /* i */
            iconst_1
            iadd
            aaload
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 9
            new java.lang.AssertionError
            dup
            aload 0 /* this */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // jdk.vm.ci.meta.JavaKind kind
         9: .line 216
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 1 /* i */
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numStack:I
            iadd
            if_icmplt 4
        end local 1 // int i
        11: .line 225
            iconst_1
            ireturn
        end local 0 // jdk.vm.ci.code.BytecodeFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljdk/vm/ci/code/BytecodeFrame;
            3   11     1     i  I
            6    9     2  kind  Ljdk/vm/ci/meta/JavaKind;

  public jdk.vm.ci.meta.JavaKind getLocalValueKind(int);
    descriptor: (I)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.code.BytecodeFrame this
        start local 1 // int i
         0: .line 236
            iload 1 /* i */
            iflt 1
            iload 1 /* i */
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
            if_icmplt 2
         1: .line 237
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.slotKinds:[Ljdk/vm/ci/meta/JavaKind;
            iload 1 /* i */
            aaload
            areturn
        end local 1 // int i
        end local 0 // jdk.vm.ci.code.BytecodeFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/code/BytecodeFrame;
            0    3     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public jdk.vm.ci.meta.JavaKind getStackValueKind(int);
    descriptor: (I)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.code.BytecodeFrame this
        start local 1 // int i
         0: .line 250
            iload 1 /* i */
            iflt 1
            iload 1 /* i */
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numStack:I
            if_icmplt 2
         1: .line 251
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.slotKinds:[Ljdk/vm/ci/meta/JavaKind;
            iload 1 /* i */
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
            iadd
            aaload
            areturn
        end local 1 // int i
        end local 0 // jdk.vm.ci.code.BytecodeFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/code/BytecodeFrame;
            0    3     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public jdk.vm.ci.meta.JavaValue getLocalValue(int);
    descriptor: (I)Ljdk/vm/ci/meta/JavaValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.code.BytecodeFrame this
        start local 1 // int i
         0: .line 264
            iload 1 /* i */
            iflt 1
            iload 1 /* i */
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
            if_icmplt 2
         1: .line 265
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
            iload 1 /* i */
            aaload
            areturn
        end local 1 // int i
        end local 0 // jdk.vm.ci.code.BytecodeFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/code/BytecodeFrame;
            0    3     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public jdk.vm.ci.meta.JavaValue getStackValue(int);
    descriptor: (I)Ljdk/vm/ci/meta/JavaValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.code.BytecodeFrame this
        start local 1 // int i
         0: .line 278
            iload 1 /* i */
            iflt 1
            iload 1 /* i */
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numStack:I
            if_icmplt 2
         1: .line 279
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
            iload 1 /* i */
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
            iadd
            aaload
            areturn
        end local 1 // int i
        end local 0 // jdk.vm.ci.code.BytecodeFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/code/BytecodeFrame;
            0    3     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public jdk.vm.ci.meta.JavaValue getLockValue(int);
    descriptor: (I)Ljdk/vm/ci/meta/JavaValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.code.BytecodeFrame this
        start local 1 // int i
         0: .line 292
            iload 1 /* i */
            iflt 1
            iload 1 /* i */
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numLocks:I
            if_icmplt 2
         1: .line 293
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
            iload 1 /* i */
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
            iadd
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numStack:I
            iadd
            aaload
            areturn
        end local 1 // int i
        end local 0 // jdk.vm.ci.code.BytecodeFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/code/BytecodeFrame;
            0    3     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public jdk.vm.ci.code.BytecodeFrame caller();
    descriptor: ()Ljdk/vm/ci/code/BytecodeFrame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.code.BytecodeFrame this
         0: .line 304
            aload 0 /* this */
            invokevirtual jdk.vm.ci.code.BytecodeFrame.getCaller:()Ljdk/vm/ci/code/BytecodePosition;
            checkcast jdk.vm.ci.code.BytecodeFrame
            areturn
        end local 0 // jdk.vm.ci.code.BytecodeFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/code/BytecodeFrame;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.code.BytecodeFrame this
         0: .line 309
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numStack:I
            bipush 11
            iadd
            ixor
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numLocks:I
            bipush 7
            iadd
            ixor
            ireturn
        end local 0 // jdk.vm.ci.code.BytecodeFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/code/BytecodeFrame;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.vm.ci.code.BytecodeFrame this
        start local 1 // java.lang.Object obj
         0: .line 314
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 2
         1: .line 315
            iconst_1
            ireturn
         2: .line 317
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof jdk.vm.ci.code.BytecodeFrame
            ifeq 12
            aload 0 /* this */
            aload 1 /* obj */
            invokespecial jdk.vm.ci.code.BytecodePosition.equals:(Ljava/lang/Object;)Z
            ifeq 12
         3: .line 318
            aload 1 /* obj */
            checkcast jdk.vm.ci.code.BytecodeFrame
            astore 2 /* that */
        start local 2 // jdk.vm.ci.code.BytecodeFrame that
         4: .line 320
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.duringCall:Z
            aload 2 /* that */
            getfield jdk.vm.ci.code.BytecodeFrame.duringCall:Z
            if_icmpne 11
         5: .line 321
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.rethrowException:Z
            aload 2 /* that */
            getfield jdk.vm.ci.code.BytecodeFrame.rethrowException:Z
            if_icmpne 11
         6: .line 322
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
            aload 2 /* that */
            getfield jdk.vm.ci.code.BytecodeFrame.numLocals:I
            if_icmpne 11
         7: .line 323
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numLocks:I
            aload 2 /* that */
            getfield jdk.vm.ci.code.BytecodeFrame.numLocks:I
            if_icmpne 11
         8: .line 324
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.numStack:I
            aload 2 /* that */
            getfield jdk.vm.ci.code.BytecodeFrame.numStack:I
            if_icmpne 11
         9: .line 325
            aload 0 /* this */
            getfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
            aload 2 /* that */
            getfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifeq 11
        10: .line 326
            iconst_1
            ireturn
        11: .line 329
      StackMap locals: jdk.vm.ci.code.BytecodeFrame
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // jdk.vm.ci.code.BytecodeFrame that
        12: .line 331
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // jdk.vm.ci.code.BytecodeFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljdk/vm/ci/code/BytecodeFrame;
            0   13     1   obj  Ljava/lang/Object;
            4   12     2  that  Ljdk/vm/ci/code/BytecodeFrame;
    MethodParameters:
      Name  Flags
      obj   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.code.BytecodeFrame this
         0: .line 336
            new java.lang.StringBuilder
            dup
            bipush 100
            invokespecial java.lang.StringBuilder.<init>:(I)V
            aload 0 /* this */
            invokestatic jdk.vm.ci.code.CodeUtil.append:(Ljava/lang/StringBuilder;Ljdk/vm/ci/code/BytecodeFrame;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.vm.ci.code.BytecodeFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/code/BytecodeFrame;
}
SourceFile: "BytecodeFrame.java"