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: 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: 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 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
2: aload 0
aload 2
putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argTypes:Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
3: aload 0
aload 3
putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.asmFlags:Ljava/lang/String;
4: aload 0
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: aload 0
aload 7
aload 0
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: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.statements:Ljava/util/List;
7: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.arguments:Ljava/util/List;
8: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.registers:Ljava/util/List;
9: aload 0
aload 4
putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retType:Lcom/oracle/truffle/llvm/runtime/types/Type;
10: aload 0
aload 5
putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retTypes:[Lcom/oracle/truffle/llvm/runtime/types/Type;
11: aload 0
aload 6
putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retOffsets:[J
12: aload 0
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.parseArguments:()V
13: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: 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
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 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 0: 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
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 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 0: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
1: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.asmFlags:Ljava/lang/String;
iconst_1
aload 0
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
start local 1 2: iconst_1
aload 0
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
start local 2 5: iconst_0
istore 3
start local 3 6: aload 1
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
start local 4 8: aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifeq 10
9: goto 83
10: 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
start local 8 11: iconst_1
istore 9
start local 9 12: iconst_0
istore 10
start local 10 13: iconst_0
istore 11
start local 11 14: iconst_0
istore 12
start local 12 15: aconst_null
astore 13
start local 13 16: aconst_null
astore 14
start local 14 17: iconst_0
istore 15
start local 15 18: goto 34
19: 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
iload 15
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 5
38: 31
42: 29
43: 23
61: 26
126: 20
default: 32
}
20: StackMap locals:
StackMap stack:
iconst_1
istore 8
21: iconst_0
istore 9
22: goto 33
23: StackMap locals:
StackMap stack:
iconst_1
istore 9
24: iconst_1
istore 10
25: goto 33
26: StackMap locals:
StackMap stack:
iconst_0
istore 9
27: iconst_1
istore 10
28: goto 33
29: StackMap locals:
StackMap stack:
iconst_1
istore 11
30: goto 33
31: StackMap locals:
StackMap stack:
goto 33
32: StackMap locals:
StackMap stack:
aload 4
iload 15
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 13
33: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
34: iload 15
aload 4
invokevirtual java.lang.String.length:()I
if_icmpge 35
aload 13
ifnull 19
35: StackMap locals:
StackMap stack:
iload 8
ifeq 37
36: goto 83
37: StackMap locals:
StackMap stack:
aload 13
ifnonnull 39
38: 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
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: StackMap locals:
StackMap stack:
aload 13
bipush 123
invokevirtual java.lang.String.indexOf:(I)I
istore 16
start local 16 40: aload 13
bipush 125
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 17
start local 17 41: iload 16
iconst_m1
if_icmpeq 44
iload 17
iconst_m1
if_icmpeq 44
42: aload 13
iload 16
iconst_1
iadd
iload 17
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 14
43: goto 58
StackMap locals: int int
StackMap stack:
44: ldc "r"
aload 13
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 45
ldc "q"
aload 13
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 45
ldc "x"
aload 13
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 48
45: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "__$$tmp_r_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
46: iconst_1
istore 12
47: goto 58
StackMap locals:
StackMap stack:
48: aload 13
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 58
aload 13
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 58
49: aload 13
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 10
invokestatic java.lang.Character.digit:(CI)I
istore 18
start local 18 50: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
iload 18
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.asm.amd64.Argument
astore 19
start local 19 51: getstatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$assertionsDisabled:Z
ifne 53
iload 9
ifeq 52
iload 10
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: StackMap locals:
StackMap stack:
iconst_1
istore 9
54: iconst_0
istore 10
55: aload 19
invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.isRegister:()Z
ifeq 57
56: aload 19
invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.getRegister:()Ljava/lang/String;
astore 14
57: StackMap locals:
StackMap stack:
aload 19
invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.isAnonymous:()Z
istore 12
end local 19 end local 18 58: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$assertionsDisabled:Z
ifne 59
aload 14
ifnull 59
aload 14
invokestatic com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.isRegister:(Ljava/lang/String;)Z
ifne 59
aload 14
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: StackMap locals:
StackMap stack:
iload 2
istore 18
start local 18 60: iload 3
istore 19
start local 19 61: iload 9
ifeq 64
62: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argTypes:Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
iload 2
iinc 2 1
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.get:(I)Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 20
start local 20 63: goto 79
end local 20 StackMap locals: int int
StackMap stack:
64: aload 0
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: iload 11
ifeq 69
66: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argTypes:Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
iload 2
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.get:(I)Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 20
start local 20 67: iload 2
iinc 2 1
istore 19
68: goto 79
end local 20 69: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retTypes:[Lcom/oracle/truffle/llvm/runtime/types/Type;
iload 3
iinc 3 1
aaload
astore 20
start local 20 70: goto 79
end local 20 StackMap locals:
StackMap stack:
71: iload 10
ifeq 78
72: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retType:Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 20
start local 20 73: iload 11
ifeq 79
74: aload 20
instanceof com.oracle.truffle.llvm.runtime.types.VoidType
ifeq 76
75: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argTypes:Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
iload 2
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.get:(I)Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 20
76: StackMap locals: com.oracle.truffle.llvm.runtime.types.Type
StackMap stack:
iload 2
iinc 2 1
istore 19
77: goto 79
end local 20 78: 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 79: StackMap locals: com.oracle.truffle.llvm.runtime.types.Type
StackMap stack:
iload 12
ifeq 82
aload 20
instanceof com.oracle.truffle.llvm.runtime.types.PointerType
ifeq 82
80: getstatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$assertionsDisabled:Z
ifne 81
aload 14
ifnonnull 81
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
81: StackMap locals:
StackMap stack:
aload 0
aload 14
aload 20
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.addFrameSlot:(Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/types/Type;)V
82: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
new com.oracle.truffle.llvm.asm.amd64.Argument
dup
iload 9
iload 10
iload 11
iload 12
aload 20
aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
invokeinterface java.util.List.size:()I
iload 18
iload 19
aload 13
aload 14
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 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 4 83: 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: getstatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$assertionsDisabled:Z
ifne 86
iload 2
aload 0
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: 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
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
aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.retOffsets:[J
arraylength
if_icmpeq 89
goto 88
StackMap locals:
StackMap stack:
87: iload 3
ifeq 89
StackMap locals:
StackMap stack:
88: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
89: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getArguments:()V
1: new com.oracle.truffle.llvm.runtime.nodes.func.LLVMInlineAssemblyRootNode
dup
aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.stackAccess:Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$LLVMStackAccess;
aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.statements:Ljava/util/List;
aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.arguments:Ljava/util/List;
aload 0
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 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 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.currentPrefix:Ljava/lang/String;
1: return
end local 1 end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 0: aload 0
ldc "shl"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
aload 0
ldc "shr"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
aload 0
ldc "rol"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
aload 0
ldc "ror"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
aload 0
ldc "sal"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
aload 0
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 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 0: iload 0
lookupswitch { // 4
98: 1
108: 3
113: 4
119: 2
default: 5
}
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I8:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
areturn
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I16:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
areturn
3: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I32:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
areturn
4: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I64:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
areturn
5: 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 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 start local 1 0: aload 1
invokeinterface com.oracle.truffle.llvm.asm.amd64.AsmOperand.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: com.oracle.truffle.llvm.runtime.types.Type
StackMap stack:
aload 1
instanceof com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
ifeq 7
4: aload 1
checkcast com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
astore 3
start local 3 5: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
aload 3
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
start local 4 6: aload 4
invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
areturn
end local 4 end local 3 7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
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
start local 3 1: aload 3
ifnull 2
aload 3
instanceof com.oracle.truffle.llvm.runtime.types.VoidType
ifeq 3
2: StackMap locals: com.oracle.truffle.llvm.runtime.types.Type
StackMap stack:
aload 0
aload 2
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
3: StackMap locals:
StackMap stack:
aload 3
ifnonnull 5
4: 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: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 0: aload 0
instanceof com.oracle.truffle.llvm.runtime.types.PrimitiveType
ifeq 2
1: aload 0
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: StackMap locals:
StackMap stack:
aload 0
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 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.registers:Ljava/util/List;
aload 1
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 4
1: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.registers:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 2
invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.computeFrameSlotKind:(Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/api/frame/FrameSlotKind;
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 1
aload 2
aload 3
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 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 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 0: aload 0
instanceof com.oracle.truffle.llvm.runtime.types.PrimitiveType
ifeq 7
1: aload 0
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
start local 1 2: invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind:()[I
aload 1
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: 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: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.frame.FrameSlotKind.Int:Lcom/oracle/truffle/api/frame/FrameSlotKind;
areturn
5: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.frame.FrameSlotKind.Long:Lcom/oracle/truffle/api/frame/FrameSlotKind;
areturn
end local 1 6: StackMap locals:
StackMap stack:
goto 9
StackMap locals:
StackMap stack:
7: aload 0
instanceof com.oracle.truffle.llvm.runtime.types.PointerType
ifeq 9
8: getstatic com.oracle.truffle.api.frame.FrameSlotKind.Object:Lcom/oracle/truffle/api/frame/FrameSlotKind;
areturn
9: 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
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 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 0: aload 0
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: aload 0
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
start local 1 2: goto 4
end local 1 3: 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
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 4: StackMap locals: com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind
StackMap stack:
aload 1
areturn
end local 1 end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 start local 1 0: aload 1
instanceof com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
ifeq 6
1: aload 1
checkcast com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
aload 2
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
start local 3 3: aload 3
invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.isMemory:()Z
ifeq 5
4: iconst_1
ireturn
5: 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 end local 2 6: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.llvm.asm.amd64.AsmMemoryOperand
ifeq 12
7: aload 1
checkcast com.oracle.truffle.llvm.asm.amd64.AsmMemoryOperand
astore 2
start local 2 8: aload 2
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmMemoryOperand.getBase:()Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;
astore 3
start local 3 9: aload 2
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmMemoryOperand.getOffset:()Lcom/oracle/truffle/llvm/asm/amd64/AsmOperand;
astore 4
start local 4 10: aload 3
ifnonnull 11
aload 4
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 end local 3 end local 2 12: 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
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 end local 0 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 start local 1 0: aload 0
aload 1
invokeinterface com.oracle.truffle.llvm.asm.amd64.AsmOperand.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 1
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 end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 start local 1 start local 2 0: aload 2
instanceof com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
ifeq 9
1: aload 2
checkcast com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
astore 3
start local 3 2: aload 0
aload 3
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
start local 4 3: aload 3
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.getShift:()I
istore 5
start local 5 4: getstatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$assertionsDisabled:Z
ifne 5
aload 1
aload 3
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: 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
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: StackMap locals:
StackMap stack:
new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
dup
aload 4
iload 5
invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;I)V
areturn
7: StackMap locals:
StackMap stack:
new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
dup
aload 4
invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;)V
areturn
8: StackMap locals:
StackMap stack:
aload 3
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 end local 4 end local 3 9: StackMap locals:
StackMap stack:
aload 2
instanceof com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
ifeq 27
10: aload 2
checkcast com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
astore 3
start local 3 11: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
aload 3
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
start local 4 12: aload 4
invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.isMemory:()Z
ifeq 19
13: aload 4
invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.getAddress:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
start local 5 14: aload 1
instanceof com.oracle.truffle.llvm.runtime.types.PointerType
ifeq 16
15: new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
dup
aload 5
invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)V
areturn
16: 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
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: StackMap locals:
StackMap stack:
new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
dup
aload 5
invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)V
areturn
18: StackMap locals:
StackMap stack:
aload 1
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 19: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.isRegister:()Z
ifeq 26
20: aload 0
aload 4
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
start local 5 21: aload 1
instanceof com.oracle.truffle.llvm.runtime.types.PointerType
ifne 22
aload 4
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: StackMap locals: com.oracle.truffle.api.frame.FrameSlot
StackMap stack:
new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
dup
aload 5
invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;)V
areturn
23: 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
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: StackMap locals:
StackMap stack:
new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
dup
aload 5
invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;)V
areturn
25: StackMap locals:
StackMap stack:
aload 1
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 26: 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
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 end local 3 27: StackMap locals:
StackMap stack:
aload 2
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
instanceof com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
ifeq 3
1: aload 2
checkcast com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
astore 3
start local 3 2: aload 0
aload 1
aload 3
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 3: StackMap locals:
StackMap stack:
aload 2
instanceof com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
ifeq 9
4: aload 2
checkcast com.oracle.truffle.llvm.asm.amd64.AsmArgumentOperand
astore 3
start local 3 5: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
aload 3
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
start local 4 6: aload 4
invokevirtual com.oracle.truffle.llvm.asm.amd64.Argument.isRegister:()Z
ifeq 8
7: aload 0
aload 1
aload 4
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: 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
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 end local 3 9: StackMap locals:
StackMap stack:
aload 2
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 end local 1 end local 0 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 start local 1 0: new com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
dup
aload 1
invokespecial com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 1
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
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
start local 3 4: aload 0
aload 3
aload 1
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 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: new com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
dup
aload 2
invokespecial com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.<init>:(Ljava/lang/String;)V
astore 3
start local 3 1: aload 0
aload 2
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getRegisterSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
astore 4
start local 4 2: invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.$SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind:()[I
aload 1
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: 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
aload 3
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: StackMap locals:
StackMap stack:
new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target
dup
aload 4
invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64Target.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;)V
areturn
5: StackMap locals:
StackMap stack:
aload 1
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 end local 3 end local 2 end local 1 end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 start local 1 0: aload 1
ldc "__$$tmp_r_"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
1: aload 0
aload 1
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: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 1
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
3: StackMap locals:
StackMap stack:
new com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand
dup
aload 1
invokespecial com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.<init>:(Ljava/lang/String;)V
astore 2
start local 2 4: aload 2
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmRegisterOperand.getBaseRegister:()Ljava/lang/String;
astore 3
start local 3 5: aload 0
aload 3
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: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 3
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
end local 3 end local 2 end local 1 end local 0 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 0: new java.lang.StringBuilder
dup
ldc "$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 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 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.argInfo:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.asm.amd64.Argument
astore 3
start local 3 1: iload 1
invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.getArgumentName:(I)Ljava/lang/String;
astore 4
start local 4 2: aload 2
instanceof com.oracle.truffle.llvm.runtime.types.StructureType
ifne 3
aload 2
instanceof com.oracle.truffle.llvm.runtime.types.PointerType
ifeq 5
3: StackMap locals: com.oracle.truffle.llvm.asm.amd64.Argument java.lang.String
StackMap stack:
aload 0
aload 4
aload 3
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: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 4
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: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 4
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 0: new java.lang.StringBuilder
dup
ldc "$flag_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 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 start local 1 0: lload 1
invokestatic com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagName:(J)Ljava/lang/String;
astore 3
start local 3 1: aload 0
aload 3
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: aload 0
getfield com.oracle.truffle.llvm.asm.amd64.AsmFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 3
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
end local 3 end local 1 end local 0 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 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 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 start local 1 0: new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64WriteBooleanNode
dup
aload 0
lload 1
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 end local 0 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 0: new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdatePZSFlagsNode
dup
aload 0
ldc 2
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
ldc 6
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
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 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 0: new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdatePZSOFlagsNode
dup
aload 0
ldc 2
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
ldc 6
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
ldc 7
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
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 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 0: new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdateCPZSOFlagsNode
dup
aload 0
lconst_0
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
ldc 2
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
ldc 6
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
ldc 7
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
1: aload 0
ldc 11
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
2: 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 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 0: new com.oracle.truffle.llvm.runtime.nodes.asm.support.LLVMAMD64UpdateFlagsNode$LLVMAMD64UpdateCPAZSOFlagsNode
dup
aload 0
lconst_0
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
ldc 2
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
ldc 4
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
ldc 6
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
1: aload 0
ldc 7
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
ldc 11
invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmFactory.getFlagSlot:(J)Lcom/oracle/truffle/api/frame/FrameSlot;
2: 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 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: 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