public abstract class com.oracle.truffle.js.nodes.function.JSFunctionCallNode extends com.oracle.truffle.js.nodes.JavaScriptNode implements com.oracle.truffle.js.runtime.JavaScriptFunctionCallNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.nodes.function.JSFunctionCallNode
super_class: com.oracle.truffle.js.nodes.JavaScriptNode
{
private static final com.oracle.truffle.js.runtime.util.DebugCounter megamorphicCount;
descriptor: Lcom/oracle/truffle/js/runtime/util/DebugCounter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final byte CALL;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final byte NEW;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final byte NEW_TARGET;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
protected final byte flags;
descriptor: B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode cacheNode;
descriptor: Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.$assertionsDisabled:Z
3: ldc "Megamorphic call site count"
invokestatic com.oracle.truffle.js.runtime.util.DebugCounter.create:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/util/DebugCounter;
putstatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.megamorphicCount:Lcom/oracle/truffle/js/runtime/util/DebugCounter;
4: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(byte);
descriptor: (B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.oracle.truffle.js.nodes.JavaScriptNode.<init>:()V
1: aload 0
iload 1
putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
0 3 1 flags B
MethodParameters:
Name Flags
flags
public static com.oracle.truffle.js.nodes.function.JSFunctionCallNode createCall();
descriptor: ()Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.create:(Z)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.js.nodes.function.JSFunctionCallNode createNew();
descriptor: ()Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_1
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.create:(Z)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.js.nodes.function.JSFunctionCallNode createNewTarget();
descriptor: ()Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: iconst_0
iconst_1
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.create:(ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.js.nodes.function.JSFunctionCallNode create(boolean);
descriptor: (Z)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_0
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.create:(ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 isNew Z
MethodParameters:
Name Flags
isNew
public static com.oracle.truffle.js.nodes.function.JSFunctionCallNode create(boolean, boolean);
descriptor: (ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ExecuteCallNode
dup
iload 0
iload 1
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createFlags:(ZZ)B
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ExecuteCallNode.<init>:(B)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 isNew Z
0 1 1 isNewTarget Z
MethodParameters:
Name Flags
isNew
isNewTarget
private static byte createFlags(boolean, boolean);
descriptor: (ZZ)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 1
iconst_2
goto 3
StackMap locals:
StackMap stack:
1: iload 0
ifeq 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 isNew Z
0 4 1 isNewTarget Z
MethodParameters:
Name Flags
isNew
isNewTarget
public static com.oracle.truffle.js.nodes.function.JSFunctionCallNode createCall(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode[], boolean, boolean);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
iload 4
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createFlags:(ZZ)B
istore 5
start local 5 1: aload 2
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.hasSpreadArgument:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Z
istore 6
start local 6 2: iload 6
ifeq 4
3: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode
dup
aload 1
aload 0
aload 2
iload 5
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
areturn
4: StackMap locals: int int
StackMap stack:
aload 2
arraylength
ifne 6
5: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Call0Node
dup
aload 1
aload 0
iload 5
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Call0Node.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
areturn
6: StackMap locals:
StackMap stack:
aload 2
arraylength
iconst_1
if_icmpne 8
7: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Call1Node
dup
aload 1
aload 0
aload 2
iconst_0
aaload
iload 5
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Call1Node.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
areturn
8: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallNNode
dup
aload 1
aload 0
aload 2
iload 5
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallNNode.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
areturn
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 9 0 function Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 9 1 target Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 9 2 arguments [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 9 3 isNew Z
0 9 4 isNewTarget Z
1 9 5 flags B
2 9 6 spread Z
MethodParameters:
Name Flags
function
target
arguments
isNew
isNewTarget
public static com.oracle.truffle.js.nodes.function.JSFunctionCallNode createInvoke(com.oracle.truffle.js.nodes.access.JSTargetableNode, com.oracle.truffle.js.nodes.JavaScriptNode[], boolean, boolean);
descriptor: (Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createFlags:(ZZ)B
istore 4
start local 4 1: aload 1
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.hasSpreadArgument:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Z
istore 5
start local 5 2: iload 5
ifeq 4
3: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeSpreadNode
dup
aload 0
aload 1
iload 4
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeSpreadNode.<init>:(Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
areturn
4: StackMap locals: int int
StackMap stack:
aload 1
arraylength
ifne 6
5: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke0Node
dup
aload 0
iload 4
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke0Node.<init>:(Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;B)V
areturn
6: StackMap locals:
StackMap stack:
aload 1
arraylength
iconst_1
if_icmpne 8
7: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node
dup
aload 0
aload 1
iconst_0
aaload
iload 4
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.<init>:(Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
areturn
8: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNNode
dup
aload 0
aload 1
iload 4
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNNode.<init>:(Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
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 9 0 targetFunction Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
0 9 1 arguments [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 9 2 isNew Z
0 9 3 isNewTarget Z
1 9 4 flags B
2 9 5 spread Z
MethodParameters:
Name Flags
targetFunction
arguments
isNew
isNewTarget
static boolean isNewTarget(byte);
descriptor: (B)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_2
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 flags B
MethodParameters:
Name Flags
flags
static boolean isNew(byte);
descriptor: (B)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 flags B
MethodParameters:
Name Flags
flags
private static boolean hasSpreadArgument(com.oracle.truffle.js.nodes.JavaScriptNode[]);
descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode[] top int int com.oracle.truffle.js.nodes.JavaScriptNode[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
instanceof com.oracle.truffle.js.nodes.function.SpreadArgumentNode
ifeq 4
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 arguments [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 4 1 arg Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
arguments
public final boolean isNew();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isNew:(B)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
public final boolean isInvoke();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
protected abstract java.lang.Object getPropertyKey();
descriptor: ()Ljava/lang/Object;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public boolean hasTag(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$FunctionCallTag;
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.oracle.truffle.js.nodes.JavaScriptNode.hasTag:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
0 3 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
MethodParameters:
Name Flags
tag
public java.lang.Object getNodeObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTags.createNodeObjectDescriptor:()Lcom/oracle/truffle/js/nodes/instrumentation/NodeObjectDescriptor;
astore 1
start local 1 1: aload 1
ldc "isNew"
aload 0
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isNew:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor.addProperty:(Ljava/lang/String;Ljava/lang/Object;)V
2: aload 1
ldc "isInvoke"
aload 0
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isInvoke:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor.addProperty:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
1 4 1 descriptor Lcom/oracle/truffle/js/nodes/instrumentation/NodeObjectDescriptor;
public static com.oracle.truffle.js.nodes.function.JSFunctionCallNode createInternalCall(com.oracle.truffle.js.nodes.JavaScriptNode[]);
descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
aaload
aload 0
iconst_1
aaload
aload 0
iconst_2
aload 0
arraylength
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode[]
iconst_0
iconst_0
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCall:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arguments [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
arguments
public final java.lang.Object executeCall(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, 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 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.cacheNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 3
start local 3 2: goto 6
3: StackMap locals: java.lang.Object com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode
StackMap stack:
aload 3
aload 2
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.accept:(Ljava/lang/Object;)Z
ifeq 5
4: aload 3
aload 1
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.executeCall:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
5: StackMap locals:
StackMap stack:
aload 3
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.nextNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 3
StackMap locals:
StackMap stack:
6: aload 3
ifnonnull 3
end local 3 7: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
8: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
0 9 1 arguments [Ljava/lang/Object;
1 9 2 function Ljava/lang/Object;
2 7 3 c Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
arguments
private java.lang.Object executeAndSpecialize(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 1
invokestatic com.oracle.truffle.js.runtime.JSArguments.getFunctionObject:([Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.getLock:()Ljava/util/concurrent/locks/Lock;
astore 4
start local 4 3: aload 4
invokeinterface java.util.concurrent.locks.Lock.lock:()V
4: aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.cacheNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 5
start local 5 5: iconst_0
istore 6
start local 6 6: iconst_0
istore 7
start local 7 7: aload 5
astore 3
start local 3 8: goto 19
9: StackMap locals: com.oracle.truffle.js.nodes.function.JSFunctionCallNode java.lang.Object[] java.lang.Object com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode java.util.concurrent.locks.Lock com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode int int
StackMap stack:
aload 3
aload 2
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.accept:(Ljava/lang/Object;)Z
ifeq 11
10: goto 20
11: StackMap locals:
StackMap stack:
aload 3
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isCached:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Z
ifeq 15
12: getstatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.$assertionsDisabled:Z
ifne 13
iload 7
ifeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
iinc 6 1
14: goto 18
15: StackMap locals:
StackMap stack:
iload 7
ifne 16
aload 3
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isGeneric:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Z
ifne 16
iconst_0
goto 17
StackMap locals:
StackMap stack:
16: iconst_1
StackMap locals:
StackMap stack: int
17: istore 7
18: StackMap locals:
StackMap stack:
aload 3
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.nextNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 3
19: StackMap locals:
StackMap stack:
aload 3
ifnonnull 9
20: StackMap locals:
StackMap stack:
aload 3
ifnonnull 45
21: iload 6
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentJSRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getFunctionCacheLimit:()I
if_icmpge 24
iload 7
ifne 24
22: aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 24
23: aload 0
aload 2
checkcast com.oracle.truffle.api.object.DynamicObject
aload 5
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.specializeDirectCall:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 3
24: StackMap locals:
StackMap stack:
aload 3
ifnonnull 41
25: iload 6
ifle 26
iconst_1
goto 27
StackMap locals:
StackMap stack:
26: iconst_0
StackMap locals:
StackMap stack: int
27: istore 8
start local 8 28: aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 31
29: aload 0
aload 5
iload 8
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.specializeGenericFunction:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Z)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 3
30: goto 41
StackMap locals: int
StackMap stack:
31: aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 34
32: aload 0
new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode
dup
aconst_null
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isNew:(B)Z
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isNewTarget:(B)Z
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode.<init>:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;ZZ)V
aload 5
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.insertAtFront:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 3
33: goto 41
StackMap locals:
StackMap stack:
34: aload 2
invokestatic com.oracle.truffle.js.nodes.JSGuards.isForeignObject:(Ljava/lang/Object;)Z
ifeq 37
35: aload 0
aload 1
aload 5
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.specializeForeignCall:([Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 3
36: goto 41
StackMap locals:
StackMap stack:
37: aload 2
instanceof com.oracle.truffle.js.runtime.JSNoSuchMethodAdapter
ifeq 40
38: aload 0
new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSNoSuchMethodAdapterCacheNode
dup
aconst_null
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSNoSuchMethodAdapterCacheNode.<init>:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)V
aload 5
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.insertAtFront:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 3
39: goto 41
40: StackMap locals:
StackMap stack:
aload 0
new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$GenericFallbackCacheNode
dup
aconst_null
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$GenericFallbackCacheNode.<init>:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)V
aload 5
iload 8
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.dropCachedNodes:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Z)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.insertAtFront:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 3
end local 8 41: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.$assertionsDisabled:Z
ifne 45
aload 3
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
ifnonnull 45
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 7 end local 6 end local 5 end local 3 42: StackMap locals: com.oracle.truffle.js.nodes.function.JSFunctionCallNode java.lang.Object[] java.lang.Object top java.util.concurrent.locks.Lock
StackMap stack: java.lang.Throwable
astore 9
43: aload 4
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
44: aload 9
athrow
start local 3 45: StackMap locals: com.oracle.truffle.js.nodes.function.JSFunctionCallNode java.lang.Object[] java.lang.Object com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode java.util.concurrent.locks.Lock
StackMap stack:
aload 4
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
46: aload 3
aload 2
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.accept:(Ljava/lang/Object;)Z
ifeq 48
47: aload 3
aload 1
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.executeCall:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
48: StackMap locals:
StackMap stack:
ldc "Inconsistent guard."
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
0 49 1 arguments [Ljava/lang/Object;
2 49 2 function Ljava/lang/Object;
8 42 3 c Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
45 49 3 c Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
3 49 4 lock Ljava/util/concurrent/locks/Lock;
5 42 5 currentHead Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
6 42 6 cachedCount I
7 42 7 generic Z
28 41 8 hasCached Z
Exception table:
from to target type
4 42 42 any
MethodParameters:
Name Flags
arguments
private static boolean isCached(com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode);
descriptor: (Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
MethodParameters:
Name Flags
c
private static boolean isGeneric(com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode);
descriptor: (Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.nodes.function.JSFunctionCallNode$GenericJSFunctionCacheNode
ifne 1
aload 0
instanceof com.oracle.truffle.js.nodes.function.JSFunctionCallNode$GenericFallbackCacheNode
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
MethodParameters:
Name Flags
c
private static boolean isUncached(com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode);
descriptor: (Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode
ifne 1
aload 0
instanceof com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignCallNode
ifne 1
aload 0
instanceof com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSNoSuchMethodAdapterCacheNode
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
MethodParameters:
Name Flags
c
private static int getCachedCount(com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode);
descriptor: (Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
astore 2
start local 2 2: goto 6
3: StackMap locals: int com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isCached:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Z
ifeq 5
4: iinc 1 1
5: StackMap locals:
StackMap stack:
aload 2
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.nextNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 2
StackMap locals:
StackMap stack:
6: aload 2
ifnonnull 3
end local 2 7: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 head Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
1 8 1 count I
2 7 2 c Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
MethodParameters:
Name Flags
head
private com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode specializeDirectCall(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getFunctionData:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
astore 3
start local 3 2: aload 3
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.isMultiContext:()Z
ifne 4
3: aload 0
aload 1
aload 3
aload 2
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.specializeDirectCallInstance:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
areturn
4: StackMap locals: com.oracle.truffle.js.runtime.builtins.JSFunctionData
StackMap stack:
aload 0
aload 1
aload 3
aload 2
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.specializeDirectCallShared:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
areturn
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;
0 5 1 functionObj Lcom/oracle/truffle/api/object/DynamicObject;
0 5 2 head Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
2 5 3 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
MethodParameters:
Name Flags
functionObj
head
private com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode specializeDirectCallInstance(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: aload 3
astore 7
start local 7 4: goto 13
5: StackMap locals: com.oracle.truffle.js.nodes.function.JSFunctionCallNode com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.builtins.JSFunctionData com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode
StackMap stack:
aload 7
instanceof com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode
ifeq 12
6: aload 7
checkcast com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode
astore 8
start local 8 7: aload 8
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode.isInstanceCache:()Z
ifeq 12
8: aload 2
aload 8
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode.getFunctionData:()Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
if_acmpne 12
9: aload 8
astore 4
10: aload 6
astore 5
11: goto 14
end local 8 12: StackMap locals:
StackMap stack:
aload 7
astore 6
aload 7
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.nextNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 7
StackMap locals:
StackMap stack:
13: aload 7
ifnonnull 5
end local 7 end local 6 14: StackMap locals:
StackMap stack:
aload 4
ifnonnull 17
15: aload 1
aload 2
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isNew:(B)Z
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isNewTarget:(B)Z
iconst_1
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCallableNode:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;ZZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
astore 6
start local 6 16: aload 0
aload 6
aload 3
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.insertAtFront:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
checkcast com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode
areturn
end local 6 17: StackMap locals:
StackMap stack:
aload 4
instanceof com.oracle.truffle.js.nodes.function.JSFunctionCallNode$FunctionInstanceCacheNode
ifeq 20
18: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$FunctionDataCacheNode
dup
aload 2
aload 4
checkcast com.oracle.truffle.js.nodes.function.JSFunctionCallNode$FunctionInstanceCacheNode
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$FunctionInstanceCacheNode.callNode:Lcom/oracle/truffle/api/nodes/DirectCallNode;
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$FunctionDataCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/nodes/DirectCallNode;)V
astore 6
start local 6 19: goto 21
end local 6 20: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isNew:(B)Z
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isNewTarget:(B)Z
iconst_0
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCallableNode:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;ZZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
astore 6
start local 6 21: StackMap locals: com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode
StackMap stack:
aload 0
aload 6
aload 3
aload 4
aload 5
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.replaceCached:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
checkcast com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode
areturn
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 22 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
0 22 1 functionObj Lcom/oracle/truffle/api/object/DynamicObject;
0 22 2 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
0 22 3 head Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
1 22 4 obsoleteNode Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
2 22 5 previousNode Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
3 14 6 p Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
4 14 7 c Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
7 12 8 current Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
16 17 6 directCall Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
19 20 6 newNode Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
21 22 6 newNode Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
MethodParameters:
Name Flags
functionObj
functionData
head
private com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode specializeDirectCallShared(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isNew:(B)Z
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isNewTarget:(B)Z
iconst_0
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCallableNode:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;ZZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
astore 4
start local 4 1: aload 0
aload 4
aload 3
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.insertAtFront:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
checkcast com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode
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 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
0 2 1 functionObj Lcom/oracle/truffle/api/object/DynamicObject;
0 2 2 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
0 2 3 head Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
1 2 4 directCall Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
MethodParameters:
Name Flags
functionObj
functionData
head
private com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode specializeGenericFunction(com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode, boolean);
descriptor: (Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Z)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.dropCachedNodes:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Z)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 3
start local 3 1: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$GenericJSFunctionCacheNode
dup
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
aload 3
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$GenericJSFunctionCacheNode.<init>:(BLcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)V
astore 4
start local 4 2: aload 0
aload 4
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
pop
3: aload 0
aload 4
putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.cacheNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
4: aload 0
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.reportPolymorphicSpecialize:()V
5: aload 4
areturn
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/function/JSFunctionCallNode;
0 6 1 head Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
0 6 2 hasCached Z
1 6 3 otherGeneric Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
2 6 4 newNode Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
MethodParameters:
Name Flags
head
hasCached
private static com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode dropCachedNodes(com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode, boolean);
descriptor: (Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Z)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iload 1
ifne 3
1: getstatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.$assertionsDisabled:Z
ifne 2
aload 0
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.getCachedCount:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)I
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
areturn
3: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 4: aload 0
astore 3
start local 3 5: goto 11
6: StackMap locals: com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode
StackMap stack:
aload 3
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isCached:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Z
ifeq 8
7: goto 10
8: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.$assertionsDisabled:Z
ifne 9
aload 3
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isGeneric:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Z
ifne 9
aload 3
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isUncached:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Z
ifne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 3
aload 2
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.withNext:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 2
10: StackMap locals:
StackMap stack:
aload 3
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.nextNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
astore 3
StackMap locals:
StackMap stack:
11: aload 3
ifnonnull 6
end local 3 12: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 head Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
0 13 1 hasCached Z
4 13 2 gen Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
5 12 3 c Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
MethodParameters:
Name Flags
head
hasCached
private com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode specializeForeignCall(java.lang.Object[], com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode);
descriptor: ([Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 1
invokestatic com.oracle.truffle.js.runtime.JSArguments.getUserArgumentCount:([Ljava/lang/Object;)I
istore 4
start local 4 2: aload 1
invokestatic com.oracle.truffle.js.runtime.JSArguments.getThisObject:([Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 3: aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isNew:(B)Z
ifne 4
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isNewTarget:(B)Z
ifeq 9
4: StackMap locals: com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode int java.lang.Object
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.flags:B
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isNewTarget:(B)Z
ifeq 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 6
start local 6 7: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignInstantiateNode
dup
iload 6
iload 4
iload 6
isub
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignInstantiateNode.<init>:(II)V
astore 3
end local 6 8: goto 13
StackMap locals:
StackMap stack:
9: aload 5
invokestatic com.oracle.truffle.js.nodes.JSGuards.isForeignObject:(Ljava/lang/Object;)Z
ifeq 13
10: aload 0
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.getPropertyKey:()Ljava/lang/Object;
astore 6
start local 6 11: aload 6
ifnull 13
aload 6
instanceof java.lang.String
ifeq 13
12: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignInvokeNode
dup
aload 6
checkcast java.lang.String
iload 4
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignInvokeNode.<init>:(Ljava/lang/String;I)V
astore 3
end local 6 13: StackMap locals:
StackMap stack:
aload 3
ifnonnull 15
14: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignExecuteNode
dup
iload 4
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignExecuteNode.<init>:(I)V
astore 3
15: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.insertAtFront:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
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 16 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
0 16 1 arguments [Ljava/lang/Object;
0 16 2 head Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
1 16 3 newNode Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
2 16 4 userArgumentCount I
3 16 5 thisObject Ljava/lang/Object;
7 8 6 skippedArgs I
11 13 6 propertyKey Ljava/lang/Object;
MethodParameters:
Name Flags
arguments
head
private <T extends com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode> T insertAtFront(T, com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode);
descriptor: (Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
pop
1: aload 1
aload 2
putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.nextNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
2: aload 0
aload 1
putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.cacheNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
3: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
0 4 1 newNode TT;
0 4 2 head Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
Signature: <T:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;>(TT;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)TT;
MethodParameters:
Name Flags
newNode
head
private <T extends com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode> T replaceCached(T, com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode, com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode, com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode);
descriptor: (Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.$assertionsDisabled:Z
ifne 1
aload 4
ifnull 1
aload 4
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.nextNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
aload 3
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
pop
2: aload 1
aload 3
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.nextNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.nextNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
3: aload 4
ifnull 6
4: aload 4
aload 1
putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.nextNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.cacheNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 4 end local 3 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;
0 8 1 newNode TT;
0 8 2 head Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
0 8 3 obsoleteNode Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
0 8 4 previousNode Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
Signature: <T:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;>(TT;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)TT;
MethodParameters:
Name Flags
newNode
head
obsoleteNode
previousNode
public com.oracle.truffle.api.nodes.NodeCost getCost();
descriptor: ()Lcom/oracle/truffle/api/nodes/NodeCost;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.cacheNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
ifnonnull 2
1: getstatic com.oracle.truffle.api.nodes.NodeCost.UNINITIALIZED:Lcom/oracle/truffle/api/nodes/NodeCost;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.cacheNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.isGeneric:(Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;)Z
ifeq 4
3: getstatic com.oracle.truffle.api.nodes.NodeCost.MEGAMORPHIC:Lcom/oracle/truffle/api/nodes/NodeCost;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode.cacheNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode.nextNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$AbstractCacheNode;
ifnull 6
5: getstatic com.oracle.truffle.api.nodes.NodeCost.POLYMORPHIC:Lcom/oracle/truffle/api/nodes/NodeCost;
areturn
6: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.nodes.NodeCost.MONOMORPHIC:Lcom/oracle/truffle/api/nodes/NodeCost;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
public abstract com.oracle.truffle.js.nodes.JavaScriptNode getTarget();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
protected final java.lang.Object evaluateReceiver(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.getTarget:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.nodes.JSNodeUtil.getWrappedNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 1: aload 3
instanceof com.oracle.truffle.js.nodes.access.SuperPropertyReferenceNode
ifeq 3
2: aload 3
checkcast com.oracle.truffle.js.nodes.access.SuperPropertyReferenceNode
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.SuperPropertyReferenceNode.evaluateTarget:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
areturn
3: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 2
areturn
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/js/nodes/function/JSFunctionCallNode;
0 4 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 4 2 target Ljava/lang/Object;
1 4 3 targetNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
frame
target
protected static java.lang.Object[] executeFillObjectArraySpread(com.oracle.truffle.js.nodes.JavaScriptNode[], com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object[], int, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/VirtualFrame;[Ljava/lang/Object;ILcom/oracle/truffle/api/profiles/BranchProfile;)[Ljava/lang/Object;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
i2l
aload 0
arraylength
i2l
ladd
ldc 3
ladd
invokestatic com.oracle.truffle.js.runtime.util.SimpleArrayList.create:(J)Lcom/oracle/truffle/js/runtime/util/SimpleArrayList;
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 5
3: StackMap locals: com.oracle.truffle.js.runtime.util.SimpleArrayList int
StackMap stack:
aload 5
aload 2
iload 6
aaload
invokevirtual com.oracle.truffle.js.runtime.util.SimpleArrayList.addUnchecked:(Ljava/lang/Object;)V
4: iinc 6 1
StackMap locals:
StackMap stack:
5: iload 6
iload 3
if_icmplt 3
end local 6 6: iconst_0
istore 6
start local 6 7: goto 13
8: StackMap locals:
StackMap stack:
aload 0
iload 6
aaload
instanceof com.oracle.truffle.js.nodes.function.SpreadArgumentNode
ifeq 11
9: aload 0
iload 6
aaload
checkcast com.oracle.truffle.js.nodes.function.SpreadArgumentNode
aload 1
aload 5
aload 4
invokevirtual com.oracle.truffle.js.nodes.function.SpreadArgumentNode.executeToList:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/js/runtime/util/SimpleArrayList;Lcom/oracle/truffle/api/profiles/BranchProfile;)V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 5
aload 0
iload 6
aaload
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
aload 4
invokevirtual com.oracle.truffle.js.runtime.util.SimpleArrayList.add:(Ljava/lang/Object;Lcom/oracle/truffle/api/profiles/BranchProfile;)V
12: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
aload 0
arraylength
if_icmplt 8
end local 6 14: aload 5
invokevirtual com.oracle.truffle.js.runtime.util.SimpleArrayList.toArray:()[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 15 0 arguments [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 15 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 15 2 args [Ljava/lang/Object;
0 15 3 fixedArgumentsLength I
0 15 4 growProfile Lcom/oracle/truffle/api/profiles/BranchProfile;
1 15 5 argList Lcom/oracle/truffle/js/runtime/util/SimpleArrayList<Ljava/lang/Object;>;
2 6 6 i I
7 14 6 i I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
arguments
frame
args
fixedArgumentsLength
growProfile
protected static com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode createCallableNode(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.runtime.builtins.JSFunctionData, boolean, boolean, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;ZZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
iload 2
iload 3
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.getCallTarget:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;ZZ)Lcom/oracle/truffle/api/CallTarget;
astore 5
start local 5 1: getstatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.$assertionsDisabled:Z
ifne 2
aload 5
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.truffle.api.CallTarget
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isBoundFunction:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifeq 6
3: iload 4
ifeq 5
4: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$BoundFunctionInstanceCallNode
dup
aload 0
iload 2
iload 3
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$BoundFunctionInstanceCallNode.<init>:(Lcom/oracle/truffle/api/object/DynamicObject;ZZ)V
areturn
5: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$DynamicBoundFunctionCallNode
dup
iload 2
iload 3
aload 1
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$DynamicBoundFunctionCallNode.<init>:(ZZLcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)V
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 5
iload 4
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.tryInlineBuiltinFunctionCall:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/CallTarget;Z)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
astore 6
start local 6 7: aload 6
ifnull 9
8: aload 6
areturn
9: StackMap locals: com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode
StackMap stack:
iload 4
ifeq 11
10: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$FunctionInstanceCacheNode
dup
aload 0
aload 5
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$FunctionInstanceCacheNode.<init>:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/CallTarget;)V
areturn
11: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$FunctionDataCacheNode
dup
aload 1
aload 5
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$FunctionDataCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/CallTarget;)V
areturn
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 function Lcom/oracle/truffle/api/object/DynamicObject;
0 12 1 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
0 12 2 isNew Z
0 12 3 isNewTarget Z
0 12 4 cacheOnInstance Z
1 12 5 callTarget Lcom/oracle/truffle/api/CallTarget;
7 12 6 node Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
MethodParameters:
Name Flags
function
functionData
isNew
isNewTarget
cacheOnInstance
protected static com.oracle.truffle.api.CallTarget getCallTarget(com.oracle.truffle.js.runtime.builtins.JSFunctionData, boolean, boolean);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;ZZ)Lcom/oracle/truffle/api/CallTarget;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 2
1: aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getConstructNewTarget:()Lcom/oracle/truffle/api/CallTarget;
areturn
2: StackMap locals:
StackMap stack:
iload 1
ifeq 4
3: aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getConstructTarget:()Lcom/oracle/truffle/api/CallTarget;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getCallTarget:()Lcom/oracle/truffle/api/CallTarget;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
0 5 1 isNew Z
0 5 2 isNewTarget Z
MethodParameters:
Name Flags
functionData
isNew
isNewTarget
private static com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode tryInlineBuiltinFunctionCall(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.api.CallTarget, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/CallTarget;Z)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$JSFunctionCacheNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
instanceof com.oracle.truffle.api.RootCallTarget
ifeq 15
1: aload 2
checkcast com.oracle.truffle.api.RootCallTarget
invokeinterface com.oracle.truffle.api.RootCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
astore 4
start local 4 2: aload 4
instanceof com.oracle.truffle.js.nodes.function.FunctionRootNode
ifeq 15
3: aload 4
checkcast com.oracle.truffle.js.nodes.function.FunctionRootNode
invokevirtual com.oracle.truffle.js.nodes.function.FunctionRootNode.getBody:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
start local 5 4: aload 5
instanceof com.oracle.truffle.js.nodes.function.JSBuiltinNode
ifeq 15
5: aload 5
checkcast com.oracle.truffle.js.nodes.function.JSBuiltinNode
astore 6
start local 6 6: aload 6
invokevirtual com.oracle.truffle.js.nodes.function.JSBuiltinNode.tryCreateInlined:()Lcom/oracle/truffle/js/nodes/function/JSBuiltinNode$Inlined;
astore 7
start local 7 7: aload 7
ifnull 11
8: iload 3
ifeq 10
9: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InlinedBuiltinFunctionInstanceCacheNode
dup
aload 0
aload 2
aload 7
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InlinedBuiltinFunctionInstanceCacheNode.<init>:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/CallTarget;Lcom/oracle/truffle/js/nodes/function/JSBuiltinNode$Inlined;)V
areturn
10: StackMap locals: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.builtins.JSFunctionData com.oracle.truffle.api.CallTarget int com.oracle.truffle.api.nodes.RootNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.function.JSBuiltinNode com.oracle.truffle.js.nodes.function.JSBuiltinNode$Inlined
StackMap stack:
new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InlinedBuiltinFunctionDataCacheNode
dup
aload 1
aload 2
aload 7
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InlinedBuiltinFunctionDataCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/CallTarget;Lcom/oracle/truffle/js/nodes/function/JSBuiltinNode$Inlined;)V
areturn
11: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.js.nodes.function.JSBuiltinNode.isCallerSensitive:()Z
ifeq 15
12: iload 3
ifeq 14
13: new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallerSensitiveBuiltinFunctionInstanceCacheNode
dup
aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallerSensitiveBuiltinFunctionInstanceCacheNode.<init>:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/CallTarget;)V
areturn
14: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallerSensitiveBuiltinFunctionDataCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallerSensitiveBuiltinFunctionDataCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/CallTarget;)V
areturn
end local 7 end local 6 end local 5 end local 4 15: StackMap locals: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.builtins.JSFunctionData com.oracle.truffle.api.CallTarget int
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 function Lcom/oracle/truffle/api/object/DynamicObject;
0 16 1 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
0 16 2 callTarget Lcom/oracle/truffle/api/CallTarget;
0 16 3 cacheOnInstance Z
2 15 4 rootNode Lcom/oracle/truffle/api/nodes/RootNode;
4 15 5 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 15 6 builtinNode Lcom/oracle/truffle/js/nodes/function/JSBuiltinNode;
7 15 7 inlined Lcom/oracle/truffle/js/nodes/function/JSBuiltinNode$Inlined;
MethodParameters:
Name Flags
function
functionData
callTarget
cacheOnInstance
public com.oracle.truffle.api.nodes.Node getTarget();
descriptor: ()Lcom/oracle/truffle/api/nodes/Node;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.getTarget:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "JSFunctionCallNode.java"
NestMembers:
com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$BoundFunctionInstanceCallNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Call0Node com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Call1Node com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallNNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallerSensitiveBuiltinCallNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallerSensitiveBuiltinFunctionDataCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallerSensitiveBuiltinFunctionInstanceCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$DynamicBoundFunctionCallNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ExecuteCallNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignCallNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignExecuteNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignInstantiateNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignInvokeNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$FunctionDataCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$FunctionInstanceCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$GenericFallbackCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$GenericJSFunctionCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InlinedBuiltinCallNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InlinedBuiltinFunctionDataCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InlinedBuiltinFunctionInstanceCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke0Node com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeSpreadNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSNoSuchMethodAdapterCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSProxyCacheNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$UnboundJSFunctionCacheNode
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
public abstract Inlined = com.oracle.truffle.js.nodes.function.JSBuiltinNode$Inlined of com.oracle.truffle.js.nodes.function.JSBuiltinNode
private abstract AbstractCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$AbstractCacheNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private final BoundFunctionInstanceCallNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$BoundFunctionInstanceCallNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
Call0Node = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Call0Node of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
Call1Node = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Call1Node of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
CallNNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallNNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
abstract CallNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
CallSpreadNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private abstract CallerSensitiveBuiltinCallNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallerSensitiveBuiltinCallNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private final CallerSensitiveBuiltinFunctionDataCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallerSensitiveBuiltinFunctionDataCacheNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private final CallerSensitiveBuiltinFunctionInstanceCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallerSensitiveBuiltinFunctionInstanceCacheNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private final DynamicBoundFunctionCallNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$DynamicBoundFunctionCallNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
ExecuteCallNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ExecuteCallNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private abstract ForeignCallNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignCallNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private ForeignExecuteNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignExecuteNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private ForeignInstantiateNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignInstantiateNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private final ForeignInvokeNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignInvokeNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private final FunctionDataCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$FunctionDataCacheNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private final FunctionInstanceCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$FunctionInstanceCacheNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private GenericFallbackCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$GenericFallbackCacheNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private GenericJSFunctionCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$GenericJSFunctionCacheNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private abstract InlinedBuiltinCallNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InlinedBuiltinCallNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private final InlinedBuiltinFunctionDataCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InlinedBuiltinFunctionDataCacheNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private final InlinedBuiltinFunctionInstanceCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InlinedBuiltinFunctionInstanceCacheNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
Invoke0Node = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke0Node of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
Invoke1Node = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
InvokeNNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
public abstract InvokeNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
InvokeSpreadNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeSpreadNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private abstract JSFunctionCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSFunctionCacheNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
private JSNoSuchMethodAdapterCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$JSNoSuchMethodAdapterCacheNode 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
private abstract UnboundJSFunctionCacheNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$UnboundJSFunctionCacheNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
public final FunctionCallTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$FunctionCallTag of com.oracle.truffle.js.nodes.instrumentation.JSTags