abstract class com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode$MakeAccessLocation extends com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode$MakeAccessLocation
super_class: com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode$MakeAccessLocation;
protected abstract com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode$AccessLocation execute(java.lang.Object, java.lang.Object, com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType, long);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType;J)Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode$AccessLocation;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
foreign
identifier
type
restOffset
com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode$AccessLocation doValue(java.lang.Object, java.lang.Object, com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType$Value, long);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Value;J)Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode$AccessLocation;
flags: (0x0000)
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: lload 4
lconst_0
lcmp
ifeq 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
2: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "cannot read from non-structured type with offset "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
new com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode$AccessLocation
dup
aload 1
aload 2
aload 3
invokespecial com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode$AccessLocation.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Value;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode$MakeAccessLocation;
0 4 1 foreign Ljava/lang/Object;
0 4 2 identifier Ljava/lang/Object;
0 4 3 type Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Value;
0 4 4 restOffset J
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
foreign
identifier
type
restOffset
com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode$AccessLocation doRecursiveObject(java.lang.Object, java.lang.String, com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType$Structured, long, com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Structured;JLcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode;)Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode$AccessLocation;
flags: (0x0000)
Code:
stack=8, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 6 start local 7 0: aload 6
aload 1
aload 2
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 8
start local 8 1: goto 8
end local 8 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnknownIdentifierException
2: pop
3: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
4: new com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException
dup
aload 0
ldc "Member '%s' not found"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException.<init>:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/String;[Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
pop
6: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
7: new com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException
dup
aload 0
ldc "Cannot read member '%s'"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException.<init>:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/String;[Ljava/lang/Object;)V
athrow
start local 8 8: StackMap locals: java.lang.Object
StackMap stack:
aload 7
aload 3
aload 8
lload 4
invokevirtual com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode.execute:(Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Structured;Ljava/lang/Object;J)Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode$AccessLocation;
areturn
end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode$MakeAccessLocation;
0 9 1 foreign Ljava/lang/Object;
0 9 2 identifier Ljava/lang/String;
0 9 3 type Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Structured;
0 9 4 restOffset J
0 9 6 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
0 9 7 recursive Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode;
1 2 8 inner Ljava/lang/Object;
8 9 8 inner Ljava/lang/Object;
Exception table:
from to target type
0 1 2 Class com.oracle.truffle.api.interop.UnknownIdentifierException
0 1 5 Class com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(limit = "3")
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
3:
4:
com.oracle.truffle.api.library.CachedLibrary(value = "foreign")
5:
com.oracle.truffle.api.dsl.Cached(value = "create()")
MethodParameters:
Name Flags
foreign
identifier
type
restOffset
interop
recursive
com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode$AccessLocation doRecursiveArray(java.lang.Object, long, com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType$Structured, long, com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode);
descriptor: (Ljava/lang/Object;JLcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Structured;JLcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode;)Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode$AccessLocation;
flags: (0x0000)
Code:
stack=9, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 4 start local 5 start local 7 start local 8 0: aload 7
aload 1
lload 2
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
astore 9
start local 9 1: goto 8
end local 9 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.InvalidArrayIndexException
2: pop
3: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
4: new com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException
dup
aload 0
ldc "Invalid array index %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException.<init>:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/String;[Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
pop
6: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
7: new com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException
dup
aload 0
ldc "Cannot acess array element %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException.<init>:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/String;[Ljava/lang/Object;)V
athrow
start local 9 8: StackMap locals: java.lang.Object
StackMap stack:
aload 8
aload 4
aload 9
lload 5
invokevirtual com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode.execute:(Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Structured;Ljava/lang/Object;J)Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode$AccessLocation;
areturn
end local 9 end local 8 end local 7 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode$MakeAccessLocation;
0 9 1 foreign Ljava/lang/Object;
0 9 2 index J
0 9 4 type Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Structured;
0 9 5 restOffset J
0 9 7 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
0 9 8 recursive Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropAccessNode;
1 2 9 inner Ljava/lang/Object;
8 9 9 inner Ljava/lang/Object;
Exception table:
from to target type
0 1 2 Class com.oracle.truffle.api.interop.InvalidArrayIndexException
0 1 5 Class com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(limit = "3")
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
3:
4:
com.oracle.truffle.api.library.CachedLibrary(value = "foreign")
5:
com.oracle.truffle.api.dsl.Cached(value = "create()")
MethodParameters:
Name Flags
foreign
index
type
restOffset
interop
recursive
}
SourceFile: "LLVMInteropAccessNode.java"
NestHost: com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode
InnerClasses:
protected AccessLocation = com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode$AccessLocation of com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode
abstract MakeAccessLocation = com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode$MakeAccessLocation of com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropAccessNode
public abstract Structured = com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType$Structured of com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType
public final Value = com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType$Value of com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.GenerateUncached()