public abstract class com.oracle.truffle.js.nodes.interop.JSInteropInvokeNode extends com.oracle.truffle.js.nodes.interop.JSInteropCallNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.nodes.interop.JSInteropInvokeNode
super_class: com.oracle.truffle.js.nodes.interop.JSInteropCallNode
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.js.nodes.interop.JSInteropCallNode.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/interop/JSInteropInvokeNode;
public static com.oracle.truffle.js.nodes.interop.JSInteropInvokeNode create();
descriptor: ()Lcom/oracle/truffle/js/nodes/interop/JSInteropInvokeNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tJSInteropInvokeNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
public abstract java.lang.Object execute(com.oracle.truffle.api.object.DynamicObject, java.lang.String, java.lang.Object[]);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws com.oracle.truffle.api.interop.UnknownIdentifierException, com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
receiver
name
arguments
doCached(com.oracle.truffle.api.object.DynamicObject, java.lang.String, [], java.lang.String, com.oracle.truffle.api.TruffleLanguage$LanguageReference<com.oracle.truffle.js.lang.JavaScriptLanguage>, com.oracle.truffle.js.nodes.access.PropertyGetNode, com.oracle.truffle.js.nodes.unary.IsCallableNode, com.oracle.truffle.js.nodes.function.JSFunctionCallNode, com.oracle.truffle.js.nodes.interop.ImportValueNode);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/String;Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Lcom/oracle/truffle/js/nodes/unary/IsCallableNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=11, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 6
aload 1
aconst_null
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValueOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 1: aload 10
ifnonnull 3
2: aload 4
invokestatic com.oracle.truffle.api.interop.UnknownIdentifierException.create:(Ljava/lang/String;)Lcom/oracle/truffle/api/interop/UnknownIdentifierException;
athrow
3: StackMap locals: java.lang.Object
StackMap stack:
aload 7
aload 10
invokevirtual com.oracle.truffle.js.nodes.unary.IsCallableNode.executeBoolean:(Ljava/lang/Object;)Z
ifeq 5
4: aload 8
aload 1
aload 10
aload 3
aload 9
invokestatic com.oracle.truffle.js.nodes.interop.JSInteropInvokeNode.prepare:([Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;)[Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSArguments.create:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
5: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 10 end local 9 end local 8 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 6 0 this Lcom/oracle/truffle/js/nodes/interop/JSInteropInvokeNode;
0 6 1 receiver Lcom/oracle/truffle/api/object/DynamicObject;
0 6 2 name Ljava/lang/String;
0 6 3 arguments [Ljava/lang/Object;
0 6 4 cachedName Ljava/lang/String;
0 6 5 languageRef Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/truffle/js/lang/JavaScriptLanguage;>;
0 6 6 functionPropertyGetNode Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 6 7 isCallableNode Lcom/oracle/truffle/js/nodes/unary/IsCallableNode;
0 6 8 callNode Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
0 6 9 importValueNode Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;
1 6 10 function Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.UnknownIdentifierException, com.oracle.truffle.api.interop.UnsupportedMessageException
Signature: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/String;Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/truffle/js/lang/JavaScriptLanguage;>;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Lcom/oracle/truffle/js/nodes/unary/IsCallableNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"cachedName.equals(name)"}, limit = "1")
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
3:
com.oracle.truffle.api.dsl.Cached(value = "name")
4:
com.oracle.truffle.api.dsl.CachedLanguage()
5:
com.oracle.truffle.api.dsl.Cached(value = "createGetProperty(cachedName, languageRef)")
6:
com.oracle.truffle.api.dsl.Cached$Shared(value = "isCallable")
com.oracle.truffle.api.dsl.Cached()
7:
com.oracle.truffle.api.dsl.Cached$Shared(value = "call")
com.oracle.truffle.api.dsl.Cached(value = "createCall()", uncached = "getUncachedCall()")
8:
com.oracle.truffle.api.dsl.Cached$Shared(value = "importValue")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
receiver
name
arguments
cachedName
languageRef
functionPropertyGetNode
isCallableNode
callNode
importValueNode
doUncached(com.oracle.truffle.api.object.DynamicObject, java.lang.String, [], com.oracle.truffle.api.TruffleLanguage$LanguageReference<com.oracle.truffle.js.lang.JavaScriptLanguage>, com.oracle.truffle.js.nodes.access.ReadElementNode, com.oracle.truffle.js.nodes.unary.IsCallableNode, com.oracle.truffle.js.nodes.function.JSFunctionCallNode, com.oracle.truffle.js.nodes.interop.ImportValueNode);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;[Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;Lcom/oracle/truffle/js/nodes/unary/IsCallableNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=11, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 5
ifnonnull 3
1: aload 1
aload 2
aload 1
aconst_null
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 9
start local 9 2: goto 4
end local 9 3: StackMap locals:
StackMap stack:
aload 5
aload 1
aload 2
aconst_null
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndexOrDefault:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 9
start local 9 4: StackMap locals: java.lang.Object
StackMap stack:
aload 9
ifnonnull 6
5: aload 2
invokestatic com.oracle.truffle.api.interop.UnknownIdentifierException.create:(Ljava/lang/String;)Lcom/oracle/truffle/api/interop/UnknownIdentifierException;
athrow
6: StackMap locals:
StackMap stack:
aload 6
aload 9
invokevirtual com.oracle.truffle.js.nodes.unary.IsCallableNode.executeBoolean:(Ljava/lang/Object;)Z
ifeq 11
7: aload 3
aload 8
invokestatic com.oracle.truffle.js.nodes.interop.JSInteropInvokeNode.prepare:([Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;)[Ljava/lang/Object;
astore 10
start local 10 8: aload 7
ifnonnull 10
9: aload 9
aload 1
aload 10
invokestatic com.oracle.truffle.js.runtime.JSRuntime.call:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
10: StackMap locals: java.lang.Object[]
StackMap stack:
aload 7
aload 1
aload 9
aload 10
invokestatic com.oracle.truffle.js.runtime.JSArguments.create:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 10 11: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 9 end local 8 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 12 0 this Lcom/oracle/truffle/js/nodes/interop/JSInteropInvokeNode;
0 12 1 receiver Lcom/oracle/truffle/api/object/DynamicObject;
0 12 2 name Ljava/lang/String;
0 12 3 arguments [Ljava/lang/Object;
0 12 4 languageRef Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/truffle/js/lang/JavaScriptLanguage;>;
0 12 5 readNode Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 12 6 isCallableNode Lcom/oracle/truffle/js/nodes/unary/IsCallableNode;
0 12 7 callNode Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
0 12 8 importValueNode Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;
2 3 9 function Ljava/lang/Object;
4 12 9 function Ljava/lang/Object;
8 11 10 preparedArgs [Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.UnknownIdentifierException, com.oracle.truffle.api.interop.UnsupportedMessageException
Signature: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;[Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/truffle/js/lang/JavaScriptLanguage;>;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;Lcom/oracle/truffle/js/nodes/unary/IsCallableNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;Lcom/oracle/truffle/js/nodes/interop/ImportValueNode;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(replaces = {"doCached"})
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
3:
com.oracle.truffle.api.dsl.CachedLanguage()
4:
com.oracle.truffle.api.dsl.Cached(value = "create(languageRef.get().getJSContext())", uncached = "getUncachedRead()")
5:
com.oracle.truffle.api.dsl.Cached$Shared(value = "isCallable")
com.oracle.truffle.api.dsl.Cached()
6:
com.oracle.truffle.api.dsl.Cached$Shared(value = "call")
com.oracle.truffle.api.dsl.Cached(value = "createCall()", uncached = "getUncachedCall()")
7:
com.oracle.truffle.api.dsl.Cached$Shared(value = "importValue")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
receiver
name
arguments
languageRef
readNode
isCallableNode
callNode
importValueNode
com.oracle.truffle.js.nodes.access.PropertyGetNode createGetProperty(java.lang.String, com.oracle.truffle.api.TruffleLanguage$LanguageReference<com.oracle.truffle.js.lang.JavaScriptLanguage>);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_0
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$LanguageReference.get:()Lcom/oracle/truffle/api/TruffleLanguage;
checkcast com.oracle.truffle.js.lang.JavaScriptLanguage
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.getJSContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.create:(Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/interop/JSInteropInvokeNode;
0 1 1 name Ljava/lang/String;
0 1 2 languageRef Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/truffle/js/lang/JavaScriptLanguage;>;
Signature: (Ljava/lang/String;Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/truffle/js/lang/JavaScriptLanguage;>;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
MethodParameters:
Name Flags
name
languageRef
static com.oracle.truffle.js.nodes.access.ReadElementNode getUncachedRead();
descriptor: ()Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "JSInteropInvokeNode.java"
InnerClasses:
public abstract LanguageReference = com.oracle.truffle.api.TruffleLanguage$LanguageReference of com.oracle.truffle.api.TruffleLanguage
public abstract Shared = com.oracle.truffle.api.dsl.Cached$Shared of com.oracle.truffle.api.dsl.Cached
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.GenerateUncached()