class com.oracle.truffle.api.test.builtin.BuiltinObject$InvokeMember
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.test.builtin.BuiltinObject$InvokeMember
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/builtin/BuiltinObject$InvokeMember;
static java.lang.Object doCached(com.oracle.truffle.api.test.builtin.BuiltinObject, java.lang.String, java.lang.Object[], java.lang.String, com.oracle.truffle.api.test.builtin.BuiltinObject$MemberEntry, com.oracle.truffle.api.test.builtin.BuiltinObject$BuiltinNode);
descriptor: (Lcom/oracle/truffle/api/test/builtin/BuiltinObject;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/String;Lcom/oracle/truffle/api/test/builtin/BuiltinObject$MemberEntry;Lcom/oracle/truffle/api/test/builtin/BuiltinObject$BuiltinNode;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
ifnonnull 2
1: aload 1
invokestatic com.oracle.truffle.api.interop.UnknownIdentifierException.create:(Ljava/lang/String;)Lcom/oracle/truffle/api/interop/UnknownIdentifierException;
athrow
2: StackMap locals:
StackMap stack:
aload 5
aload 4
aload 0
aload 2
invokevirtual com.oracle.truffle.api.test.builtin.BuiltinObject$BuiltinNode.executeImpl:(Lcom/oracle/truffle/api/test/builtin/BuiltinObject$MemberEntry;Lcom/oracle/truffle/api/test/builtin/BuiltinObject;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
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 3 0 receiver Lcom/oracle/truffle/api/test/builtin/BuiltinObject;
0 3 1 member Ljava/lang/String;
0 3 2 arguments [Ljava/lang/Object;
0 3 3 cachedMember Ljava/lang/String;
0 3 4 cachedEntry Lcom/oracle/truffle/api/test/builtin/BuiltinObject$MemberEntry;
0 3 5 node Lcom/oracle/truffle/api/test/builtin/BuiltinObject$BuiltinNode;
Exceptions:
throws com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnsupportedTypeException, com.oracle.truffle.api.interop.UnknownIdentifierException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"cachedMember.equals(member)"}, limit = "MEMBER_NAME_CACHE_SIZE")
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
3:
com.oracle.truffle.api.dsl.Cached(value = "member")
4:
com.oracle.truffle.api.dsl.Cached(value = "getDescriptorImpl(receiver).lookup(cachedMember)")
5:
com.oracle.truffle.api.dsl.Cached(value = "createNode(cachedEntry)")
MethodParameters:
Name Flags
receiver
member
arguments
cachedMember
cachedEntry
node
protected static com.oracle.truffle.api.test.builtin.BuiltinObject$BuiltinNode createNode(com.oracle.truffle.api.test.builtin.BuiltinObject$MemberEntry);
descriptor: (Lcom/oracle/truffle/api/test/builtin/BuiltinObject$MemberEntry;)Lcom/oracle/truffle/api/test/builtin/BuiltinObject$BuiltinNode;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.test.builtin.BuiltinObject$MemberEntry.createNode:()Lcom/oracle/truffle/api/test/builtin/BuiltinObject$BuiltinNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 entry Lcom/oracle/truffle/api/test/builtin/BuiltinObject$MemberEntry;
MethodParameters:
Name Flags
entry
static java.lang.Object doUncached(com.oracle.truffle.api.test.builtin.BuiltinObject, java.lang.String, java.lang.Object[], com.oracle.truffle.api.test.builtin.BuiltinObject$BuiltinDescriptor);
descriptor: (Lcom/oracle/truffle/api/test/builtin/BuiltinObject;Ljava/lang/String;[Ljava/lang/Object;Lcom/oracle/truffle/api/test/builtin/BuiltinObject$BuiltinDescriptor;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 1
invokevirtual com.oracle.truffle.api.test.builtin.BuiltinObject$BuiltinDescriptor.lookup:(Ljava/lang/String;)Lcom/oracle/truffle/api/test/builtin/BuiltinObject$MemberEntry;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: aload 1
invokestatic com.oracle.truffle.api.interop.UnknownIdentifierException.create:(Ljava/lang/String;)Lcom/oracle/truffle/api/interop/UnknownIdentifierException;
athrow
3: StackMap locals: com.oracle.truffle.api.test.builtin.BuiltinObject$MemberEntry
StackMap stack:
aload 4
getfield com.oracle.truffle.api.test.builtin.BuiltinObject$MemberEntry.uncached:Lcom/oracle/truffle/api/test/builtin/BuiltinObject$BuiltinNode;
aload 4
aload 0
aload 2
invokevirtual com.oracle.truffle.api.test.builtin.BuiltinObject$BuiltinNode.executeImpl:(Lcom/oracle/truffle/api/test/builtin/BuiltinObject$MemberEntry;Lcom/oracle/truffle/api/test/builtin/BuiltinObject;[Ljava/lang/Object;)Ljava/lang/Object;
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 receiver Lcom/oracle/truffle/api/test/builtin/BuiltinObject;
0 4 1 member Ljava/lang/String;
0 4 2 arguments [Ljava/lang/Object;
0 4 3 descriptor Lcom/oracle/truffle/api/test/builtin/BuiltinObject$BuiltinDescriptor;
1 4 4 memberEntry Lcom/oracle/truffle/api/test/builtin/BuiltinObject$MemberEntry;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedTypeException, com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnknownIdentifierException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(replaces = {"doCached"})
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
3:
com.oracle.truffle.api.dsl.Cached$Shared(value = "descriptor")
com.oracle.truffle.api.dsl.Cached(value = "getDescriptorImpl(receiver)", allowUncached = true)
MethodParameters:
Name Flags
receiver
member
arguments
descriptor
}
SourceFile: "BuiltinObject.java"
NestHost: com.oracle.truffle.api.test.builtin.BuiltinObject
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract Shared = com.oracle.truffle.api.dsl.Cached$Shared of com.oracle.truffle.api.dsl.Cached
public final BuiltinDescriptor = com.oracle.truffle.api.test.builtin.BuiltinObject$BuiltinDescriptor of com.oracle.truffle.api.test.builtin.BuiltinObject
public abstract BuiltinNode = com.oracle.truffle.api.test.builtin.BuiltinObject$BuiltinNode of com.oracle.truffle.api.test.builtin.BuiltinObject
InvokeMember = com.oracle.truffle.api.test.builtin.BuiltinObject$InvokeMember of com.oracle.truffle.api.test.builtin.BuiltinObject
MemberEntry = com.oracle.truffle.api.test.builtin.BuiltinObject$MemberEntry of com.oracle.truffle.api.test.builtin.BuiltinObject
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()