public final class com.oracle.truffle.js.runtime.JSArguments
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.js.runtime.JSArguments
super_class: java.lang.Object
{
public static final java.lang.Object[] EMPTY_ARGUMENTS_ARRAY;
descriptor: [Ljava/lang/Object;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int RUNTIME_ARGUMENT_COUNT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int THIS_OBJECT_INDEX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int FUNCTION_OBJECT_INDEX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int NEW_TARGET_INDEX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
anewarray java.lang.Object
putstatic com.oracle.truffle.js.runtime.JSArguments.EMPTY_ARGUMENTS_ARRAY:[Ljava/lang/Object;
1: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/JSArguments;
static java.lang.Object[] createNullArguments();
descriptor: ()[Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
aconst_null
invokestatic com.oracle.truffle.js.runtime.JSArguments.createZeroArg:(Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.Object[] create(java.lang.Object, java.lang.Object, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
arraylength
invokestatic com.oracle.truffle.js.runtime.JSArguments.createInitial:(Ljava/lang/Object;Ljava/lang/Object;I)[Ljava/lang/Object;
astore 3
start local 3 1: aload 3
iconst_0
aload 2
invokestatic com.oracle.truffle.js.runtime.JSArguments.setUserArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 target Ljava/lang/Object;
0 3 1 function Ljava/lang/Object;
0 3 2 userArguments [Ljava/lang/Object;
1 3 3 arguments [Ljava/lang/Object;
MethodParameters:
Name Flags
target
function
userArguments
public static java.lang.Object[] createInitial(java.lang.Object, java.lang.Object, int);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;I)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_2
iload 2
iadd
anewarray java.lang.Object
astore 3
start local 3 1: aload 3
iconst_0
aload 0
aastore
2: aload 3
iconst_1
aload 1
aastore
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 target Ljava/lang/Object;
0 4 1 function Ljava/lang/Object;
0 4 2 userArgumentCount I
1 4 3 result [Ljava/lang/Object;
MethodParameters:
Name Flags
target
function
userArgumentCount
public static java.lang.Object[] createZeroArg(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokestatic com.oracle.truffle.js.runtime.JSArguments.createInitial:(Ljava/lang/Object;Ljava/lang/Object;I)[Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 target Ljava/lang/Object;
0 1 1 function Ljava/lang/Object;
MethodParameters:
Name Flags
target
function
public static java.lang.Object[] createOneArg(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_1
invokestatic com.oracle.truffle.js.runtime.JSArguments.createInitial:(Ljava/lang/Object;Ljava/lang/Object;I)[Ljava/lang/Object;
astore 3
start local 3 1: aload 3
iconst_0
aload 2
invokestatic com.oracle.truffle.js.runtime.JSArguments.setUserArgument:([Ljava/lang/Object;ILjava/lang/Object;)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 target Ljava/lang/Object;
0 3 1 function Ljava/lang/Object;
0 3 2 userArgument Ljava/lang/Object;
1 3 3 arguments [Ljava/lang/Object;
MethodParameters:
Name Flags
target
function
userArgument
public static java.lang.Object getThisObject(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
aaload
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arguments [Ljava/lang/Object;
MethodParameters:
Name Flags
arguments
public static java.lang.Object getFunctionObject(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
aaload
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arguments [Ljava/lang/Object;
MethodParameters:
Name Flags
arguments
public static java.lang.Object getUserArgument(java.lang.Object[], int);
descriptor: ([Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_2
iadd
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arguments [Ljava/lang/Object;
0 1 1 index I
MethodParameters:
Name Flags
arguments
index
public static void setUserArgument(java.lang.Object[], int, java.lang.Object);
descriptor: ([Ljava/lang/Object;ILjava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iconst_2
iadd
aload 2
aastore
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 arguments [Ljava/lang/Object;
0 2 1 index I
0 2 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
arguments
index
value
public static int getUserArgumentCount(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
arraylength
iconst_2
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arguments [Ljava/lang/Object;
MethodParameters:
Name Flags
arguments
public static void setUserArguments(java.lang.Object[], int, java.lang.Object[]);
descriptor: ([Ljava/lang/Object;I[Ljava/lang/Object;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iconst_0
aload 0
iconst_2
iload 1
iadd
aload 2
arraylength
invokestatic com.oracle.truffle.js.runtime.JSArguments.arraycopy:([Ljava/lang/Object;I[Ljava/lang/Object;II)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 arguments [Ljava/lang/Object;
0 2 1 index I
0 2 2 userArguments [Ljava/lang/Object;
MethodParameters:
Name Flags
arguments
index
userArguments
public static java.lang.Object[] (java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
arraylength
iconst_2
isub
anewarray java.lang.Object
astore 1
start local 1 1: aload 0
iconst_2
aload 1
iconst_0
aload 1
arraylength
invokestatic com.oracle.truffle.js.runtime.JSArguments.arraycopy:([Ljava/lang/Object;I[Ljava/lang/Object;II)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 arguments [Ljava/lang/Object;
1 3 1 userArguments [Ljava/lang/Object;
MethodParameters:
Name Flags
arguments
public static java.lang.Object[] (java.lang.Object[], int);
descriptor: ([Ljava/lang/Object;I)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
invokestatic com.oracle.truffle.js.runtime.JSArguments.extractUserArguments:([Ljava/lang/Object;II)[Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arguments [Ljava/lang/Object;
0 1 1 skip I
MethodParameters:
Name Flags
arguments
skip
public static java.lang.Object[] (java.lang.Object[], int, int);
descriptor: ([Ljava/lang/Object;II)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_2
iload 1
iadd
istore 3
start local 3 1: aload 0
arraylength
iload 3
isub
iload 2
isub
anewarray java.lang.Object
astore 4
start local 4 2: aload 0
iload 3
aload 4
iconst_0
aload 4
arraylength
invokestatic com.oracle.truffle.js.runtime.JSArguments.arraycopy:([Ljava/lang/Object;I[Ljava/lang/Object;II)V
3: 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 4 0 arguments [Ljava/lang/Object;
0 4 1 skip I
0 4 2 skipEnd I
1 4 3 offset I
2 4 4 userArguments [Ljava/lang/Object;
MethodParameters:
Name Flags
arguments
skip
skipEnd
public static com.oracle.truffle.api.frame.MaterializedFrame getEnclosingFrame(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/MaterializedFrame;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSArguments.getFunctionObject:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.builtins.JSFunctionObject$Unbound
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionObject$Unbound.getEnclosingFrame:()Lcom/oracle/truffle/api/frame/MaterializedFrame;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arguments [Ljava/lang/Object;
MethodParameters:
Name Flags
arguments
public static void arraycopy(java.lang.Object[], int, java.lang.Object[], int, int);
descriptor: ([Ljava/lang/Object;I[Ljava/lang/Object;II)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 2
iload 3
iload 5
iadd
aload 0
iload 1
iload 5
iadd
aaload
aastore
3: iinc 5 1
StackMap locals:
StackMap stack:
4: iload 5
iload 4
if_icmplt 2
end local 5 5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 src [Ljava/lang/Object;
0 6 1 srcPos I
0 6 2 dest [Ljava/lang/Object;
0 6 3 destPos I
0 6 4 length I
1 5 5 i I
MethodParameters:
Name Flags
src
srcPos
dest
destPos
length
public static java.lang.Object[] createWithNewTarget(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
arraylength
invokestatic com.oracle.truffle.js.runtime.JSArguments.createInitialWithNewTarget:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;I)[Ljava/lang/Object;
astore 4
start local 4 1: aload 4
iconst_1
aload 3
invokestatic com.oracle.truffle.js.runtime.JSArguments.setUserArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
2: 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 3 0 target Ljava/lang/Object;
0 3 1 function Ljava/lang/Object;
0 3 2 newTarget Ljava/lang/Object;
0 3 3 userArguments [Ljava/lang/Object;
1 3 4 arguments [Ljava/lang/Object;
MethodParameters:
Name Flags
target
function
newTarget
userArguments
public static java.lang.Object[] createInitialWithNewTarget(java.lang.Object, java.lang.Object, java.lang.Object, int);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;I)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 3
iconst_1
iadd
invokestatic com.oracle.truffle.js.runtime.JSArguments.createInitial:(Ljava/lang/Object;Ljava/lang/Object;I)[Ljava/lang/Object;
astore 4
start local 4 1: aload 4
iconst_2
aload 2
aastore
2: 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 3 0 target Ljava/lang/Object;
0 3 1 function Ljava/lang/Object;
0 3 2 newTarget Ljava/lang/Object;
0 3 3 userArgumentCount I
1 3 4 arguments [Ljava/lang/Object;
MethodParameters:
Name Flags
target
function
newTarget
userArgumentCount
public static java.lang.Object getNewTarget(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
aaload
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arguments [Ljava/lang/Object;
MethodParameters:
Name Flags
arguments
}
SourceFile: "JSArguments.java"
InnerClasses:
public final Unbound = com.oracle.truffle.js.runtime.builtins.JSFunctionObject$Unbound of com.oracle.truffle.js.runtime.builtins.JSFunctionObject