public class org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.aarch64.AArch64ControlFlow this
         0: .line 64
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.lir.aarch64.AArch64ControlFlow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/aarch64/AArch64ControlFlow;

  private static void emitCompare(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.ConstantValue);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/ConstantValue;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        start local 2 // jdk.vm.ci.meta.Value key
        start local 3 // jdk.vm.ci.meta.Value scratchValue
        start local 4 // org.graalvm.compiler.lir.ConstantValue c
         0: .line 385
            aload 4 /* c */
            invokevirtual org.graalvm.compiler.lir.ConstantValue.getJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 5 /* imm */
        start local 5 // long imm
         1: .line 386
            aload 2 /* key */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
            bipush 8
            imul
            istore 7 /* size */
        start local 7 // int size
         2: .line 387
            lload 5 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isComparisonImmediate:(J)Z
            ifeq 5
         3: .line 388
            aload 1 /* masm */
            iload 7 /* size */
            aload 2 /* key */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            lload 5 /* imm */
            l2i
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cmp:(ILjdk/vm/ci/code/Register;I)V
         4: .line 389
            goto 7
         5: .line 390
      StackMap locals: long int
      StackMap stack:
            aload 0 /* crb */
            aload 1 /* masm */
            aload 3 /* scratchValue */
            invokestatic jdk.vm.ci.code.ValueUtil.asAllocatableValue:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 4 /* c */
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.move:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         6: .line 391
            aload 1 /* masm */
            iload 7 /* size */
            aload 2 /* key */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aload 3 /* scratchValue */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cmp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         7: .line 393
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int size
        end local 5 // long imm
        end local 4 // org.graalvm.compiler.lir.ConstantValue c
        end local 3 // jdk.vm.ci.meta.Value scratchValue
        end local 2 // jdk.vm.ci.meta.Value key
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        end local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0           crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0    8     1          masm  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    8     2           key  Ljdk/vm/ci/meta/Value;
            0    8     3  scratchValue  Ljdk/vm/ci/meta/Value;
            0    8     4             c  Lorg/graalvm/compiler/lir/ConstantValue;
            1    8     5           imm  J
            2    8     7          size  I
    MethodParameters:
              Name  Flags
      crb           
      masm          
      key           
      scratchValue  
      c             
}
SourceFile: "AArch64ControlFlow.java"
NestMembers:
  org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$AbstractBranchOp  org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$BitTestAndBranchOp  org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$BranchOp  org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$CompareBranchZeroOp  org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$CondMoveOp  org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$CondSetOp  org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$ReturnOp  org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$StrategySwitchOp  org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$StrategySwitchOp$SwitchClosure  org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$TableSwitchOp
InnerClasses:
  public abstract AbstractBranchOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$AbstractBranchOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
  public BitTestAndBranchOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$BitTestAndBranchOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
  public BranchOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$BranchOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
  public CompareBranchZeroOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$CompareBranchZeroOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
  public CondMoveOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$CondMoveOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
  public CondSetOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$CondSetOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
  public final ReturnOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$ReturnOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
  public StrategySwitchOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$StrategySwitchOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
  public final TableSwitchOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$TableSwitchOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow