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 38
            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 38
            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 43
            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 final jdk.vm.ci.meta.AllocatableValue asAllocatable(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
         0: .line 47
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.lirGen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        end local 1 // jdk.vm.ci.meta.Value value
        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;
            0    1     1  value  Ljdk/vm/ci/meta/Value;
    MethodParameters:
       Name  Flags
      value  

  public org.graalvm.compiler.options.OptionValues getOptions();
    descriptor: ()Lorg/graalvm/compiler/options/OptionValues;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator this
         0: .line 51
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            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    

  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 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=4, 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 63
            aload 0 /* this */
            aload 1 /* aVal */
            aload 2 /* bVal */
            iload 3 /* setFlags */
            iconst_1
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitAddOrSub:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZ)Lorg/graalvm/compiler/lir/Variable;
            areturn
        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    1     0      this  Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            0    1     1      aVal  Ljdk/vm/ci/meta/Value;
            0    1     2      bVal  Ljdk/vm/ci/meta/Value;
            0    1     3  setFlags  Z
    MethodParameters:
          Name  Flags
      aVal      
      bVal      
      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=4, 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 68
            aload 0 /* this */
            aload 1 /* aVal */
            aload 2 /* bVal */
            iload 3 /* setFlags */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitAddOrSub:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZ)Lorg/graalvm/compiler/lir/Variable;
            areturn
        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    1     0      this  Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            0    1     1      aVal  Ljdk/vm/ci/meta/Value;
            0    1     2      bVal  Ljdk/vm/ci/meta/Value;
            0    1     3  setFlags  Z
    MethodParameters:
          Name  Flags
      aVal      
      bVal      
      setFlags  

  private org.graalvm.compiler.lir.Variable emitAddOrSub(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean, boolean);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZ)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=5
        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
        start local 4 // boolean isAdd
         0: .line 73
            aload 1 /* aVal */
            astore 6 /* a */
        start local 6 // jdk.vm.ci.meta.Value a
         1: .line 74
            aload 2 /* bVal */
            astore 7 /* b */
        start local 7 // jdk.vm.ci.meta.Value b
         2: .line 76
            aload 0 /* this */
            aload 6 /* 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 77
            aload 6 /* 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 8 /* aKind */
        start local 8 // org.graalvm.compiler.core.common.LIRKind aKind
         4: .line 78
            aload 7 /* 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 9 /* bKind */
        start local 9 // org.graalvm.compiler.core.common.LIRKind bKind
         5: .line 79
            getstatic org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 6
            aload 6 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            aload 7 /* b */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            if_acmpeq 6
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 6 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " vs. "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* b */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 81
      StackMap locals: org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int 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 8 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isUnknownReference:()Z
            ifeq 9
         7: .line 82
            aload 8 /* aKind */
            astore 5 /* resultKind */
        start local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
         8: .line 83
            goto 34
        end local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
      StackMap locals:
      StackMap stack:
         9: aload 9 /* bKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isUnknownReference:()Z
            ifeq 12
        10: .line 84
            aload 9 /* bKind */
            astore 5 /* resultKind */
        start local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        11: .line 85
            goto 34
        end local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
      StackMap locals:
      StackMap stack:
        12: aload 8 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isValue:()Z
            ifeq 15
            aload 9 /* bKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isValue:()Z
            ifeq 15
        13: .line 86
            aload 8 /* aKind */
            astore 5 /* resultKind */
        start local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        14: .line 87
            goto 34
        end local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
      StackMap locals:
      StackMap stack:
        15: aload 8 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isValue:()Z
            ifeq 23
        16: .line 88
            aload 9 /* bKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isDerivedReference:()Z
            ifeq 19
        17: .line 89
            aload 9 /* bKind */
            astore 5 /* resultKind */
        start local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        18: .line 90
            goto 34
        end local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        19: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* b */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 10 /* allocatable */
        start local 10 // jdk.vm.ci.meta.AllocatableValue allocatable
        20: .line 92
            aload 9 /* bKind */
            aload 10 /* allocatable */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.makeDerivedReference:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 5 /* resultKind */
        start local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        21: .line 93
            aload 10 /* allocatable */
            astore 7 /* b */
        end local 10 // jdk.vm.ci.meta.AllocatableValue allocatable
        22: .line 95
            goto 34
        end local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
      StackMap locals:
      StackMap stack:
        23: aload 9 /* bKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isValue:()Z
            ifeq 31
        24: .line 96
            aload 8 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isDerivedReference:()Z
            ifeq 27
        25: .line 97
            aload 8 /* aKind */
            astore 5 /* resultKind */
        start local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        26: .line 98
            goto 34
        end local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        27: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* a */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 10 /* allocatable */
        start local 10 // jdk.vm.ci.meta.AllocatableValue allocatable
        28: .line 100
            aload 8 /* aKind */
            aload 10 /* allocatable */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.makeDerivedReference:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 5 /* resultKind */
        start local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        29: .line 101
            aload 10 /* allocatable */
            astore 6 /* a */
        end local 10 // jdk.vm.ci.meta.AllocatableValue allocatable
        30: .line 103
            goto 34
        end local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        31: .line 104
      StackMap locals:
      StackMap stack:
            aload 8 /* aKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.makeUnknownReference:()Lorg/graalvm/compiler/core/common/LIRKind;
            astore 5 /* resultKind */
        end local 9 // org.graalvm.compiler.core.common.LIRKind bKind
        end local 8 // org.graalvm.compiler.core.common.LIRKind aKind
        start local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        32: .line 106
            goto 34
        end local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        33: .line 107
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 6 /* a */
            aastore
            dup
            iconst_1
            aload 7 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 5 /* resultKind */
        start local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        34: .line 110
      StackMap locals: org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int int org.graalvm.compiler.core.common.LIRKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value
      StackMap stack:
            iload 4 /* isAdd */
            ifeq 35
            aload 0 /* this */
            aload 5 /* resultKind */
            aload 6 /* a */
            aload 7 /* 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;
            goto 36
      StackMap locals:
      StackMap stack:
        35: aload 0 /* this */
            aload 5 /* resultKind */
            aload 6 /* a */
            aload 7 /* 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;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.Variable
        36: areturn
        end local 7 // jdk.vm.ci.meta.Value b
        end local 6 // jdk.vm.ci.meta.Value a
        end local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 4 // boolean isAdd
        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   37     0         this  Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            0   37     1         aVal  Ljdk/vm/ci/meta/Value;
            0   37     2         bVal  Ljdk/vm/ci/meta/Value;
            0   37     3     setFlags  Z
            0   37     4        isAdd  Z
            8    9     5   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           11   12     5   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           14   15     5   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           18   19     5   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           21   23     5   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           26   27     5   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           29   31     5   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           32   33     5   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           34   37     5   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            1   37     6            a  Ljdk/vm/ci/meta/Value;
            2   37     7            b  Ljdk/vm/ci/meta/Value;
            4   32     8        aKind  Lorg/graalvm/compiler/core/common/LIRKind;
            5   32     9        bKind  Lorg/graalvm/compiler/core/common/LIRKind;
           20   22    10  allocatable  Ljdk/vm/ci/meta/AllocatableValue;
           28   30    10  allocatable  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
          Name  Flags
      aVal      
      bVal      
      setFlags  
      isAdd     

  public jdk.vm.ci.meta.Value emitRor(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
        start local 2 // jdk.vm.ci.meta.Value distance
         0: .line 115
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* value */
            aload 2 /* distance */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitUShr:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            aload 0 /* this */
            aload 1 /* value */
            aload 0 /* this */
            aload 2 /* distance */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitNegate:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitShl:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitOr:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 2 // jdk.vm.ci.meta.Value distance
        end local 1 // jdk.vm.ci.meta.Value value
        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;
            0    1     1     value  Ljdk/vm/ci/meta/Value;
            0    1     2  distance  Ljdk/vm/ci/meta/Value;
    MethodParameters:
          Name  Flags
      value     
      distance  

  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"