public abstract class org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator implements org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator
  super_class: java.lang.Object
{
  org.graalvm.compiler.lir.gen.LIRGenerator lirGen;
    descriptor: Lorg/graalvm/compiler/lir/gen/LIRGenerator;
    flags: (0x0000) 

  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 35
            ldc Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            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 org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator this
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;

  public org.graalvm.compiler.lir.gen.LIRGenerator getLIRGen();
    descriptor: ()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator this
         0: .line 40
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.lirGen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            areturn
        end local 0 // org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;

  protected abstract boolean isNumericInteger(jdk.vm.ci.meta.PlatformKind);
    descriptor: (Ljdk/vm/ci/meta/PlatformKind;)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      kind  

  protected abstract org.graalvm.compiler.lir.Variable emitAdd(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      resultKind  
      a           
      b           
      setFlags    

  public final org.graalvm.compiler.lir.Variable emitAdd(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value aVal
        start local 2 // jdk.vm.ci.meta.Value bVal
        start local 3 // boolean setFlags
         0: .line 52
            aload 1 /* aVal */
            astore 5 /* a */
        start local 5 // jdk.vm.ci.meta.Value a
         1: .line 53
            aload 2 /* bVal */
            astore 6 /* b */
        start local 6 // jdk.vm.ci.meta.Value b
         2: .line 55
            aload 0 /* this */
            aload 5 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.isNumericInteger:(Ljdk/vm/ci/meta/PlatformKind;)Z
            ifeq 33
         3: .line 56
            aload 5 /* a */
            ldc Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ValueKind;
            checkcast org.graalvm.compiler.core.common.LIRKind
            astore 7 /* aKind */
        start local 7 // org.graalvm.compiler.core.common.LIRKind aKind
         4: .line 57
            aload 6 /* b */
            ldc Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ValueKind;
            checkcast org.graalvm.compiler.core.common.LIRKind
            astore 8 /* bKind */
        start local 8 // org.graalvm.compiler.core.common.LIRKind bKind
         5: .line 58
            getstatic org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 6
            aload 5 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            aload 6 /* b */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            if_acmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 60
      StackMap locals: org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int top jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.core.common.LIRKind org.graalvm.compiler.core.common.LIRKind
      StackMap stack:
            aload 7 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isUnknownReference:()Z
            ifeq 9
         7: .line 61
            aload 7 /* aKind */
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
         8: .line 62
            goto 34
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
      StackMap locals:
      StackMap stack:
         9: aload 8 /* bKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isUnknownReference:()Z
            ifeq 12
        10: .line 63
            aload 8 /* bKind */
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        11: .line 64
            goto 34
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
      StackMap locals:
      StackMap stack:
        12: aload 7 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isValue:()Z
            ifeq 15
            aload 8 /* bKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isValue:()Z
            ifeq 15
        13: .line 65
            aload 7 /* aKind */
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        14: .line 66
            goto 34
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
      StackMap locals:
      StackMap stack:
        15: aload 7 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isValue:()Z
            ifeq 23
        16: .line 67
            aload 8 /* bKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isDerivedReference:()Z
            ifeq 19
        17: .line 68
            aload 8 /* bKind */
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        18: .line 69
            goto 34
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        19: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 6 /* b */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 9 /* allocatable */
        start local 9 // jdk.vm.ci.meta.AllocatableValue allocatable
        20: .line 71
            aload 8 /* bKind */
            aload 9 /* allocatable */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.makeDerivedReference:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        21: .line 72
            aload 9 /* allocatable */
            astore 6 /* b */
        end local 9 // jdk.vm.ci.meta.AllocatableValue allocatable
        22: .line 74
            goto 34
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
      StackMap locals:
      StackMap stack:
        23: aload 8 /* bKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isValue:()Z
            ifeq 31
        24: .line 75
            aload 7 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isDerivedReference:()Z
            ifeq 27
        25: .line 76
            aload 7 /* aKind */
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        26: .line 77
            goto 34
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        27: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 5 /* a */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 9 /* allocatable */
        start local 9 // jdk.vm.ci.meta.AllocatableValue allocatable
        28: .line 79
            aload 7 /* aKind */
            aload 9 /* allocatable */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.makeDerivedReference:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        29: .line 80
            aload 9 /* allocatable */
            astore 5 /* a */
        end local 9 // jdk.vm.ci.meta.AllocatableValue allocatable
        30: .line 82
            goto 34
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        31: .line 83
      StackMap locals:
      StackMap stack:
            aload 7 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.makeUnknownReference:()Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* resultKind */
        end local 8 // org.graalvm.compiler.core.common.LIRKind bKind
        end local 7 // org.graalvm.compiler.core.common.LIRKind aKind
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        32: .line 85
            goto 34
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        33: .line 86
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 5 /* a */
            aastore
            dup
            iconst_1
            aload 6 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        34: .line 89
      StackMap locals: org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int org.graalvm.compiler.core.common.LIRKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            aload 5 /* a */
            aload 6 /* b */
            iload 3 /* setFlags */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitAdd:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 6 // jdk.vm.ci.meta.Value b
        end local 5 // jdk.vm.ci.meta.Value a
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 3 // boolean setFlags
        end local 2 // jdk.vm.ci.meta.Value bVal
        end local 1 // jdk.vm.ci.meta.Value aVal
        end local 0 // org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   35     0         this  Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            0   35     1         aVal  Ljdk/vm/ci/meta/Value;
            0   35     2         bVal  Ljdk/vm/ci/meta/Value;
            0   35     3     setFlags  Z
            8    9     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           11   12     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           14   15     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           18   19     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           21   23     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           26   27     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           29   31     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           32   33     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           34   35     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            1   35     5            a  Ljdk/vm/ci/meta/Value;
            2   35     6            b  Ljdk/vm/ci/meta/Value;
            4   32     7        aKind  Lorg/graalvm/compiler/core/common/LIRKind;
            5   32     8        bKind  Lorg/graalvm/compiler/core/common/LIRKind;
           20   22     9  allocatable  Ljdk/vm/ci/meta/AllocatableValue;
           28   30     9  allocatable  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
          Name  Flags
      aVal      
      bVal      
      setFlags  

  protected abstract org.graalvm.compiler.lir.Variable emitSub(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      resultKind  
      a           
      b           
      setFlags    

  public final org.graalvm.compiler.lir.Variable emitSub(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value aVal
        start local 2 // jdk.vm.ci.meta.Value bVal
        start local 3 // boolean setFlags
         0: .line 97
            aload 1 /* aVal */
            astore 5 /* a */
        start local 5 // jdk.vm.ci.meta.Value a
         1: .line 98
            aload 2 /* bVal */
            astore 6 /* b */
        start local 6 // jdk.vm.ci.meta.Value b
         2: .line 100
            aload 0 /* this */
            aload 5 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.isNumericInteger:(Ljdk/vm/ci/meta/PlatformKind;)Z
            ifeq 27
         3: .line 101
            aload 5 /* a */
            ldc Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ValueKind;
            checkcast org.graalvm.compiler.core.common.LIRKind
            astore 7 /* aKind */
        start local 7 // org.graalvm.compiler.core.common.LIRKind aKind
         4: .line 102
            aload 6 /* b */
            ldc Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ValueKind;
            checkcast org.graalvm.compiler.core.common.LIRKind
            astore 8 /* bKind */
        start local 8 // org.graalvm.compiler.core.common.LIRKind bKind
         5: .line 103
            getstatic org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 6
            aload 5 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            aload 6 /* b */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            if_acmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 105
      StackMap locals: org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int top jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.core.common.LIRKind org.graalvm.compiler.core.common.LIRKind
      StackMap stack:
            aload 7 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isUnknownReference:()Z
            ifeq 9
         7: .line 106
            aload 7 /* aKind */
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
         8: .line 107
            goto 11
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
      StackMap locals:
      StackMap stack:
         9: aload 8 /* bKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isUnknownReference:()Z
            ifeq 11
        10: .line 108
            aload 8 /* bKind */
            astore 4
        11: .line 111
      StackMap locals:
      StackMap stack:
            aload 7 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isValue:()Z
            ifeq 14
            aload 8 /* bKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isValue:()Z
            ifeq 14
        12: .line 112
            aload 7 /* aKind */
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        13: .line 113
            goto 28
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
      StackMap locals:
      StackMap stack:
        14: aload 8 /* bKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isValue:()Z
            ifeq 22
        15: .line 114
            aload 7 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isDerivedReference:()Z
            ifeq 18
        16: .line 115
            aload 7 /* aKind */
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        17: .line 116
            goto 28
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        18: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 5 /* a */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 9 /* allocatable */
        start local 9 // jdk.vm.ci.meta.AllocatableValue allocatable
        19: .line 118
            aload 7 /* aKind */
            aload 9 /* allocatable */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.makeDerivedReference:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        20: .line 119
            aload 9 /* allocatable */
            astore 5 /* a */
        end local 9 // jdk.vm.ci.meta.AllocatableValue allocatable
        21: .line 121
            goto 28
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
      StackMap locals:
      StackMap stack:
        22: aload 7 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isDerivedReference:()Z
            ifeq 25
            aload 8 /* bKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isDerivedReference:()Z
            ifeq 25
            aload 7 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.getDerivedReferenceBase:()Ljdk/vm/ci/meta/AllocatableValue;
            aload 8 /* bKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.getDerivedReferenceBase:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual jdk.vm.ci.meta.AllocatableValue.equals:(Ljava/lang/Object;)Z
            ifeq 25
        23: .line 122
            aload 5 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        24: .line 123
            goto 28
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        25: .line 124
      StackMap locals:
      StackMap stack:
            aload 7 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.makeUnknownReference:()Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* resultKind */
        end local 8 // org.graalvm.compiler.core.common.LIRKind bKind
        end local 7 // org.graalvm.compiler.core.common.LIRKind aKind
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        26: .line 126
            goto 28
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        27: .line 127
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 5 /* a */
            aastore
            dup
            iconst_1
            aload 6 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        28: .line 130
      StackMap locals: org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int org.graalvm.compiler.core.common.LIRKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            aload 5 /* a */
            aload 6 /* b */
            iload 3 /* setFlags */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitSub:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 6 // jdk.vm.ci.meta.Value b
        end local 5 // jdk.vm.ci.meta.Value a
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 3 // boolean setFlags
        end local 2 // jdk.vm.ci.meta.Value bVal
        end local 1 // jdk.vm.ci.meta.Value aVal
        end local 0 // org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0         this  Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            0   29     1         aVal  Ljdk/vm/ci/meta/Value;
            0   29     2         bVal  Ljdk/vm/ci/meta/Value;
            0   29     3     setFlags  Z
            8    9     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           13   14     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           17   18     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           20   22     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           24   25     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           26   27     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           28   29     4   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            1   29     5            a  Ljdk/vm/ci/meta/Value;
            2   29     6            b  Ljdk/vm/ci/meta/Value;
            4   26     7        aKind  Lorg/graalvm/compiler/core/common/LIRKind;
            5   26     8        bKind  Lorg/graalvm/compiler/core/common/LIRKind;
           19   21     9  allocatable  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
          Name  Flags
      aVal      
      bVal      
      setFlags  

  public jdk.vm.ci.meta.Value emitSub(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            iload 3
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitSub:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitAdd(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            iload 3
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitAdd:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ArithmeticLIRGenerator.java"