public class com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode extends com.oracle.truffle.js.nodes.arguments.AccessIndexedArgumentNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode
super_class: com.oracle.truffle.js.nodes.arguments.AccessIndexedArgumentNode
{
private final com.oracle.truffle.js.runtime.JSContext context;
descriptor: Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int trailingArgCount;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(com.oracle.truffle.js.runtime.JSContext, int, int);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;II)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 2
invokespecial com.oracle.truffle.js.nodes.arguments.AccessIndexedArgumentNode.<init>:(I)V
1: aload 0
aload 1
putfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
2: aload 0
iload 3
putfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.trailingArgCount:I
3: return
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/arguments/AccessRestArgumentsNode;
0 4 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 4 2 paramIndex I
0 4 3 trailingArgCount I
MethodParameters:
Name Flags
context
paramIndex
trailingArgCount
public static com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode create(com.oracle.truffle.js.runtime.JSContext, int);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;I)Lcom/oracle/truffle/js/nodes/arguments/AccessRestArgumentsNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode
dup
aload 0
iload 1
iconst_0
invokespecial com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;II)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 1 1 paramIndex I
MethodParameters:
Name Flags
context
paramIndex
public static com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode create(com.oracle.truffle.js.runtime.JSContext, int, int);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;II)Lcom/oracle/truffle/js/nodes/arguments/AccessRestArgumentsNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode
dup
aload 0
iload 1
iload 2
invokespecial com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;II)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 1 1 paramIndex I
0 1 2 trailingArgCount I
MethodParameters:
Name Flags
context
paramIndex
trailingArgCount
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=5, locals=4, 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
invokestatic com.oracle.truffle.js.runtime.JSArguments.getUserArgumentCount:([Ljava/lang/Object;)I
aload 0
getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.index:I
isub
aload 0
getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.trailingArgCount:I
isub
istore 3
start local 3 2: aload 0
iload 3
ifle 3
iconst_1
goto 4
StackMap locals: com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object[] int
StackMap stack: com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode
3: iconst_0
StackMap locals: com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object[] int
StackMap stack: com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode int
4: invokevirtual com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.profile:(Z)Z
ifeq 6
5: aload 0
getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.runtime.array.dyn.ConstantObjectArray.createConstantObjectArray:()Lcom/oracle/truffle/js/runtime/array/dyn/ConstantObjectArray;
aload 2
aload 0
getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.index:I
aload 0
getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.trailingArgCount:I
invokestatic com.oracle.truffle.js.runtime.JSArguments.extractUserArguments:([Ljava/lang/Object;II)[Ljava/lang/Object;
iload 3
i2l
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/array/ScriptArray;Ljava/lang/Object;J)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createEmptyZeroLength:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/nodes/arguments/AccessRestArgumentsNode;
0 7 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 7 2 jsArguments [Ljava/lang/Object;
2 7 3 restLength I
MethodParameters:
Name Flags
frame
protected com.oracle.truffle.js.nodes.JavaScriptNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode
dup
aload 0
getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.index:I
aload 0
getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.trailingArgCount:I
invokespecial com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;II)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/arguments/AccessRestArgumentsNode;
0 1 1 materializedTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
materializedTags
}
SourceFile: "AccessRestArgumentsNode.java"