public class com.oracle.truffle.llvm.asm.amd64.AsmFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.llvm.asm.amd64.AsmFactory
  super_class: java.lang.Object
{
  private static final int REG_START_INDEX;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final java.lang.String TEMP_REGISTER_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "__$$tmp_r_"

  private static final java.lang.String CONSTRAINT_REG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "r"

  private static final java.lang.String CONSTRAINT_REG_L;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "q"

  private static final java.lang.String CONSTRAINT_REG_XMM;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "x"

  private final com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor;
    descriptor: Lcom/oracle/truffle/api/frame/FrameDescriptor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode> statements;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;>;

  private final java.util.List<com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode> arguments;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;>;

  private final java.util.List<java.lang.String> registers;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode result;
    descriptor: Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<com.oracle.truffle.llvm.asm.amd64.Argument> argInfo;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lcom/oracle/truffle/llvm/asm/amd64/Argument;>;

  private final java.lang.String asmFlags;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder argTypes;
    descriptor: Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.llvm.runtime.types.Type retType;
    descriptor: Lcom/oracle/truffle/llvm/runtime/types/Type;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.llvm.runtime.types.Type[] retTypes;
    descriptor: [Lcom/oracle/truffle/llvm/runtime/types/Type;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long[] retOffsets;
    descriptor: [J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String currentPrefix;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private final com.oracle.truffle.llvm.runtime.LLVMLanguage language;
    descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.llvm.runtime.memory.LLVMStack$LLVMStackAccess stackAccess;
    descriptor: Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$LLVMStackAccess;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 258
            ldc Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            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 com.oracle.truffle.llvm.asm.amd64.AsmFactory.$assertionsDisabled:Z
         3: .line 264
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.oracle.truffle.llvm.runtime.LLVMLanguage, com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder, java.lang.String, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.types.Type[], long[], com.oracle.truffle.llvm.runtime.NodeFactory);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/types/Type;[Lcom/oracle/truffle/llvm/runtime/types/Type;[JLcom/oracle/truffle/llvm/runtime/NodeFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=8
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.LLVMLanguage language
        start local 2 // com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder argTypes
        start local 3 // java.lang.String asmFlags
        start local 4 // com.oracle.truffle.llvm.runtime.types.Type retType
        start local 5 // com.oracle.truffle.llvm.runtime.types.Type[] retTypes
        start local 6 // long[] retOffsets
        start local 7 // com.oracle.truffle.llvm.runtime.NodeFactory nodeFactory
         0: .line 283
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 284
            aload 0 /* this */
            aload 1 /* language */
            putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
         2: .line 285
            aload 0 /* this */
            aload 2 /* argTypes */
            putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argTypes:Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
         3: .line 286
            aload 0 /* this */
            aload 3 /* asmFlags */
            putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.asmFlags:Ljava/lang/String;
         4: .line 287
            aload 0 /* this */
            new com.oracle.truffle.api.frame.FrameDescriptor
            dup
            invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
            putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
         5: .line 288
            aload 0 /* this */
            aload 7 /* nodeFactory */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
            invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createStackAccess:(Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$LLVMStackAccess;
            putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.stackAccess:Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$LLVMStackAccess;
         6: .line 289
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.statements:Ljava/util/List;
         7: .line 290
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.arguments:Ljava/util/List;
         8: .line 291
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.registers:Ljava/util/List;
         9: .line 292
            aload 0 /* this */
            aload 4 /* retType */
            putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retType:Lcom/oracle/truffle/llvm/runtime/types/Type;
        10: .line 293
            aload 0 /* this */
            aload 5 /* retTypes */
            putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retTypes:[Lcom/oracle/truffle/llvm/runtime/types/Type;
        11: .line 294
            aload 0 /* this */
            aload 6 /* retOffsets */
            putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retOffsets:[J
        12: .line 295
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.parseArguments:()V
        13: .line 296
            return
        end local 7 // com.oracle.truffle.llvm.runtime.NodeFactory nodeFactory
        end local 6 // long[] retOffsets
        end local 5 // com.oracle.truffle.llvm.runtime.types.Type[] retTypes
        end local 4 // com.oracle.truffle.llvm.runtime.types.Type retType
        end local 3 // java.lang.String asmFlags
        end local 2 // com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder argTypes
        end local 1 // com.oracle.truffle.llvm.runtime.LLVMLanguage language
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0   14     1     language  Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
            0   14     2     argTypes  Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
            0   14     3     asmFlags  Ljava/lang/String;
            0   14     4      retType  Lcom/oracle/truffle/llvm/runtime/types/Type;
            0   14     5     retTypes  [Lcom/oracle/truffle/llvm/runtime/types/Type;
            0   14     6   retOffsets  [J
            0   14     7  nodeFactory  Lcom/oracle/truffle/llvm/runtime/NodeFactory;
    MethodParameters:
             Name  Flags
      language     
      argTypes     
      asmFlags     
      retType      
      retTypes     
      retOffsets   
      nodeFactory  

  private static com.oracle.truffle.llvm.asm.amd64.AsmParseException invalidOperandType(com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/asm/amd64/AsmParseException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.types.Type type
         0: .line 299
            new com.oracle.truffle.llvm.asm.amd64.AsmParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid operand type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.oracle.truffle.llvm.asm.amd64.AsmParseException.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.types.Type type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  type  Lcom/oracle/truffle/llvm/runtime/types/Type;
    MethodParameters:
      Name  Flags
      type  

  private static com.oracle.truffle.llvm.asm.amd64.AsmParseException unsupportedOperandType(com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/asm/amd64/AsmParseException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.types.Type type
         0: .line 303
            new com.oracle.truffle.llvm.asm.amd64.AsmParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unsupported operand type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.oracle.truffle.llvm.asm.amd64.AsmParseException.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.types.Type type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  type  Lcom/oracle/truffle/llvm/runtime/types/Type;
    MethodParameters:
      Name  Flags
      type  

  private void parseArguments();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=21, args_size=1
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 307
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
         1: .line 308
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.asmFlags:Ljava/lang/String;
            iconst_1
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.asmFlags:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* tokens */
        start local 1 // java.lang.String[] tokens
         2: .line 310
            iconst_1
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retType:Lcom/oracle/truffle/llvm/runtime/types/Type;
            instanceof com.oracle.truffle.llvm.runtime.types.StructureType
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmFactory java.lang.String[]
      StackMap stack: int
         3: iconst_0
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmFactory java.lang.String[]
      StackMap stack: int int
         4: iadd
            istore 2 /* index */
        start local 2 // int index
         5: .line 311
            iconst_0
            istore 3 /* outIndex */
        start local 3 // int outIndex
         6: .line 313
            aload 1 /* tokens */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 84
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmFactory java.lang.String[] int int top int int java.lang.String[]
      StackMap stack:
         7: aload 7
            iload 5
            aaload
            astore 4 /* token */
        start local 4 // java.lang.String token
         8: .line 314
            aload 4 /* token */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 10
         9: .line 315
            goto 83
        10: .line 317
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmFactory java.lang.String[] int int java.lang.String int int java.lang.String[]
      StackMap stack:
            iconst_0
            istore 8 /* isTilde */
        start local 8 // boolean isTilde
        11: .line 318
            iconst_1
            istore 9 /* isInput */
        start local 9 // boolean isInput
        12: .line 319
            iconst_0
            istore 10 /* isOutput */
        start local 10 // boolean isOutput
        13: .line 320
            iconst_0
            istore 11 /* isMemory */
        start local 11 // boolean isMemory
        14: .line 321
            iconst_0
            istore 12 /* isAnonymous */
        start local 12 // boolean isAnonymous
        15: .line 322
            aconst_null
            astore 13 /* source */
        start local 13 // java.lang.String source
        16: .line 323
            aconst_null
            astore 14 /* registerName */
        start local 14 // java.lang.String registerName
        17: .line 325
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        18: goto 34
        19: .line 326
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmFactory java.lang.String[] int int java.lang.String int int java.lang.String[] int int int int int java.lang.String java.lang.String int
      StackMap stack:
            aload 4 /* token */
            iload 15 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 5
                   38: 31
                   42: 29
                   43: 23
                   61: 26
                  126: 20
              default: 32
          }
        20: .line 328
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 8 /* isTilde */
        21: .line 329
            iconst_0
            istore 9 /* isInput */
        22: .line 330
            goto 33
        23: .line 332
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* isInput */
        24: .line 333
            iconst_1
            istore 10 /* isOutput */
        25: .line 334
            goto 33
        26: .line 336
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* isInput */
        27: .line 337
            iconst_1
            istore 10 /* isOutput */
        28: .line 338
            goto 33
        29: .line 340
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* isMemory */
        30: .line 341
            goto 33
        31: .line 343
      StackMap locals:
      StackMap stack:
            goto 33
        32: .line 345
      StackMap locals:
      StackMap stack:
            aload 4 /* token */
            iload 15 /* i */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 13 /* source */
        33: .line 325
      StackMap locals:
      StackMap stack:
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 15 /* i */
            aload 4 /* token */
            invokevirtual java.lang.String.length:()I
            if_icmpge 35
            aload 13 /* source */
            ifnull 19
        35: .line 350
      StackMap locals:
      StackMap stack:
            iload 8 /* isTilde */
            ifeq 37
        36: .line 351
            goto 83
        37: .line 353
      StackMap locals:
      StackMap stack:
            aload 13 /* source */
            ifnonnull 39
        38: .line 354
            new com.oracle.truffle.llvm.asm.amd64.AsmParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid token: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* token */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.oracle.truffle.llvm.asm.amd64.AsmParseException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 357
      StackMap locals:
      StackMap stack:
            aload 13 /* source */
            bipush 123
            invokevirtual java.lang.String.indexOf:(I)I
            istore 16 /* start */
        start local 16 // int start
        40: .line 358
            aload 13 /* source */
            bipush 125
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 17 /* end */
        start local 17 // int end
        41: .line 359
            iload 16 /* start */
            iconst_m1
            if_icmpeq 44
            iload 17 /* end */
            iconst_m1
            if_icmpeq 44
        42: .line 360
            aload 13 /* source */
            iload 16 /* start */
            iconst_1
            iadd
            iload 17 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 14 /* registerName */
        43: .line 361
            goto 58
      StackMap locals: int int
      StackMap stack:
        44: ldc "r"
            aload 13 /* source */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 45
            ldc "q"
            aload 13 /* source */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 45
            ldc "x"
            aload 13 /* source */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 48
        45: .line 362
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "__$$tmp_r_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 14 /* registerName */
        46: .line 363
            iconst_1
            istore 12 /* isAnonymous */
        47: .line 364
            goto 58
      StackMap locals:
      StackMap stack:
        48: aload 13 /* source */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 58
            aload 13 /* source */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isDigit:(C)Z
            ifeq 58
        49: .line 365
            aload 13 /* source */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 10
            invokestatic java.lang.Character.digit:(CI)I
            istore 18 /* id */
        start local 18 // int id
        50: .line 366
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
            iload 18 /* id */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.asm.amd64.Argument
            astore 19 /* arg */
        start local 19 // com.oracle.truffle.llvm.asm.amd64.Argument arg
        51: .line 367
            getstatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$assertionsDisabled:Z
            ifne 53
            iload 9 /* isInput */
            ifeq 52
            iload 10 /* isOutput */
            ifeq 53
      StackMap locals: int com.oracle.truffle.llvm.asm.amd64.Argument
      StackMap stack:
        52: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        53: .line 368
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* isInput */
        54: .line 369
            iconst_0
            istore 10 /* isOutput */
        55: .line 370
            aload 19 /* arg */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.isRegister:()Z
            ifeq 57
        56: .line 371
            aload 19 /* arg */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.getRegister:()Ljava/lang/String;
            astore 14 /* registerName */
        57: .line 373
      StackMap locals:
      StackMap stack:
            aload 19 /* arg */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.isAnonymous:()Z
            istore 12 /* isAnonymous */
        end local 19 // com.oracle.truffle.llvm.asm.amd64.Argument arg
        end local 18 // int id
        58: .line 376
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$assertionsDisabled:Z
            ifne 59
            aload 14 /* registerName */
            ifnull 59
            aload 14 /* registerName */
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.isRegister:(Ljava/lang/String;)Z
            ifne 59
            aload 14 /* registerName */
            ldc "__$$tmp_r_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 59
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        59: .line 378
      StackMap locals:
      StackMap stack:
            iload 2 /* index */
            istore 18 /* idIn */
        start local 18 // int idIn
        60: .line 379
            iload 3 /* outIndex */
            istore 19 /* idOut */
        start local 19 // int idOut
        61: .line 381
            iload 9 /* isInput */
            ifeq 64
        62: .line 382
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argTypes:Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
            iload 2 /* index */
            iinc 2 /* index */ 1
            invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.get:(I)Lcom/oracle/truffle/llvm/runtime/types/Type;
            astore 20 /* type */
        start local 20 // com.oracle.truffle.llvm.runtime.types.Type type
        63: .line 383
            goto 79
        end local 20 // com.oracle.truffle.llvm.runtime.types.Type type
      StackMap locals: int int
      StackMap stack:
        64: aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retType:Lcom/oracle/truffle/llvm/runtime/types/Type;
            instanceof com.oracle.truffle.llvm.runtime.types.StructureType
            ifeq 71
        65: .line 384
            iload 11 /* isMemory */
            ifeq 69
        66: .line 385
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argTypes:Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
            iload 2 /* index */
            invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.get:(I)Lcom/oracle/truffle/llvm/runtime/types/Type;
            astore 20 /* type */
        start local 20 // com.oracle.truffle.llvm.runtime.types.Type type
        67: .line 386
            iload 2 /* index */
            iinc 2 /* index */ 1
            istore 19 /* idOut */
        68: .line 387
            goto 79
        end local 20 // com.oracle.truffle.llvm.runtime.types.Type type
        69: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retTypes:[Lcom/oracle/truffle/llvm/runtime/types/Type;
            iload 3 /* outIndex */
            iinc 3 /* outIndex */ 1
            aaload
            astore 20 /* type */
        start local 20 // com.oracle.truffle.llvm.runtime.types.Type type
        70: .line 390
            goto 79
        end local 20 // com.oracle.truffle.llvm.runtime.types.Type type
      StackMap locals:
      StackMap stack:
        71: iload 10 /* isOutput */
            ifeq 78
        72: .line 391
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retType:Lcom/oracle/truffle/llvm/runtime/types/Type;
            astore 20 /* type */
        start local 20 // com.oracle.truffle.llvm.runtime.types.Type type
        73: .line 392
            iload 11 /* isMemory */
            ifeq 79
        74: .line 393
            aload 20 /* type */
            instanceof com.oracle.truffle.llvm.runtime.types.VoidType
            ifeq 76
        75: .line 394
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argTypes:Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
            iload 2 /* index */
            invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.get:(I)Lcom/oracle/truffle/llvm/runtime/types/Type;
            astore 20 /* type */
        76: .line 396
      StackMap locals: com.oracle.truffle.llvm.runtime.types.Type
      StackMap stack:
            iload 2 /* index */
            iinc 2 /* index */ 1
            istore 19 /* idOut */
        77: .line 398
            goto 79
        end local 20 // com.oracle.truffle.llvm.runtime.types.Type type
        78: .line 399
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "neither input nor output"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        start local 20 // com.oracle.truffle.llvm.runtime.types.Type type
        79: .line 401
      StackMap locals: com.oracle.truffle.llvm.runtime.types.Type
      StackMap stack:
            iload 12 /* isAnonymous */
            ifeq 82
            aload 20 /* type */
            instanceof com.oracle.truffle.llvm.runtime.types.PointerType
            ifeq 82
        80: .line 402
            getstatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$assertionsDisabled:Z
            ifne 81
            aload 14 /* registerName */
            ifnonnull 81
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        81: .line 403
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 14 /* registerName */
            aload 20 /* type */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.addFrameSlot:(Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/types/Type;)V
        82: .line 405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
            new com.oracle.truffle.llvm.asm.amd64.Argument
            dup
            iload 9 /* isInput */
            iload 10 /* isOutput */
            iload 11 /* isMemory */
            iload 12 /* isAnonymous */
            aload 20 /* type */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iload 18 /* idIn */
            iload 19 /* idOut */
            aload 13 /* source */
            aload 14 /* registerName */
            invokespecial com.oracle.truffle.llvm.asm.amd64.Argument.<init>:(ZZZZLcom/oracle/truffle/llvm/runtime/types/Type;IIILjava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 20 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 19 // int idOut
        end local 18 // int idIn
        end local 17 // int end
        end local 16 // int start
        end local 15 // int i
        end local 14 // java.lang.String registerName
        end local 13 // java.lang.String source
        end local 12 // boolean isAnonymous
        end local 11 // boolean isMemory
        end local 10 // boolean isOutput
        end local 9 // boolean isInput
        end local 8 // boolean isTilde
        end local 4 // java.lang.String token
        83: .line 313
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmFactory java.lang.String[] int int top int int java.lang.String[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        84: iload 5
            iload 6
            if_icmplt 7
        85: .line 407
            getstatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$assertionsDisabled:Z
            ifne 86
            iload 2 /* index */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argTypes:Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
            invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.size:()I
            if_icmpeq 86
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        86: .line 408
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmFactory java.lang.String[] int int
      StackMap stack:
            getstatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$assertionsDisabled:Z
            ifne 89
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retType:Lcom/oracle/truffle/llvm/runtime/types/Type;
            instanceof com.oracle.truffle.llvm.runtime.types.StructureType
            ifeq 87
            iload 3 /* outIndex */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retOffsets:[J
            arraylength
            if_icmpeq 89
            goto 88
      StackMap locals:
      StackMap stack:
        87: iload 3 /* outIndex */
            ifeq 89
      StackMap locals:
      StackMap stack:
        88: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        89: .line 409
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int outIndex
        end local 2 // int index
        end local 1 // java.lang.String[] tokens
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   90     0          this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            2   90     1        tokens  [Ljava/lang/String;
            5   90     2         index  I
            6   90     3      outIndex  I
            8   83     4         token  Ljava/lang/String;
           11   83     8       isTilde  Z
           12   83     9       isInput  Z
           13   83    10      isOutput  Z
           14   83    11      isMemory  Z
           15   83    12   isAnonymous  Z
           16   83    13        source  Ljava/lang/String;
           17   83    14  registerName  Ljava/lang/String;
           18   83    15             i  I
           40   83    16         start  I
           41   83    17           end  I
           50   58    18            id  I
           51   58    19           arg  Lcom/oracle/truffle/llvm/asm/amd64/Argument;
           60   83    18          idIn  I
           61   83    19         idOut  I
           63   64    20          type  Lcom/oracle/truffle/llvm/runtime/types/Type;
           67   69    20          type  Lcom/oracle/truffle/llvm/runtime/types/Type;
           70   71    20          type  Lcom/oracle/truffle/llvm/runtime/types/Type;
           73   78    20          type  Lcom/oracle/truffle/llvm/runtime/types/Type;
           79   83    20          type  Lcom/oracle/truffle/llvm/runtime/types/Type;

  com.oracle.truffle.llvm.runtime.nodes.func.LLVMInlineAssemblyRootNode finishInline();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/func/LLVMInlineAssemblyRootNode;
    flags: (0x0000) 
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 412
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getArguments:()V
         1: .line 413
            new com.oracle.truffle.llvm.runtime.nodes.func.LLVMInlineAssemblyRootNode
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.stackAccess:Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$LLVMStackAccess;
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.statements:Ljava/util/List;
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.arguments:Ljava/util/List;
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.result:Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            invokespecial com.oracle.truffle.llvm.runtime.nodes.func.LLVMInlineAssemblyRootNode.<init>:(Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$LLVMStackAccess;Ljava/util/List;Ljava/util/List;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)V
            areturn
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;

  void setPrefix(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // java.lang.String prefix
         0: .line 417
            aload 0 /* this */
            aload 1 /* prefix */
            putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.currentPrefix:Ljava/lang/String;
         1: .line 418
            return
        end local 1 // java.lang.String prefix
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0    2     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

  void createInt(com.oracle.truffle.llvm.asm.amd64.AsmImmediateOperand);
    descriptor: (Lcom/oracle/truffle/llvm/asm/amd64/AsmImmediateOperand;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 420
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
      Name  Flags
      nr    

  private void createRep(com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 429
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
      Name  Flags
      body  

  void createOperation(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 439
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
           Name  Flags
      operation  

  void createUnaryOperationImplicitSize(java.lang.String, com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 562
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
           Name  Flags
      operation  
      operand    

  void createUnaryOperation(java.lang.String, com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 773
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
           Name  Flags
      operation  
      operand    

  private static boolean isShiftOperation(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String operation
         0: .line 957
            aload 0 /* operation */
            ldc "shl"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            aload 0 /* operation */
            ldc "shr"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            aload 0 /* operation */
            ldc "rol"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            aload 0 /* operation */
            ldc "ror"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            aload 0 /* operation */
            ldc "sal"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            aload 0 /* operation */
            ldc "sar"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.String operation
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  operation  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      operation  

  private static com.oracle.truffle.llvm.runtime.types.PrimitiveType getPrimitiveTypeFromSuffix(char);
    descriptor: (C)Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // char suffix
         0: .line 961
            iload 0 /* suffix */
            lookupswitch { // 4
                   98: 1
                  108: 3
                  113: 4
                  119: 2
              default: 5
          }
         1: .line 963
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I8:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
            areturn
         2: .line 965
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I16:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
            areturn
         3: .line 967
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I32:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
            areturn
         4: .line 969
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I64:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
            areturn
         5: .line 971
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.llvm.asm.amd64.AsmParseException
            dup
            ldc "invalid size"
            invokespecial com.oracle.truffle.llvm.asm.amd64.AsmParseException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // char suffix
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  suffix  C
    MethodParameters:
        Name  Flags
      suffix  

  private com.oracle.truffle.llvm.runtime.types.Type getType(com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)Lcom/oracle/truffle/llvm/runtime/types/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // com.oracle.truffle.llvm.asm.amd64.AsmOperand operand
         0: .line 1014
            aload 1 /* operand */
            invokeinterface com.oracle.truffle.llvm.asm.amd64.AsmOperand.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            astore 2 /* type */
        start local 2 // com.oracle.truffle.llvm.runtime.types.Type type
         1: .line 1015
            aload 2 /* type */
            ifnull 3
         2: .line 1016
            aload 2 /* type */
            areturn
         3: .line 1017
      StackMap locals: com.oracle.truffle.llvm.runtime.types.Type
      StackMap stack:
            aload 1 /* operand */
            instanceof com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
            ifeq 7
         4: .line 1018
            aload 1 /* operand */
            checkcast com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
            astore 3 /* op */
        start local 3 // com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand op
         5: .line 1019
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
            aload 3 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand.getIndex:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.asm.amd64.Argument
            astore 4 /* info */
        start local 4 // com.oracle.truffle.llvm.asm.amd64.Argument info
         6: .line 1020
            aload 4 /* info */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            areturn
        end local 4 // com.oracle.truffle.llvm.asm.amd64.Argument info
        end local 3 // com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand op
         7: .line 1022
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 1 // com.oracle.truffle.llvm.asm.amd64.AsmOperand operand
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0    8     1  operand  Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;
            1    8     2     type  Lcom/oracle/truffle/llvm/runtime/types/Type;
            5    7     3       op  Lcom/oracle/truffle/llvm/asm/amd64/AsmArgumentOperand;
            6    7     4     info  Lcom/oracle/truffle/llvm/asm/amd64/Argument;
    MethodParameters:
         Name  Flags
      operand  

  private com.oracle.truffle.llvm.runtime.types.Type getType(com.oracle.truffle.llvm.asm.amd64.AsmOperand, com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)Lcom/oracle/truffle/llvm/runtime/types/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // com.oracle.truffle.llvm.asm.amd64.AsmOperand dst
        start local 2 // com.oracle.truffle.llvm.asm.amd64.AsmOperand src
         0: .line 1027
            aload 0 /* this */
            aload 1 /* dst */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getType:(Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)Lcom/oracle/truffle/llvm/runtime/types/Type;
            astore 3 /* type */
        start local 3 // com.oracle.truffle.llvm.runtime.types.Type type
         1: .line 1028
            aload 3 /* type */
            ifnull 2
            aload 3 /* type */
            instanceof com.oracle.truffle.llvm.runtime.types.VoidType
            ifeq 3
         2: .line 1029
      StackMap locals: com.oracle.truffle.llvm.runtime.types.Type
      StackMap stack:
            aload 0 /* this */
            aload 2 /* src */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getType:(Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)Lcom/oracle/truffle/llvm/runtime/types/Type;
            astore 3 /* type */
         3: .line 1031
      StackMap locals:
      StackMap stack:
            aload 3 /* type */
            ifnonnull 5
         4: .line 1032
            new com.oracle.truffle.llvm.asm.amd64.AsmParseException
            dup
            ldc "cannot infer type"
            invokespecial com.oracle.truffle.llvm.asm.amd64.AsmParseException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 1034
      StackMap locals:
      StackMap stack:
            aload 3 /* type */
            areturn
        end local 3 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 2 // com.oracle.truffle.llvm.asm.amd64.AsmOperand src
        end local 1 // com.oracle.truffle.llvm.asm.amd64.AsmOperand dst
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0    6     1   dst  Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;
            0    6     2   src  Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;
            1    6     3  type  Lcom/oracle/truffle/llvm/runtime/types/Type;
    MethodParameters:
      Name  Flags
      dst   
      src   

  void createBinaryOperationImplicitSize(java.lang.String, com.oracle.truffle.llvm.asm.amd64.AsmOperand, com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 1037
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
           Name  Flags
      operation  
      a          
      b          

  private static com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind getPrimitiveType(com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.types.Type dstType
         0: .line 1228
            aload 0 /* dstType */
            instanceof com.oracle.truffle.llvm.runtime.types.PrimitiveType
            ifeq 2
         1: .line 1229
            aload 0 /* dstType */
            checkcast com.oracle.truffle.llvm.runtime.types.PrimitiveType
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType.getPrimitiveKind:()Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            areturn
         2: .line 1231
      StackMap locals:
      StackMap stack:
            aload 0 /* dstType */
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.invalidOperandType:(Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/asm/amd64/AsmParseException;
            athrow
        end local 0 // com.oracle.truffle.llvm.runtime.types.Type dstType
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  dstType  Lcom/oracle/truffle/llvm/runtime/types/Type;
    MethodParameters:
         Name  Flags
      dstType  

  void createBinaryOperation(java.lang.String, com.oracle.truffle.llvm.asm.amd64.AsmOperand, com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 1235
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
           Name  Flags
      operation  
      a          
      b          

  void createTernaryOperation(java.lang.String, com.oracle.truffle.llvm.asm.amd64.AsmOperand, com.oracle.truffle.llvm.asm.amd64.AsmOperand, com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 1601
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
           Name  Flags
      operation  
      a          
      b          
      c          

  void addFrameSlot(java.lang.String, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/types/Type;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // java.lang.String reg
        start local 2 // com.oracle.truffle.llvm.runtime.types.Type type
         0: .line 1632
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.registers:Ljava/util/List;
            aload 1 /* reg */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 4
         1: .line 1633
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.registers:Ljava/util/List;
            aload 1 /* reg */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1634
            aload 2 /* type */
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.computeFrameSlotKind:(Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/api/frame/FrameSlotKind;
            astore 3 /* kind */
        start local 3 // com.oracle.truffle.api.frame.FrameSlotKind kind
         3: .line 1635
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
            aload 1 /* reg */
            aload 2 /* type */
            aload 3 /* kind */
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.addFrameSlot:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/frame/FrameSlotKind;)Lcom/oracle/truffle/api/frame/FrameSlot;
            pop
        end local 3 // com.oracle.truffle.api.frame.FrameSlotKind kind
         4: .line 1637
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 1 // java.lang.String reg
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0    5     1   reg  Ljava/lang/String;
            0    5     2  type  Lcom/oracle/truffle/llvm/runtime/types/Type;
            3    4     3  kind  Lcom/oracle/truffle/api/frame/FrameSlotKind;
    MethodParameters:
      Name  Flags
      reg   
      type  

  private static com.oracle.truffle.api.frame.FrameSlotKind computeFrameSlotKind(com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/api/frame/FrameSlotKind;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.types.Type type
         0: .line 1640
            aload 0 /* type */
            instanceof com.oracle.truffle.llvm.runtime.types.PrimitiveType
            ifeq 7
         1: .line 1641
            aload 0 /* type */
            checkcast com.oracle.truffle.llvm.runtime.types.PrimitiveType
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType.getPrimitiveKind:()Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            astore 1 /* primitiveKind */
        start local 1 // com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind primitiveKind
         2: .line 1642
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind:()[I
            aload 1 /* primitiveKind */
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 3
                    2: 3
                    3: 6
                    4: 4
                    5: 5
              default: 6
          }
         3: .line 1645
      StackMap locals: com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind
      StackMap stack:
            getstatic com.oracle.truffle.api.frame.FrameSlotKind.Byte:Lcom/oracle/truffle/api/frame/FrameSlotKind;
            areturn
         4: .line 1647
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.frame.FrameSlotKind.Int:Lcom/oracle/truffle/api/frame/FrameSlotKind;
            areturn
         5: .line 1649
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.frame.FrameSlotKind.Long:Lcom/oracle/truffle/api/frame/FrameSlotKind;
            areturn
        end local 1 // com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind primitiveKind
         6: .line 1651
      StackMap locals:
      StackMap stack:
            goto 9
      StackMap locals:
      StackMap stack:
         7: aload 0 /* type */
            instanceof com.oracle.truffle.llvm.runtime.types.PointerType
            ifeq 9
         8: .line 1652
            getstatic com.oracle.truffle.api.frame.FrameSlotKind.Object:Lcom/oracle/truffle/api/frame/FrameSlotKind;
            areturn
         9: .line 1655
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.llvm.asm.amd64.AsmParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unexpected type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.oracle.truffle.llvm.asm.amd64.AsmParseException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.runtime.types.Type type
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           type  Lcom/oracle/truffle/llvm/runtime/types/Type;
            2    6     1  primitiveKind  Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
    MethodParameters:
      Name  Flags
      type  

  private static com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind getPrimitiveKind(com.oracle.truffle.llvm.asm.amd64.Argument);
    descriptor: (Lcom/oracle/truffle/llvm/asm/amd64/Argument;)Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.oracle.truffle.llvm.asm.amd64.Argument arg
         0: .line 1660
            aload 0 /* arg */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            instanceof com.oracle.truffle.llvm.runtime.types.PrimitiveType
            ifeq 3
         1: .line 1661
            aload 0 /* arg */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            checkcast com.oracle.truffle.llvm.runtime.types.PrimitiveType
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType.getPrimitiveKind:()Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            astore 1 /* primitiveKind */
        start local 1 // com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind primitiveKind
         2: .line 1662
            goto 4
        end local 1 // com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind primitiveKind
         3: .line 1663
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.llvm.asm.amd64.AsmParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot handle return type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* arg */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.oracle.truffle.llvm.asm.amd64.AsmParseException.<init>:(Ljava/lang/String;)V
            athrow
        start local 1 // com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind primitiveKind
         4: .line 1665
      StackMap locals: com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind
      StackMap stack:
            aload 1 /* primitiveKind */
            areturn
        end local 1 // com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind primitiveKind
        end local 0 // com.oracle.truffle.llvm.asm.amd64.Argument arg
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0            arg  Lcom/oracle/truffle/llvm/asm/amd64/Argument;
            2    3     1  primitiveKind  Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            4    5     1  primitiveKind  Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
    MethodParameters:
      Name  Flags
      arg   

  private void getArguments();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 1668
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;

  private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode castResult(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 1790
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
          Name  Flags
      register  

  private boolean isLeaPointer(com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // com.oracle.truffle.llvm.asm.amd64.AsmOperand operand
         0: .line 1798
            aload 1 /* operand */
            instanceof com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
            ifeq 6
         1: .line 1799
            aload 1 /* operand */
            checkcast com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
            astore 2 /* op */
        start local 2 // com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand op
         2: .line 1800
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
            aload 2 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand.getIndex:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.asm.amd64.Argument
            astore 3 /* info */
        start local 3 // com.oracle.truffle.llvm.asm.amd64.Argument info
         3: .line 1801
            aload 3 /* info */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.isMemory:()Z
            ifeq 5
         4: .line 1802
            iconst_1
            ireturn
         5: .line 1804
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand com.oracle.truffle.llvm.asm.amd64.Argument
      StackMap stack:
            new com.oracle.truffle.llvm.asm.amd64.AsmParseException
            dup
            ldc "not a pointer"
            invokespecial com.oracle.truffle.llvm.asm.amd64.AsmParseException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // com.oracle.truffle.llvm.asm.amd64.Argument info
        end local 2 // com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand op
         6: .line 1806
      StackMap locals:
      StackMap stack:
            aload 1 /* operand */
            instanceof com.oracle.truffle.llvm.asm.amd64.AsmMemoryOperand
            ifeq 12
         7: .line 1807
            aload 1 /* operand */
            checkcast com.oracle.truffle.llvm.asm.amd64.AsmMemoryOperand
            astore 2 /* op */
        start local 2 // com.oracle.truffle.llvm.asm.amd64.AsmMemoryOperand op
         8: .line 1808
            aload 2 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmMemoryOperand.getBase:()Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;
            astore 3 /* base */
        start local 3 // com.oracle.truffle.llvm.asm.amd64.AsmOperand base
         9: .line 1809
            aload 2 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmMemoryOperand.getOffset:()Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;
            astore 4 /* offset */
        start local 4 // com.oracle.truffle.llvm.asm.amd64.AsmOperand offset
        10: .line 1810
            aload 3 /* base */
            ifnonnull 11
            aload 4 /* offset */
            ifnonnull 11
            iconst_0
            ireturn
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmMemoryOperand com.oracle.truffle.llvm.asm.amd64.AsmOperand com.oracle.truffle.llvm.asm.amd64.AsmOperand
      StackMap stack:
        11: iconst_1
            ireturn
        end local 4 // com.oracle.truffle.llvm.asm.amd64.AsmOperand offset
        end local 3 // com.oracle.truffle.llvm.asm.amd64.AsmOperand base
        end local 2 // com.oracle.truffle.llvm.asm.amd64.AsmMemoryOperand op
        12: .line 1812
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.llvm.asm.amd64.AsmParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unsupported operand: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* operand */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.oracle.truffle.llvm.asm.amd64.AsmParseException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // com.oracle.truffle.llvm.asm.amd64.AsmOperand operand
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0   13     1  operand  Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;
            2    6     2       op  Lcom/oracle/truffle/llvm/asm/amd64/AsmArgumentOperand;
            3    6     3     info  Lcom/oracle/truffle/llvm/asm/amd64/Argument;
            8   12     2       op  Lcom/oracle/truffle/llvm/asm/amd64/AsmMemoryOperand;
            9   12     3     base  Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;
           10   12     4   offset  Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;
    MethodParameters:
         Name  Flags
      operand  

  private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode getOperandAddress(com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // com.oracle.truffle.llvm.asm.amd64.AsmOperand operand
         0: .line 1817
            aload 0 /* this */
            aload 1 /* operand */
            invokeinterface com.oracle.truffle.llvm.asm.amd64.AsmOperand.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            aload 1 /* operand */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getOperandAddress:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            areturn
        end local 1 // com.oracle.truffle.llvm.asm.amd64.AsmOperand operand
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0    1     1  operand  Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;
    MethodParameters:
         Name  Flags
      operand  

  private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode getOperandAddress(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 1820
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
         Name  Flags
      type     
      operand  

  private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode getOperandLoad(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 1895
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
          Name  Flags
      typeHint  
      operand   

  private com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode getOperandStore(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.asm.amd64.AsmOperand, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 2007
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
         Name  Flags
      type     
      operand  
      from     

  private com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target getTarget(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64Target;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.types.Type type
        start local 2 // com.oracle.truffle.llvm.asm.amd64.AsmOperand operand
         0: .line 2100
            aload 2 /* operand */
            instanceof com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
            ifeq 9
         1: .line 2101
            aload 2 /* operand */
            checkcast com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
            astore 3 /* op */
        start local 3 // com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand op
         2: .line 2102
            aload 0 /* this */
            aload 3 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.getBaseRegister:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getRegisterSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            astore 4 /* frame */
        start local 4 // com.oracle.truffle.api.frame.FrameSlot frame
         3: .line 2103
            aload 3 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.getShift:()I
            istore 5 /* shift */
        start local 5 // int shift
         4: .line 2104
            getstatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$assertionsDisabled:Z
            ifne 5
            aload 1 /* type */
            aload 3 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            if_acmpeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 2105
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand com.oracle.truffle.api.frame.FrameSlot int
      StackMap stack:
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind:()[I
            aload 3 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            checkcast com.oracle.truffle.llvm.runtime.types.PrimitiveType
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType.getPrimitiveKind:()Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            iaload
            tableswitch { // 2 - 5
                    2: 6
                    3: 7
                    4: 7
                    5: 7
              default: 8
          }
         6: .line 2107
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
            dup
            aload 4 /* frame */
            iload 5 /* shift */
            invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;I)V
            areturn
         7: .line 2111
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
            dup
            aload 4 /* frame */
            invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;)V
            areturn
         8: .line 2113
      StackMap locals:
      StackMap stack:
            aload 3 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.unsupportedOperandType:(Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/asm/amd64/AsmParseException;
            athrow
        end local 5 // int shift
        end local 4 // com.oracle.truffle.api.frame.FrameSlot frame
        end local 3 // com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand op
         9: .line 2115
      StackMap locals:
      StackMap stack:
            aload 2 /* operand */
            instanceof com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
            ifeq 27
        10: .line 2116
            aload 2 /* operand */
            checkcast com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
            astore 3 /* op */
        start local 3 // com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand op
        11: .line 2117
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
            aload 3 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand.getIndex:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.asm.amd64.Argument
            astore 4 /* info */
        start local 4 // com.oracle.truffle.llvm.asm.amd64.Argument info
        12: .line 2118
            aload 4 /* info */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.isMemory:()Z
            ifeq 19
        13: .line 2119
            aload 4 /* info */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.getAddress:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            astore 5 /* address */
        start local 5 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode address
        14: .line 2120
            aload 1 /* type */
            instanceof com.oracle.truffle.llvm.runtime.types.PointerType
            ifeq 16
        15: .line 2121
            new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
            dup
            aload 5 /* address */
            invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)V
            areturn
        16: .line 2123
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand com.oracle.truffle.llvm.asm.amd64.Argument com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
      StackMap stack:
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind:()[I
            aload 1 /* type */
            checkcast com.oracle.truffle.llvm.runtime.types.PrimitiveType
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType.getPrimitiveKind:()Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            iaload
            tableswitch { // 2 - 5
                    2: 17
                    3: 17
                    4: 17
                    5: 17
              default: 18
          }
        17: .line 2128
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
            dup
            aload 5 /* address */
            invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)V
            areturn
        18: .line 2130
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.unsupportedOperandType:(Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/asm/amd64/AsmParseException;
            athrow
        end local 5 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode address
        19: .line 2132
      StackMap locals:
      StackMap stack:
            aload 4 /* info */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.isRegister:()Z
            ifeq 26
        20: .line 2133
            aload 0 /* this */
            aload 4 /* info */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.getRegister:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getRegisterSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            astore 5 /* frame */
        start local 5 // com.oracle.truffle.api.frame.FrameSlot frame
        21: .line 2134
            aload 1 /* type */
            instanceof com.oracle.truffle.llvm.runtime.types.PointerType
            ifne 22
            aload 4 /* info */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            instanceof com.oracle.truffle.llvm.runtime.types.PointerType
            ifeq 23
        22: .line 2135
      StackMap locals: com.oracle.truffle.api.frame.FrameSlot
      StackMap stack:
            new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
            dup
            aload 5 /* frame */
            invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;)V
            areturn
        23: .line 2137
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind:()[I
            aload 1 /* type */
            checkcast com.oracle.truffle.llvm.runtime.types.PrimitiveType
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType.getPrimitiveKind:()Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            iaload
            tableswitch { // 2 - 5
                    2: 24
                    3: 24
                    4: 24
                    5: 24
              default: 25
          }
        24: .line 2142
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
            dup
            aload 5 /* frame */
            invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;)V
            areturn
        25: .line 2144
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.unsupportedOperandType:(Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/asm/amd64/AsmParseException;
            athrow
        end local 5 // com.oracle.truffle.api.frame.FrameSlot frame
        26: .line 2147
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "this should not happen; "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* info */
            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
        end local 4 // com.oracle.truffle.llvm.asm.amd64.Argument info
        end local 3 // com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand op
        27: .line 2150
      StackMap locals:
      StackMap stack:
            aload 2 /* operand */
            invokeinterface com.oracle.truffle.llvm.asm.amd64.AsmOperand.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.unsupportedOperandType:(Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/asm/amd64/AsmParseException;
            athrow
        end local 2 // com.oracle.truffle.llvm.asm.amd64.AsmOperand operand
        end local 1 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   28     0     this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0   28     1     type  Lcom/oracle/truffle/llvm/runtime/types/Type;
            0   28     2  operand  Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;
            2    9     3       op  Lcom/oracle/truffle/llvm/asm/amd64/AsmRegisterOperand;
            3    9     4    frame  Lcom/oracle/truffle/api/frame/FrameSlot;
            4    9     5    shift  I
           11   27     3       op  Lcom/oracle/truffle/llvm/asm/amd64/AsmArgumentOperand;
           12   27     4     info  Lcom/oracle/truffle/llvm/asm/amd64/Argument;
           14   19     5  address  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
           21   26     5    frame  Lcom/oracle/truffle/api/frame/FrameSlot;
    MethodParameters:
         Name  Flags
      type     
      operand  

  private com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target getRegisterTarget(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64Target;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.types.Type type
        start local 2 // com.oracle.truffle.llvm.asm.amd64.AsmOperand operand
         0: .line 2154
            aload 2 /* operand */
            instanceof com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
            ifeq 3
         1: .line 2155
            aload 2 /* operand */
            checkcast com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
            astore 3 /* op */
        start local 3 // com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand op
         2: .line 2156
            aload 0 /* this */
            aload 1 /* type */
            aload 3 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.getRegister:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getRegisterTarget:(Lcom/oracle/truffle/llvm/runtime/types/Type;Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64Target;
            areturn
        end local 3 // com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand op
         3: .line 2157
      StackMap locals:
      StackMap stack:
            aload 2 /* operand */
            instanceof com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
            ifeq 9
         4: .line 2158
            aload 2 /* operand */
            checkcast com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
            astore 3 /* op */
        start local 3 // com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand op
         5: .line 2159
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
            aload 3 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand.getIndex:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.asm.amd64.Argument
            astore 4 /* info */
        start local 4 // com.oracle.truffle.llvm.asm.amd64.Argument info
         6: .line 2160
            aload 4 /* info */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.isRegister:()Z
            ifeq 8
         7: .line 2161
            aload 0 /* this */
            aload 1 /* type */
            aload 4 /* info */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.getRegister:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getRegisterTarget:(Lcom/oracle/truffle/llvm/runtime/types/Type;Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64Target;
            areturn
         8: .line 2163
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand com.oracle.truffle.llvm.asm.amd64.Argument
      StackMap stack:
            new com.oracle.truffle.llvm.asm.amd64.AsmParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unsupported operand: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* info */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.oracle.truffle.llvm.asm.amd64.AsmParseException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // com.oracle.truffle.llvm.asm.amd64.Argument info
        end local 3 // com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand op
         9: .line 2166
      StackMap locals:
      StackMap stack:
            aload 2 /* operand */
            invokeinterface com.oracle.truffle.llvm.asm.amd64.AsmOperand.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.unsupportedOperandType:(Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/asm/amd64/AsmParseException;
            athrow
        end local 2 // com.oracle.truffle.llvm.asm.amd64.AsmOperand operand
        end local 1 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0   10     1     type  Lcom/oracle/truffle/llvm/runtime/types/Type;
            0   10     2  operand  Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;
            2    3     3       op  Lcom/oracle/truffle/llvm/asm/amd64/AsmRegisterOperand;
            5    9     3       op  Lcom/oracle/truffle/llvm/asm/amd64/AsmArgumentOperand;
            6    9     4     info  Lcom/oracle/truffle/llvm/asm/amd64/Argument;
    MethodParameters:
         Name  Flags
      type     
      operand  

  private com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target getRegisterTarget(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64Target;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // java.lang.String name
         0: .line 2170
            new com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
            dup
            aload 1 /* name */
            invokespecial com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.<init>:(Ljava/lang/String;)V
            astore 2 /* op */
        start local 2 // com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand op
         1: .line 2171
            aload 1 /* name */
            ldc "__$$tmp_r_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 2
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I64:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
            goto 3
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
      StackMap stack:
         2: aload 2 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
      StackMap locals:
      StackMap stack: com.oracle.truffle.llvm.runtime.types.Type
         3: astore 3 /* type */
        start local 3 // com.oracle.truffle.llvm.runtime.types.Type type
         4: .line 2172
            aload 0 /* this */
            aload 3 /* type */
            aload 1 /* name */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getRegisterTarget:(Lcom/oracle/truffle/llvm/runtime/types/Type;Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64Target;
            areturn
        end local 3 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 2 // com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand op
        end local 1 // java.lang.String name
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0    5     1  name  Ljava/lang/String;
            1    5     2    op  Lcom/oracle/truffle/llvm/asm/amd64/AsmRegisterOperand;
            4    5     3  type  Lcom/oracle/truffle/llvm/runtime/types/Type;
    MethodParameters:
      Name  Flags
      name  

  private com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target getRegisterTarget(com.oracle.truffle.llvm.runtime.types.Type, java.lang.String);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64Target;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.types.Type type
        start local 2 // java.lang.String name
         0: .line 2176
            new com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
            dup
            aload 2 /* name */
            invokespecial com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.<init>:(Ljava/lang/String;)V
            astore 3 /* op */
        start local 3 // com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand op
         1: .line 2177
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getRegisterSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            astore 4 /* frame */
        start local 4 // com.oracle.truffle.api.frame.FrameSlot frame
         2: .line 2178
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind:()[I
            aload 1 /* type */
            checkcast com.oracle.truffle.llvm.runtime.types.PrimitiveType
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType.getPrimitiveKind:()Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            iaload
            tableswitch { // 2 - 5
                    2: 3
                    3: 4
                    4: 4
                    5: 4
              default: 5
          }
         3: .line 2180
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand com.oracle.truffle.api.frame.FrameSlot
      StackMap stack:
            new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
            dup
            aload 4 /* frame */
            aload 3 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.getShift:()I
            invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;I)V
            areturn
         4: .line 2184
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
            dup
            aload 4 /* frame */
            invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;)V
            areturn
         5: .line 2186
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.unsupportedOperandType:(Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/asm/amd64/AsmParseException;
            athrow
        end local 4 // com.oracle.truffle.api.frame.FrameSlot frame
        end local 3 // com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand op
        end local 2 // java.lang.String name
        end local 1 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0    6     1   type  Lcom/oracle/truffle/llvm/runtime/types/Type;
            0    6     2   name  Ljava/lang/String;
            1    6     3     op  Lcom/oracle/truffle/llvm/asm/amd64/AsmRegisterOperand;
            2    6     4  frame  Lcom/oracle/truffle/api/frame/FrameSlot;
    MethodParameters:
      Name  Flags
      type  
      name  

  private com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64WriteValueNode getStore(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64WriteValueNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 2190
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
         Name  Flags
      type     
      operand  

  private com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64WriteValueNode getRegisterStore(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.asm.amd64.AsmOperand);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;)Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64WriteValueNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 2194
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
         Name  Flags
      type     
      operand  

  private com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64WriteValueNode getRegisterStore(com.oracle.truffle.llvm.runtime.types.Type, java.lang.String);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64WriteValueNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 2198
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
      Name  Flags
      type  
      name  

  private com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64WriteValueNode getRegisterStore(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64WriteValueNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 2202
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
      Name  Flags
      name  

  private com.oracle.truffle.api.frame.FrameSlot getRegisterSlot(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // java.lang.String name
         0: .line 2207
            aload 1 /* name */
            ldc "__$$tmp_r_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 2208
            aload 0 /* this */
            aload 1 /* name */
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I64:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.addFrameSlot:(Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/types/Type;)V
         2: .line 2209
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
            aload 1 /* name */
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
            areturn
         3: .line 2211
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
            dup
            aload 1 /* name */
            invokespecial com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.<init>:(Ljava/lang/String;)V
            astore 2 /* op */
        start local 2 // com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand op
         4: .line 2212
            aload 2 /* op */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.getBaseRegister:()Ljava/lang/String;
            astore 3 /* baseRegister */
        start local 3 // java.lang.String baseRegister
         5: .line 2213
            aload 0 /* this */
            aload 3 /* baseRegister */
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I64:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.addFrameSlot:(Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/types/Type;)V
         6: .line 2214
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
            aload 3 /* baseRegister */
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
            areturn
        end local 3 // java.lang.String baseRegister
        end local 2 // com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand op
        end local 1 // java.lang.String name
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0    7     1          name  Ljava/lang/String;
            4    7     2            op  Lcom/oracle/truffle/llvm/asm/amd64/AsmRegisterOperand;
            5    7     3  baseRegister  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private static java.lang.String getArgumentName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int index
         0: .line 2218
            new java.lang.StringBuilder
            dup
            ldc "$"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  index  I
    MethodParameters:
       Name  Flags
      index  

  private com.oracle.truffle.api.frame.FrameSlot getArgumentSlot(int, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (ILcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/api/frame/FrameSlot;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // int index
        start local 2 // com.oracle.truffle.llvm.runtime.types.Type type
         0: .line 2222
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.asm.amd64.Argument
            astore 3 /* info */
        start local 3 // com.oracle.truffle.llvm.asm.amd64.Argument info
         1: .line 2223
            iload 1 /* index */
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.getArgumentName:(I)Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         2: .line 2224
            aload 2 /* type */
            instanceof com.oracle.truffle.llvm.runtime.types.StructureType
            ifne 3
            aload 2 /* type */
            instanceof com.oracle.truffle.llvm.runtime.types.PointerType
            ifeq 5
         3: .line 2225
      StackMap locals: com.oracle.truffle.llvm.asm.amd64.Argument java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 4 /* name */
            aload 3 /* info */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.addFrameSlot:(Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/types/Type;)V
         4: .line 2226
            goto 6
         5: .line 2227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* name */
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I64:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.addFrameSlot:(Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/types/Type;)V
         6: .line 2229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
            aload 4 /* name */
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
            areturn
        end local 4 // java.lang.String name
        end local 3 // com.oracle.truffle.llvm.asm.amd64.Argument info
        end local 2 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 1 // int index
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0    7     1  index  I
            0    7     2   type  Lcom/oracle/truffle/llvm/runtime/types/Type;
            1    7     3   info  Lcom/oracle/truffle/llvm/asm/amd64/Argument;
            2    7     4   name  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      index  
      type   

  private static java.lang.String getFlagName(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // long flag
         0: .line 2233
            new java.lang.StringBuilder
            dup
            ldc "$flag_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 0 /* flag */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // long flag
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  flag  J
    MethodParameters:
      Name  Flags
      flag  

  private com.oracle.truffle.api.frame.FrameSlot getFlagSlot(long);
    descriptor: (J)Lcom/oracle/truffle/api/frame/FrameSlot;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // long flag
         0: .line 2237
            lload 1 /* flag */
            invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagName:(J)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         1: .line 2238
            aload 0 /* this */
            aload 3 /* name */
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I1:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.addFrameSlot:(Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/types/Type;)V
         2: .line 2239
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
            aload 3 /* name */
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
            areturn
        end local 3 // java.lang.String name
        end local 1 // long flag
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0    3     1  flag  J
            1    3     3  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      flag  

  private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode getFlag(long);
    descriptor: (J)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 2242
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
    MethodParameters:
      Name  Flags
      flag  

  private com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64WriteBooleanNode getFlagWrite(long);
    descriptor: (J)Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64WriteBooleanNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
        start local 1 // long flag
         0: .line 2247
            new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64WriteBooleanNode
            dup
            aload 0 /* this */
            lload 1 /* flag */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64WriteBooleanNode.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;)V
            areturn
        end local 1 // long flag
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;
            0    1     1  flag  J
    MethodParameters:
      Name  Flags
      flag  

  private com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdatePZSFlagsNode getUpdatePZSFlagsNode();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdatePZSFlagsNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 2251
            new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdatePZSFlagsNode
            dup
            aload 0 /* this */
            ldc 2
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 0 /* this */
            ldc 6
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 0 /* this */
            ldc 7
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdatePZSFlagsNode.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;)V
            areturn
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;

  private com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdatePZSOFlagsNode getUpdatePZSOFlagsNode();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdatePZSOFlagsNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 2255
            new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdatePZSOFlagsNode
            dup
            aload 0 /* this */
            ldc 2
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 0 /* this */
            ldc 6
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 0 /* this */
            ldc 7
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 0 /* this */
            ldc 11
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdatePZSOFlagsNode.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;)V
            areturn
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;

  private com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdateCPZSOFlagsNode getUpdateCPZSOFlagsNode();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdateCPZSOFlagsNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 2259
            new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdateCPZSOFlagsNode
            dup
            aload 0 /* this */
            lconst_0
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 0 /* this */
            ldc 2
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 0 /* this */
            ldc 6
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 0 /* this */
            ldc 7
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
         1: .line 2260
            aload 0 /* this */
            ldc 11
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
         2: .line 2259
            invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdateCPZSOFlagsNode.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;)V
            areturn
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;

  private com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdateCPAZSOFlagsNode getUpdateCPAZSOFlagsNode();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/asm/support/LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdateCPAZSOFlagsNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
         0: .line 2264
            new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdateCPAZSOFlagsNode
            dup
            aload 0 /* this */
            lconst_0
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 0 /* this */
            ldc 2
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 0 /* this */
            ldc 4
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 0 /* this */
            ldc 6
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
         1: .line 2265
            aload 0 /* this */
            ldc 7
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 0 /* this */
            ldc 11
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
         2: .line 2264
            invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdateCPAZSOFlagsNode.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlot;)V
            areturn
        end local 0 // com.oracle.truffle.llvm.asm.amd64.AsmFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/llvm/asm/amd64/AsmFactory;

  static int[] $SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 258
            getstatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.values:()[Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.DOUBLE:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            bipush 8
            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.llvm.runtime.types.PrimitiveType$PrimitiveKind.F128:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            bipush 9
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.FLOAT:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            bipush 7
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.HALF:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            bipush 6
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.I1:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.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.llvm.runtime.types.PrimitiveType$PrimitiveKind.I16:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            iconst_3
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.I32:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            iconst_4
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.I64:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            iconst_5
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.I8:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            iconst_2
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.PPC_FP128:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            bipush 11
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.X86_FP80:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind:[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
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
SourceFile: "AsmFactory.java"
NestMembers:
  com.oracle.truffle.llvm.asm.amd64.AsmFactory$XchgOperands
InnerClasses:
  private XchgOperands = com.oracle.truffle.llvm.asm.amd64.AsmFactory$XchgOperands of com.oracle.truffle.llvm.asm.amd64.AsmFactory
  public abstract LLVMStackAccess = com.oracle.truffle.llvm.runtime.memory.LLVMStack$LLVMStackAccess of com.oracle.truffle.llvm.runtime.memory.LLVMStack
  public LLVMAMD64UpdateCPAZSOFlagsNode = com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdateCPAZSOFlagsNode of com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode
  public LLVMAMD64UpdateCPZSOFlagsNode = com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdateCPZSOFlagsNode of com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode
  public LLVMAMD64UpdatePZSFlagsNode = com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdatePZSFlagsNode of com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode
  public LLVMAMD64UpdatePZSOFlagsNode = com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdatePZSOFlagsNode of com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode
  public final PrimitiveKind = com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind of com.oracle.truffle.llvm.runtime.types.PrimitiveType
  public TypeArrayBuilder = com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder of com.oracle.truffle.llvm.runtime.types.Type