public class com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode extends com.oracle.truffle.js.nodes.JavaScriptNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode
super_class: com.oracle.truffle.js.nodes.JavaScriptNode
{
private final com.oracle.truffle.trufflenode.GraalJSAccess graalAccess;
descriptor: Lcom/oracle/truffle/trufflenode/GraalJSAccess;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.js.runtime.JSContext context;
descriptor: Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.trufflenode.info.FunctionTemplate functionTemplate;
descriptor: Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.trufflenode.info.FunctionTemplate signature;
descriptor: Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.trufflenode.info.ObjectTemplate instanceTemplate;
descriptor: Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean hasPropertyHandler;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isNew;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isNewTarget;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.profiles.BranchProfile errorBranch;
descriptor: Lcom/oracle/truffle/api/profiles/BranchProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.profiles.ConditionProfile isTemplate;
descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.profiles.ConditionProfile eightOrLessArgs;
descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.profiles.ConditionProfile argumentLengthTwo;
descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int templateID;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long functionPointer;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int IMPLICIT_ARG_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int EXPLICIT_ARG_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private final com.oracle.truffle.trufflenode.node.ValueTypeNode[] valueTypeNodes;
descriptor: [Lcom/oracle/truffle/trufflenode/node/ValueTypeNode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Children()
private final com.oracle.truffle.trufflenode.node.FlattenNode[] flattenNodes;
descriptor: [Lcom/oracle/truffle/trufflenode/node/FlattenNode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Children()
private static final boolean USE_TEMPLATE_NODES;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private com.oracle.truffle.trufflenode.node.ObjectTemplateNode instanceTemplateNode;
descriptor: Lcom/oracle/truffle/trufflenode/node/ObjectTemplateNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.access.PropertySetNode setConstructorTemplateNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.access.PropertyGetNode getConstructorTemplateNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private static int sourceSectionCounter;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
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/trufflenode/node/ExecuteNativeFunctionNode;
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.trufflenode.node.ExecuteNativeFunctionNode.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.oracle.truffle.trufflenode.GraalJSAccess, com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.trufflenode.info.FunctionTemplate, boolean, boolean);
descriptor: (Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;ZZ)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokestatic com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.createSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokespecial com.oracle.truffle.js.nodes.JavaScriptNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;)V
1: aload 0
invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.errorBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
2: aload 0
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.isTemplate:Lcom/oracle/truffle/api/profiles/ConditionProfile;
3: aload 0
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.eightOrLessArgs:Lcom/oracle/truffle/api/profiles/ConditionProfile;
4: aload 0
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.argumentLengthTwo:Lcom/oracle/truffle/api/profiles/ConditionProfile;
5: aload 0
aload 1
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.graalAccess:Lcom/oracle/truffle/trufflenode/GraalJSAccess;
6: aload 0
aload 2
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
7: aload 0
aload 3
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.functionTemplate:Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
8: aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getSignature:()Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.signature:Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
9: aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getInstanceTemplate:()Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.instanceTemplate:Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
10: aload 0
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.instanceTemplate:Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.hasPropertyHandler:()Z
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.hasPropertyHandler:Z
11: aload 0
iload 4
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.isNew:Z
12: aload 0
iload 5
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.isNewTarget:Z
13: aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getID:()I
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.templateID:I
14: aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getFunctionPointer:()J
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.functionPointer:J
15: aload 0
bipush 8
anewarray com.oracle.truffle.trufflenode.node.ValueTypeNode
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.valueTypeNodes:[Lcom/oracle/truffle/trufflenode/node/ValueTypeNode;
16: aload 0
bipush 6
anewarray com.oracle.truffle.trufflenode.node.FlattenNode
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.flattenNodes:[Lcom/oracle/truffle/trufflenode/node/FlattenNode;
17: return
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 18 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 18 1 graalAccess Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 18 2 context Lcom/oracle/truffle/js/runtime/JSContext;
0 18 3 template Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
0 18 4 isNew Z
0 18 5 isNewTarget Z
MethodParameters:
Name Flags
graalAccess
context
template
isNew
isNewTarget
private static com.oracle.truffle.api.source.SourceSection createSourceSection();
descriptor: ()Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: ldc "js"
ldc ""
new java.lang.StringBuilder
dup
ldc "<native$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.sourceSectionCounter:I
iconst_1
iadd
dup
putstatic com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.sourceSectionCounter:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.createUnavailableSection:()Lcom/oracle/truffle/api/source/SourceSection;
areturn
LocalVariableTable:
Start End Slot Name Signature
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/api/instrumentation/StandardTags$RootTag;
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootBodyTag;
if_acmpne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 5 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 execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=18, locals=22, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getArguments:()[Ljava/lang/Object;
astore 2
start local 2 1: aload 2
iconst_0
aaload
astore 3
start local 3 2: aload 1
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.getFunctionObject:(Lcom/oracle/truffle/api/frame/Frame;)Lcom/oracle/truffle/api/object/DynamicObject;
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getRealm:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSRealm;
astore 4
start local 4 3: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.isNew:Z
ifeq 10
4: aload 3
checkcast com.oracle.truffle.api.object.DynamicObject
astore 5
start local 5 5: aload 0
aload 1
aload 5
aload 4
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.objectTemplateInstantiate:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/JSRealm;)V
6: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.hasPropertyHandler:Z
ifeq 8
7: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.graalAccess:Lcom/oracle/truffle/trufflenode/GraalJSAccess;
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 4
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.instanceTemplate:Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
aload 5
iconst_0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.propertyHandlerInstantiate:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;Lcom/oracle/truffle/api/object/DynamicObject;Z)Lcom/oracle/truffle/api/object/DynamicObject;
astore 3
8: StackMap locals: com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 0
aload 5
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.setConstructorTemplate:(Lcom/oracle/truffle/api/object/DynamicObject;)V
end local 5 9: goto 12
StackMap locals:
StackMap stack:
10: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.signature:Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
ifnull 12
11: aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.checkConstructorTemplate:(Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.isNewTarget:Z
ifeq 13
iconst_1
goto 14
StackMap locals:
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 6
start local 6 15: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.isNew:Z
ifeq 17
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.isNewTarget:Z
ifeq 16
aload 2
iconst_2
aaload
goto 18
StackMap locals: com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm top int
StackMap stack:
16: aload 2
iconst_1
aaload
goto 18
StackMap locals:
StackMap stack:
17: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
18: astore 7
start local 7 19: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.isTemplate:Lcom/oracle/truffle/api/profiles/ConditionProfile;
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.functionPointer:J
lconst_0
lcmp
ifne 20
iconst_1
goto 21
StackMap locals: com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm top int java.lang.Object
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
20: iconst_0
StackMap locals: com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm top int java.lang.Object
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
21: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 24
22: aload 3
astore 5
start local 5 23: goto 72
end local 5 StackMap locals:
StackMap stack:
24: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.eightOrLessArgs:Lcom/oracle/truffle/api/profiles/ConditionProfile;
aload 2
arraylength
bipush 8
iload 6
iadd
if_icmpgt 25
iconst_1
goto 26
StackMap locals:
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
25: iconst_0
StackMap locals: com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm top int java.lang.Object
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
26: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 71
27: aload 0
iconst_0
aload 3
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.getValueType:(ILjava/lang/Object;)I
istore 8
start local 8 28: aload 2
iconst_1
aaload
astore 9
start local 9 29: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.argumentLengthTwo:Lcom/oracle/truffle/api/profiles/ConditionProfile;
aload 2
arraylength
iconst_2
iload 6
iadd
if_icmpne 30
iconst_1
goto 31
StackMap locals: com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm top int java.lang.Object int java.lang.Object
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
30: iconst_0
StackMap locals: com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm top int java.lang.Object int java.lang.Object
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
31: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 34
32: aload 0
aload 3
iload 8
aload 9
aload 7
aload 4
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.executeFunction0:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
astore 5
start local 5 33: goto 72
end local 5 34: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.graalAccess:Lcom/oracle/truffle/trufflenode/GraalJSAccess;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
35: aload 0
iconst_0
aload 2
iconst_2
iload 6
iadd
aaload
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.flatten:(ILjava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 36: aload 0
iconst_2
aload 10
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.getValueType:(ILjava/lang/Object;)I
istore 11
start local 11 37: aload 2
arraylength
iconst_3
iload 6
iadd
if_icmpne 40
38: aload 0
aload 3
iload 8
aload 9
aload 7
aload 10
iload 11
aload 4
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.executeFunction1:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
astore 5
start local 5 39: goto 72
end local 5 40: StackMap locals: java.lang.Object int
StackMap stack:
aload 0
iconst_1
aload 2
iconst_3
iload 6
iadd
aaload
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.flatten:(ILjava/lang/Object;)Ljava/lang/Object;
astore 12
start local 12 41: aload 0
iconst_3
aload 12
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.getValueType:(ILjava/lang/Object;)I
istore 13
start local 13 42: aload 2
arraylength
iconst_4
iload 6
iadd
if_icmpne 45
43: aload 0
aload 3
iload 8
aload 9
aload 7
aload 10
iload 11
aload 12
iload 13
aload 4
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.executeFunction2:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
astore 5
start local 5 44: goto 72
end local 5 45: StackMap locals: java.lang.Object int
StackMap stack:
aload 0
iconst_2
aload 2
iconst_4
iload 6
iadd
aaload
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.flatten:(ILjava/lang/Object;)Ljava/lang/Object;
astore 14
start local 14 46: aload 0
iconst_4
aload 14
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.getValueType:(ILjava/lang/Object;)I
istore 15
start local 15 47: aload 2
arraylength
iconst_5
iload 6
iadd
if_icmpne 50
48: aload 0
aload 3
iload 8
aload 9
aload 7
aload 10
iload 11
aload 12
iload 13
aload 14
iload 15
aload 4
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.executeFunction3:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
astore 5
start local 5 49: goto 72
end local 5 50: StackMap locals: java.lang.Object int
StackMap stack:
aload 0
iconst_3
aload 2
iconst_5
iload 6
iadd
aaload
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.flatten:(ILjava/lang/Object;)Ljava/lang/Object;
astore 16
start local 16 51: aload 0
iconst_5
aload 16
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.getValueType:(ILjava/lang/Object;)I
istore 17
start local 17 52: aload 2
arraylength
bipush 6
iload 6
iadd
if_icmpne 57
53: aload 0
aload 3
iload 8
aload 9
aload 7
aload 10
iload 11
aload 12
iload 13
aload 14
iload 15
aload 16
54: iload 17
aload 4
55: invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.executeFunction4:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
astore 5
start local 5 56: goto 72
end local 5 57: StackMap locals: java.lang.Object int
StackMap stack:
aload 0
iconst_4
aload 2
bipush 6
iload 6
iadd
aaload
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.flatten:(ILjava/lang/Object;)Ljava/lang/Object;
astore 18
start local 18 58: aload 0
bipush 6
aload 18
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.getValueType:(ILjava/lang/Object;)I
istore 19
start local 19 59: aload 2
arraylength
bipush 7
iload 6
iadd
if_icmpne 64
60: aload 0
aload 3
iload 8
aload 9
aload 7
aload 10
iload 11
aload 12
iload 13
aload 14
iload 15
aload 16
61: iload 17
aload 18
iload 19
aload 4
62: invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.executeFunction5:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
astore 5
start local 5 63: goto 72
end local 5 64: StackMap locals: java.lang.Object int
StackMap stack:
getstatic com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.$assertionsDisabled:Z
ifne 65
aload 2
arraylength
bipush 8
iload 6
iadd
if_icmpeq 65
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
65: StackMap locals:
StackMap stack:
aload 0
iconst_5
aload 2
bipush 7
iload 6
iadd
aaload
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.flatten:(ILjava/lang/Object;)Ljava/lang/Object;
astore 20
start local 20 66: aload 0
bipush 7
aload 20
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.getValueType:(ILjava/lang/Object;)I
istore 21
start local 21 67: aload 0
aload 3
iload 8
aload 9
aload 7
aload 10
iload 11
aload 12
iload 13
aload 14
iload 15
aload 16
68: iload 17
aload 18
iload 19
aload 20
iload 21
aload 4
69: invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.executeFunction6:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
astore 5
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 start local 5 70: goto 72
end local 5 71: StackMap locals: com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm top int java.lang.Object
StackMap stack:
aload 0
aload 2
aload 4
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.executeFunction:([Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
astore 5
start local 5 72: StackMap locals: com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm java.lang.Object int java.lang.Object
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.graalAccess:Lcom/oracle/truffle/trufflenode/GraalJSAccess;
aload 5
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.correctReturnValue:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
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 73 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 73 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 73 2 arguments [Ljava/lang/Object;
2 73 3 thisObject Ljava/lang/Object;
3 73 4 realm Lcom/oracle/truffle/js/runtime/JSRealm;
5 9 5 thisDynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
23 24 5 result Ljava/lang/Object;
33 34 5 result Ljava/lang/Object;
39 40 5 result Ljava/lang/Object;
44 45 5 result Ljava/lang/Object;
49 50 5 result Ljava/lang/Object;
56 57 5 result Ljava/lang/Object;
63 64 5 result Ljava/lang/Object;
70 71 5 result Ljava/lang/Object;
72 73 5 result Ljava/lang/Object;
15 73 6 offset I
19 73 7 newTarget Ljava/lang/Object;
28 70 8 thisType I
29 70 9 calleeObject Ljava/lang/Object;
36 70 10 argument1 Ljava/lang/Object;
37 70 11 argument1Type I
41 70 12 argument2 Ljava/lang/Object;
42 70 13 argument2Type I
46 70 14 argument3 Ljava/lang/Object;
47 70 15 argument3Type I
51 70 16 argument4 Ljava/lang/Object;
52 70 17 argument4Type I
58 70 18 argument5 Ljava/lang/Object;
59 70 19 argument5Type I
66 70 20 argument6 Ljava/lang/Object;
67 70 21 argument6Type I
MethodParameters:
Name Flags
frame
private void objectTemplateInstantiate(com.oracle.truffle.api.frame.VirtualFrame, com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/JSRealm;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.instanceTemplateNode:Lcom/oracle/truffle/trufflenode/node/ObjectTemplateNode;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
aload 0
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.instanceTemplate:Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.graalAccess:Lcom/oracle/truffle/trufflenode/GraalJSAccess;
invokestatic com.oracle.truffle.trufflenode.node.ObjectTemplateNode.fromObjectTemplate:(Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/GraalJSAccess;)Lcom/oracle/truffle/trufflenode/node/ObjectTemplateNode;
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.trufflenode.node.ObjectTemplateNode
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.instanceTemplateNode:Lcom/oracle/truffle/trufflenode/node/ObjectTemplateNode;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.instanceTemplateNode:Lcom/oracle/truffle/trufflenode/node/ObjectTemplateNode;
aload 1
aload 2
invokevirtual com.oracle.truffle.trufflenode.node.ObjectTemplateNode.executeWithObject:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
pop
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/trufflenode/node/ExecuteNativeFunctionNode;
0 5 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 5 2 thisObject Lcom/oracle/truffle/api/object/DynamicObject;
0 5 3 realm Lcom/oracle/truffle/js/runtime/JSRealm;
MethodParameters:
Name Flags
frame
thisObject
realm
private void setConstructorTemplate(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.setConstructorTemplateNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
aload 0
getstatic com.oracle.truffle.trufflenode.info.FunctionTemplate.CONSTRUCTOR:Lcom/oracle/truffle/api/object/HiddenKey;
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.nodes.access.PropertySetNode.createSetHidden:(Lcom/oracle/truffle/api/object/HiddenKey;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.js.nodes.access.PropertySetNode
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.setConstructorTemplateNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.setConstructorTemplateNode:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
aload 1
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.functionTemplate:Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValue:(Ljava/lang/Object;Ljava/lang/Object;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 5 1 thisObject Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
thisObject
private java.lang.Object getConstructorTemplate(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.getConstructorTemplateNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
aload 0
getstatic com.oracle.truffle.trufflenode.info.FunctionTemplate.CONSTRUCTOR:Lcom/oracle/truffle/api/object/HiddenKey;
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.createGetHidden:(Lcom/oracle/truffle/api/object/HiddenKey;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode
putfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.getConstructorTemplateNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.getConstructorTemplateNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 4: aload 2
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 5
aconst_null
goto 6
StackMap locals: java.lang.Object
StackMap stack:
5: aload 2
StackMap locals:
StackMap stack: java.lang.Object
6: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 7 1 thisObject Lcom/oracle/truffle/api/object/DynamicObject;
4 7 2 result Ljava/lang/Object;
MethodParameters:
Name Flags
thisObject
private void checkConstructorTemplate(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.api.object.DynamicObject
ifeq 1
aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.getConstructorTemplate:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: com.oracle.truffle.trufflenode.info.FunctionTemplate
2: astore 2
start local 2 3: goto 5
4: StackMap locals: com.oracle.truffle.trufflenode.info.FunctionTemplate
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getParent:()Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
astore 2
5: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.signature:Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
if_acmpeq 6
aload 2
ifnonnull 4
6: StackMap locals:
StackMap stack:
aload 2
ifnonnull 9
7: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.errorBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
8: invokestatic com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.illegalInvocation:()V
9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 10 1 thisObject Ljava/lang/Object;
3 10 2 constructorTemplate Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
MethodParameters:
Name Flags
thisObject
private static void illegalInvocation();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "Illegal invocation"
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
LocalVariableTable:
Start End Slot Name Signature
private int getValueType(int, java.lang.Object);
descriptor: (ILjava/lang/Object;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tValueTypeNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
MethodParameters:
Name Flags
index
argument
private java.lang.Object flatten(int, java.lang.Object);
descriptor: (ILjava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tFlattenNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
MethodParameters:
Name Flags
index
argument
private java.lang.Object executeFunction(java.lang.Object[], com.oracle.truffle.js.runtime.JSRealm);
descriptor: ([Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.templateID:I
aload 1
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.isNew:Z
aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.isNewTarget:Z
aload 2
invokestatic com.oracle.truffle.trufflenode.NativeAccess.executeFunction:(I[Ljava/lang/Object;ZZLjava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 1 1 arguments [Ljava/lang/Object;
0 1 2 realm Lcom/oracle/truffle/js/runtime/JSRealm;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
arguments
realm
private java.lang.Object executeFunction0(java.lang.Object, int, java.lang.Object, java.lang.Object, com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.templateID:I
aload 1
iload 2
aload 4
aload 5
invokestatic com.oracle.truffle.trufflenode.NativeAccess.executeFunction0:(ILjava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 1 1 thisObject Ljava/lang/Object;
0 1 2 thisType I
0 1 3 calleeObject Ljava/lang/Object;
0 1 4 newTarget Ljava/lang/Object;
0 1 5 realm Lcom/oracle/truffle/js/runtime/JSRealm;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObject
thisType
calleeObject
newTarget
realm
private java.lang.Object executeFunction1(java.lang.Object, int, java.lang.Object, java.lang.Object, java.lang.Object, int, com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.templateID:I
aload 1
iload 2
aload 4
aload 5
iload 6
aload 7
invokestatic com.oracle.truffle.trufflenode.NativeAccess.executeFunction1:(ILjava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
areturn
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 1 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 1 1 thisObject Ljava/lang/Object;
0 1 2 thisType I
0 1 3 calleeObject Ljava/lang/Object;
0 1 4 newTarget Ljava/lang/Object;
0 1 5 argument Ljava/lang/Object;
0 1 6 argumentType I
0 1 7 realm Lcom/oracle/truffle/js/runtime/JSRealm;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObject
thisType
calleeObject
newTarget
argument
argumentType
realm
private java.lang.Object executeFunction2(java.lang.Object, int, java.lang.Object, java.lang.Object, java.lang.Object, int, java.lang.Object, int, com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=10, 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 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.templateID:I
aload 1
iload 2
aload 4
aload 5
iload 6
aload 7
iload 8
aload 9
invokestatic com.oracle.truffle.trufflenode.NativeAccess.executeFunction2:(ILjava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
areturn
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 1 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 1 1 thisObject Ljava/lang/Object;
0 1 2 thisType I
0 1 3 calleeObject Ljava/lang/Object;
0 1 4 newTarget Ljava/lang/Object;
0 1 5 argument1 Ljava/lang/Object;
0 1 6 argument1Type I
0 1 7 argument2 Ljava/lang/Object;
0 1 8 argument2Type I
0 1 9 realm Lcom/oracle/truffle/js/runtime/JSRealm;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObject
thisType
calleeObject
newTarget
argument1
argument1Type
argument2
argument2Type
realm
private java.lang.Object executeFunction3(java.lang.Object, int, java.lang.Object, java.lang.Object, java.lang.Object, int, java.lang.Object, int, java.lang.Object, int, com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=12, args_size=12
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 start local 10 start local 11 0: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.templateID:I
aload 1
iload 2
aload 4
aload 5
iload 6
aload 7
iload 8
aload 9
iload 10
aload 11
invokestatic com.oracle.truffle.trufflenode.NativeAccess.executeFunction3:(ILjava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
areturn
end local 11 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 1 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 1 1 thisObject Ljava/lang/Object;
0 1 2 thisType I
0 1 3 calleeObject Ljava/lang/Object;
0 1 4 newTarget Ljava/lang/Object;
0 1 5 argument1 Ljava/lang/Object;
0 1 6 argument1Type I
0 1 7 argument2 Ljava/lang/Object;
0 1 8 argument2Type I
0 1 9 argument3 Ljava/lang/Object;
0 1 10 argument3Type I
0 1 11 realm Lcom/oracle/truffle/js/runtime/JSRealm;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObject
thisType
calleeObject
newTarget
argument1
argument1Type
argument2
argument2Type
argument3
argument3Type
realm
private java.lang.Object executeFunction4(java.lang.Object, int, java.lang.Object, java.lang.Object, java.lang.Object, int, java.lang.Object, int, java.lang.Object, int, java.lang.Object, int, com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=14, args_size=14
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 start local 10 start local 11 start local 12 start local 13 0: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.templateID:I
aload 1
iload 2
aload 4
aload 5
iload 6
aload 7
iload 8
aload 9
iload 10
aload 11
iload 12
1: aload 13
2: invokestatic com.oracle.truffle.trufflenode.NativeAccess.executeFunction4:(ILjava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
areturn
end local 13 end local 12 end local 11 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 3 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 3 1 thisObject Ljava/lang/Object;
0 3 2 thisType I
0 3 3 calleeObject Ljava/lang/Object;
0 3 4 newTarget Ljava/lang/Object;
0 3 5 argument1 Ljava/lang/Object;
0 3 6 argument1Type I
0 3 7 argument2 Ljava/lang/Object;
0 3 8 argument2Type I
0 3 9 argument3 Ljava/lang/Object;
0 3 10 argument3Type I
0 3 11 argument4 Ljava/lang/Object;
0 3 12 argument4Type I
0 3 13 realm Lcom/oracle/truffle/js/runtime/JSRealm;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObject
thisType
calleeObject
newTarget
argument1
argument1Type
argument2
argument2Type
argument3
argument3Type
argument4
argument4Type
realm
private java.lang.Object executeFunction5(java.lang.Object, int, java.lang.Object, java.lang.Object, java.lang.Object, int, java.lang.Object, int, java.lang.Object, int, java.lang.Object, int, java.lang.Object, int, com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=15, locals=16, args_size=16
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 start local 10 start local 11 start local 12 start local 13 start local 14 start local 15 0: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.templateID:I
aload 1
iload 2
aload 4
aload 5
iload 6
aload 7
iload 8
aload 9
iload 10
aload 11
iload 12
1: aload 13
iload 14
aload 15
2: invokestatic com.oracle.truffle.trufflenode.NativeAccess.executeFunction5:(ILjava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 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 3 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 3 1 thisObject Ljava/lang/Object;
0 3 2 thisType I
0 3 3 calleeObject Ljava/lang/Object;
0 3 4 newTarget Ljava/lang/Object;
0 3 5 argument1 Ljava/lang/Object;
0 3 6 argument1Type I
0 3 7 argument2 Ljava/lang/Object;
0 3 8 argument2Type I
0 3 9 argument3 Ljava/lang/Object;
0 3 10 argument3Type I
0 3 11 argument4 Ljava/lang/Object;
0 3 12 argument4Type I
0 3 13 argument5 Ljava/lang/Object;
0 3 14 argument5Type I
0 3 15 realm Lcom/oracle/truffle/js/runtime/JSRealm;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObject
thisType
calleeObject
newTarget
argument1
argument1Type
argument2
argument2Type
argument3
argument3Type
argument4
argument4Type
argument5
argument5Type
realm
private java.lang.Object executeFunction6(java.lang.Object, int, java.lang.Object, java.lang.Object, java.lang.Object, int, java.lang.Object, int, java.lang.Object, int, java.lang.Object, int, java.lang.Object, int, java.lang.Object, int, com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=17, locals=18, args_size=18
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 start local 10 start local 11 start local 12 start local 13 start local 14 start local 15 start local 16 start local 17 0: aload 0
getfield com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode.templateID:I
aload 1
iload 2
aload 4
aload 5
iload 6
aload 7
iload 8
aload 9
iload 10
aload 11
iload 12
1: aload 13
iload 14
aload 15
iload 16
aload 17
2: invokestatic com.oracle.truffle.trufflenode.NativeAccess.executeFunction6:(ILjava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
areturn
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 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 3 0 this Lcom/oracle/truffle/trufflenode/node/ExecuteNativeFunctionNode;
0 3 1 thisObject Ljava/lang/Object;
0 3 2 thisType I
0 3 3 calleeObject Ljava/lang/Object;
0 3 4 newTarget Ljava/lang/Object;
0 3 5 argument1 Ljava/lang/Object;
0 3 6 argument1Type I
0 3 7 argument2 Ljava/lang/Object;
0 3 8 argument2Type I
0 3 9 argument3 Ljava/lang/Object;
0 3 10 argument3Type I
0 3 11 argument4 Ljava/lang/Object;
0 3 12 argument4Type I
0 3 13 argument5 Ljava/lang/Object;
0 3 14 argument5Type I
0 3 15 argument6 Ljava/lang/Object;
0 3 16 argument6Type I
0 3 17 realm Lcom/oracle/truffle/js/runtime/JSRealm;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObject
thisType
calleeObject
newTarget
argument1
argument1Type
argument2
argument2Type
argument3
argument3Type
argument4
argument4Type
argument5
argument5Type
argument6
argument6Type
realm
}
SourceFile: "ExecuteNativeFunctionNode.java"
NestMembers:
com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode$NativeFunctionRootNode
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public final RootBodyTag = com.oracle.truffle.api.instrumentation.StandardTags$RootBodyTag of com.oracle.truffle.api.instrumentation.StandardTags
public final RootTag = com.oracle.truffle.api.instrumentation.StandardTags$RootTag of com.oracle.truffle.api.instrumentation.StandardTags
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
public abstract Children = com.oracle.truffle.api.nodes.Node$Children of com.oracle.truffle.api.nodes.Node
public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
public NativeFunctionRootNode = com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode$NativeFunctionRootNode of com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode