abstract class com.oracle.truffle.polyglot.HostObject$ReadFieldNode extends com.oracle.truffle.api.nodes.Node
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.polyglot.HostObject$ReadFieldNode
super_class: com.oracle.truffle.api.nodes.Node
{
static final int LIMIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/HostObject$ReadFieldNode;
public abstract java.lang.Object execute(com.oracle.truffle.polyglot.HostFieldDesc, com.oracle.truffle.polyglot.HostObject);
descriptor: (Lcom/oracle/truffle/polyglot/HostFieldDesc;Lcom/oracle/truffle/polyglot/HostObject;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
field
object
static java.lang.Object doCached(com.oracle.truffle.polyglot.HostFieldDesc, com.oracle.truffle.polyglot.HostObject, com.oracle.truffle.polyglot.HostFieldDesc, com.oracle.truffle.polyglot.PolyglotLanguageContext$ToGuestValueNode);
descriptor: (Lcom/oracle/truffle/polyglot/HostFieldDesc;Lcom/oracle/truffle/polyglot/HostObject;Lcom/oracle/truffle/polyglot/HostFieldDesc;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$ToGuestValueNode;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 1
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.polyglot.HostFieldDesc.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 1: aload 3
aload 1
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
aload 4
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext$ToGuestValueNode.execute:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;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 2 0 field Lcom/oracle/truffle/polyglot/HostFieldDesc;
0 2 1 object Lcom/oracle/truffle/polyglot/HostObject;
0 2 2 cachedField Lcom/oracle/truffle/polyglot/HostFieldDesc;
0 2 3 toGuest Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$ToGuestValueNode;
1 2 4 val Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"field == cachedField"}, limit = "LIMIT")
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.dsl.Cached(value = "field")
3:
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
field
object
cachedField
toGuest
static java.lang.Object doUncached(com.oracle.truffle.polyglot.HostFieldDesc, com.oracle.truffle.polyglot.HostObject, com.oracle.truffle.polyglot.PolyglotLanguageContext$ToGuestValueNode);
descriptor: (Lcom/oracle/truffle/polyglot/HostFieldDesc;Lcom/oracle/truffle/polyglot/HostObject;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$ToGuestValueNode;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getfield com.oracle.truffle.polyglot.HostObject.obj:Ljava/lang/Object;
invokevirtual com.oracle.truffle.polyglot.HostFieldDesc.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: aload 2
aload 1
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
aload 3
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext$ToGuestValueNode.execute:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 field Lcom/oracle/truffle/polyglot/HostFieldDesc;
0 2 1 object Lcom/oracle/truffle/polyglot/HostObject;
0 2 2 toGuest Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$ToGuestValueNode;
1 2 3 val Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(replaces = {"doCached"})
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
field
object
toGuest
}
SourceFile: "HostObject.java"
NestHost: com.oracle.truffle.polyglot.HostObject
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
abstract ReadFieldNode = com.oracle.truffle.polyglot.HostObject$ReadFieldNode of com.oracle.truffle.polyglot.HostObject
abstract ToGuestValueNode = com.oracle.truffle.polyglot.PolyglotLanguageContext$ToGuestValueNode of com.oracle.truffle.polyglot.PolyglotLanguageContext
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.GenerateUncached()