public class com.oracle.truffle.js.nodes.function.NewTargetRootNode$InsertNewTargetRootNode extends com.oracle.truffle.js.nodes.function.NewTargetRootNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.nodes.function.NewTargetRootNode$InsertNewTargetRootNode
super_class: com.oracle.truffle.js.nodes.function.NewTargetRootNode
{
private final boolean construct;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>(com.oracle.truffle.js.lang.JavaScriptLanguage, com.oracle.truffle.api.CallTarget, boolean);
descriptor: (Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/CallTarget;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.function.NewTargetRootNode.<init>:(Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/CallTarget;)V
1: aload 0
iload 3
putfield com.oracle.truffle.js.nodes.function.NewTargetRootNode$InsertNewTargetRootNode.construct:Z
2: return
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/js/nodes/function/NewTargetRootNode$InsertNewTargetRootNode;
0 3 1 lang Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 3 2 callTarget Lcom/oracle/truffle/api/CallTarget;
0 3 3 construct Z
MethodParameters:
Name Flags
lang
callTarget
construct
private static java.lang.Object[] copyAndInsertArgument(java.lang.Object[], int, java.lang.Object);
descriptor: ([Ljava/lang/Object;ILjava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iconst_1
iadd
anewarray java.lang.Object
astore 3
start local 3 1: aload 0
iconst_0
aload 3
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 3
iload 1
aload 2
aastore
3: aload 0
iload 1
aload 3
iload 1
iconst_1
iadd
aload 0
arraylength
iload 1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 arguments [Ljava/lang/Object;
0 5 1 insertPosition I
0 5 2 newTarget Ljava/lang/Object;
1 5 3 newArguments [Ljava/lang/Object;
MethodParameters:
Name Flags
arguments
insertPosition
newTarget
protected java.lang.Object doCall(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, 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 0
getfield com.oracle.truffle.js.nodes.function.NewTargetRootNode$InsertNewTargetRootNode.construct:Z
ifeq 2
aload 1
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getArguments:()[Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSArguments.getFunctionObject:([Ljava/lang/Object;)Ljava/lang/Object;
goto 3
StackMap locals: java.lang.Object[]
StackMap stack:
2: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
StackMap locals:
StackMap stack: java.lang.Object
3: astore 3
start local 3 4: aload 2
iconst_2
aload 3
invokestatic com.oracle.truffle.js.nodes.function.NewTargetRootNode$InsertNewTargetRootNode.copyAndInsertArgument:([Ljava/lang/Object;ILjava/lang/Object;)[Ljava/lang/Object;
astore 4
start local 4 5: aload 0
getfield com.oracle.truffle.js.nodes.function.NewTargetRootNode$InsertNewTargetRootNode.callNode:Lcom/oracle/truffle/api/nodes/DirectCallNode;
aload 4
invokevirtual com.oracle.truffle.api.nodes.DirectCallNode.call:([Ljava/lang/Object;)Ljava/lang/Object;
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/NewTargetRootNode$InsertNewTargetRootNode;
0 6 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 6 2 arguments [Ljava/lang/Object;
4 6 3 newTarget Ljava/lang/Object;
5 6 4 newArguments [Ljava/lang/Object;
MethodParameters:
Name Flags
frame
protected com.oracle.truffle.js.runtime.JavaScriptRootNode cloneUninitialized();
descriptor: ()Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.nodes.function.NewTargetRootNode$InsertNewTargetRootNode
dup
aload 0
ldc Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
invokevirtual com.oracle.truffle.js.nodes.function.NewTargetRootNode$InsertNewTargetRootNode.lookupLanguageReference:(Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
invokevirtual com.oracle.truffle.api.TruffleLanguage$LanguageReference.get:()Lcom/oracle/truffle/api/TruffleLanguage;
checkcast com.oracle.truffle.js.lang.JavaScriptLanguage
aload 0
getfield com.oracle.truffle.js.nodes.function.NewTargetRootNode$InsertNewTargetRootNode.callTarget:Lcom/oracle/truffle/api/CallTarget;
aload 0
getfield com.oracle.truffle.js.nodes.function.NewTargetRootNode$InsertNewTargetRootNode.construct:Z
invokespecial com.oracle.truffle.js.nodes.function.NewTargetRootNode$InsertNewTargetRootNode.<init>:(Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/CallTarget;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/NewTargetRootNode$InsertNewTargetRootNode;
protected com.oracle.truffle.api.nodes.RootNode cloneUninitialized();
descriptor: ()Lcom/oracle/truffle/api/nodes/RootNode;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.js.nodes.function.NewTargetRootNode$InsertNewTargetRootNode.cloneUninitialized:()Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "NewTargetRootNode.java"
NestHost: com.oracle.truffle.js.nodes.function.NewTargetRootNode
InnerClasses:
public abstract LanguageReference = com.oracle.truffle.api.TruffleLanguage$LanguageReference of com.oracle.truffle.api.TruffleLanguage
public InsertNewTargetRootNode = com.oracle.truffle.js.nodes.function.NewTargetRootNode$InsertNewTargetRootNode of com.oracle.truffle.js.nodes.function.NewTargetRootNode