class com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode extends com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode
super_class: com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode
{
private com.oracle.truffle.js.nodes.access.JSProxyCallNode proxyCall;
descriptor: Lcom/oracle/truffle/js/nodes/access/JSProxyCallNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode next;
descriptor: Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private final boolean isNew;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isNewTarget;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode, boolean, boolean);
descriptor: (Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;ZZ)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode.next:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
2: aload 0
iload 2
putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode.isNew:Z
3: aload 0
iload 3
putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode.isNewTarget:Z
4: return
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/js/nodes/function/JSFunctionCallNode$JSProxyCacheNode;
0 5 1 next Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
0 5 2 isNew Z
0 5 3 isNewTarget Z
MethodParameters:
Name Flags
next
isNew
isNewTarget
public java.lang.Object executeCall(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSArguments.getFunctionObject:([Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 7
2: aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode.proxyCall:Lcom/oracle/truffle/js/nodes/access/JSProxyCallNode;
ifnonnull 6
3: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
4: aload 2
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.getJSContext:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 3
start local 3 5: aload 0
aload 0
aload 3
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode.isNew:Z
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode.isNewTarget:Z
invokestatic com.oracle.truffle.js.nodes.access.JSProxyCallNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;ZZ)Lcom/oracle/truffle/js/nodes/access/JSProxyCallNode;
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.js.nodes.access.JSProxyCallNode
putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode.proxyCall:Lcom/oracle/truffle/js/nodes/access/JSProxyCallNode;
end local 3 6: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode.proxyCall:Lcom/oracle/truffle/js/nodes/access/JSProxyCallNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.JSProxyCallNode.execute:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode.next:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.executeCall:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSProxyCacheNode;
0 8 1 arguments [Ljava/lang/Object;
1 8 2 function Ljava/lang/Object;
5 6 3 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
arguments
protected boolean accept(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSProxyCacheNode;
0 1 1 function Ljava/lang/Object;
MethodParameters:
Name Flags
function
}
SourceFile: "JSFunctionCallNode.java"
NestHost: com.oracle.truffle.js.nodes.function.JSFunctionCallNode
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
private abstract AbstractCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private JSProxyCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode