public abstract class com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode extends com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode
super_class: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode
{
private com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite arrayAllocationSite;
descriptor: Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
public void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin, boolean);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
invokespecial com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;Z)V
1: aload 0
invokestatic com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.createAllocationSite:()Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
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/builtins/ConstructorBuiltins$ConstructArrayNode;
0 3 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 3 2 builtin Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
0 3 3 isNewTargetCase Z
MethodParameters:
Name Flags
context
builtin
isNewTargetCase
protected static boolean isOneNumberArg(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmpne 1
aload 0
iconst_0
aaload
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
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 args [Ljava/lang/Object;
MethodParameters:
Name Flags
args
protected static boolean isOneForeignArg(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmpne 1
aload 0
iconst_0
aaload
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
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 args [Ljava/lang/Object;
MethodParameters:
Name Flags
args
protected static boolean isOneIntegerArg(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmpne 1
aload 0
iconst_0
aaload
instanceof java.lang.Integer
ifeq 1
aload 0
iconst_0
aaload
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iflt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 args [Ljava/lang/Object;
MethodParameters:
Name Flags
args
protected com.oracle.truffle.api.object.DynamicObject constructArray0(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[]);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createConstantEmptyArray:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/array/ArrayAllocationSite;)Lcom/oracle/truffle/api/object/DynamicObject;
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
0 1 1 newTarget Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 args [Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"args.length == 0"})
MethodParameters:
Name Flags
newTarget
args
protected com.oracle.truffle.api.object.DynamicObject constructArrayWithIntLength(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[]);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iconst_0
aaload
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 3
start local 3 1: getstatic com.oracle.truffle.js.runtime.JSConfig.TrackArrayAllocationSites:Z
ifeq 5
aload 0
getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
ifnull 5
aload 0
getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite.isTyped:()Z
ifeq 5
2: aload 0
getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite.getInitialArrayType:()Lcom/oracle/truffle/js/runtime/array/ScriptArray;
astore 4
start local 4 3: aload 4
ifnull 5
4: aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 4
aload 4
checkcast com.oracle.truffle.js.runtime.array.dyn.AbstractWritableArray
iload 3
invokevirtual com.oracle.truffle.js.runtime.array.dyn.AbstractWritableArray.allocateArray:(I)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;
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 4 5: StackMap locals: int
StackMap stack:
aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
iload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createConstantEmptyArray:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/array/ArrayAllocationSite;I)Lcom/oracle/truffle/api/object/DynamicObject;
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)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 6 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
0 6 1 newTarget Lcom/oracle/truffle/api/object/DynamicObject;
0 6 2 args [Ljava/lang/Object;
1 6 3 length I
3 5 4 initialType Lcom/oracle/truffle/js/runtime/array/ScriptArray;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isOneIntegerArg(args)"})
MethodParameters:
Name Flags
newTarget
args
protected com.oracle.truffle.api.object.DynamicObject constructWithLength(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[], com.oracle.truffle.js.nodes.cast.ToArrayLengthNode, com.oracle.truffle.js.nodes.array.ArrayCreateNode, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/cast/ToArrayLengthNode;Lcom/oracle/truffle/js/nodes/array/ArrayCreateNode;J)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
lload 5
invokevirtual com.oracle.truffle.js.nodes.array.ArrayCreateNode.execute:(J)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 1: aload 0
aload 7
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 7 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 2 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
0 2 1 newTarget Lcom/oracle/truffle/api/object/DynamicObject;
0 2 2 args [Ljava/lang/Object;
0 2 3 toArrayLengthNode Lcom/oracle/truffle/js/nodes/cast/ToArrayLengthNode;
0 2 4 arrayCreateNode Lcom/oracle/truffle/js/nodes/array/ArrayCreateNode;
0 2 5 len J
1 2 7 array Lcom/oracle/truffle/api/object/DynamicObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"args.length == 1", "toArrayLengthNode.isTypeNumber(len)"}, replaces = {"constructArrayWithIntLength"})
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.dsl.Cached()
3:
com.oracle.truffle.api.dsl.Cached(value = "create(getContext())")
4:
com.oracle.truffle.api.dsl.Bind(value = "toArrayLengthNode.executeLong(firstArg(args))")
MethodParameters:
Name Flags
newTarget
args
toArrayLengthNode
arrayCreateNode
len
static java.lang.Object firstArg(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) 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
protected com.oracle.truffle.api.object.DynamicObject constructWithForeignArg(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[], com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.js.nodes.array.ArrayCreateNode, com.oracle.truffle.api.profiles.ConditionProfile, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/js/nodes/array/ArrayCreateNode;Lcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/profiles/BranchProfile;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=11, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 2
iconst_0
aaload
astore 7
start local 7 1: aload 5
aload 3
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 13
2: aload 3
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
ifeq 11
3: aload 3
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
lstore 8
start local 8 4: lload 8
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
ifeq 11
5: aload 4
lload 8
invokevirtual com.oracle.truffle.js.nodes.array.ArrayCreateNode.execute:(J)Lcom/oracle/truffle/api/object/DynamicObject;
astore 10
start local 10 6: aload 0
aload 10
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
7: areturn
end local 10 end local 8 8: StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode com.oracle.truffle.api.object.DynamicObject java.lang.Object[] com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.js.nodes.array.ArrayCreateNode com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.BranchProfile java.lang.Object
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
astore 8
start local 8 9: aload 6
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
10: aload 7
aload 8
ldc "asLong"
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorInteropException:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropException;Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 8 11: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
12: invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorInvalidArrayLength:()Lcom/oracle/truffle/js/runtime/JSException;
athrow
13: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()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
lconst_1
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;
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
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 14 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
0 14 1 newTarget Lcom/oracle/truffle/api/object/DynamicObject;
0 14 2 args [Ljava/lang/Object;
0 14 3 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
0 14 4 arrayCreateNode Lcom/oracle/truffle/js/nodes/array/ArrayCreateNode;
0 14 5 isNumber Lcom/oracle/truffle/api/profiles/ConditionProfile;
0 14 6 rangeErrorProfile Lcom/oracle/truffle/api/profiles/BranchProfile;
1 14 7 len Ljava/lang/Object;
4 8 8 length J
6 8 10 array Lcom/oracle/truffle/api/object/DynamicObject;
9 11 8 umex Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
Exception table:
from to target type
3 7 8 Class com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isOneForeignArg(args)"}, limit = "InteropLibraryLimit")
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.library.CachedLibrary(value = "firstArg(args)")
3:
com.oracle.truffle.api.dsl.Cached(value = "create(getContext())")
4:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
5:
com.oracle.truffle.api.dsl.Cached(value = "create()")
MethodParameters:
Name Flags
newTarget
args
interop
arrayCreateNode
isNumber
rangeErrorProfile
protected com.oracle.truffle.api.object.DynamicObject constructArrayVarargs(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[], com.oracle.truffle.api.profiles.BranchProfile, com.oracle.truffle.api.profiles.BranchProfile, com.oracle.truffle.api.profiles.BranchProfile, com.oracle.truffle.api.profiles.ConditionProfile);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;Lcom/oracle/truffle/api/profiles/BranchProfile;Lcom/oracle/truffle/api/profiles/BranchProfile;Lcom/oracle/truffle/api/profiles/BranchProfile;Lcom/oracle/truffle/api/profiles/ConditionProfile;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 6
aload 2
ifnull 1
aload 2
arraylength
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
1: iconst_1
StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode com.oracle.truffle.api.object.DynamicObject java.lang.Object[] com.oracle.truffle.api.profiles.BranchProfile com.oracle.truffle.api.profiles.BranchProfile com.oracle.truffle.api.profiles.BranchProfile com.oracle.truffle.api.profiles.ConditionProfile
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
2: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 4
3: aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.runtime.array.ScriptArray.createConstantEmptyArray:()Lcom/oracle/truffle/js/runtime/array/dyn/AbstractConstantArray;
aload 2
lconst_0
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;
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
4: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokestatic com.oracle.truffle.js.nodes.access.ArrayLiteralNode.identifyPrimitiveContentType:([Ljava/lang/Object;Z)Lcom/oracle/truffle/js/nodes/access/ArrayLiteralNode$ArrayContentType;
astore 7
start local 7 5: aload 7
getstatic com.oracle.truffle.js.nodes.access.ArrayLiteralNode$ArrayContentType.Integer:Lcom/oracle/truffle/js/nodes/access/ArrayLiteralNode$ArrayContentType;
if_acmpne 8
6: aload 3
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
7: aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokestatic com.oracle.truffle.js.nodes.access.ArrayLiteralNode.createIntArray:([Ljava/lang/Object;)[I
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createZeroBasedIntArray:(Lcom/oracle/truffle/js/runtime/JSContext;[I)Lcom/oracle/truffle/api/object/DynamicObject;
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
8: StackMap locals: com.oracle.truffle.js.nodes.access.ArrayLiteralNode$ArrayContentType
StackMap stack:
aload 7
getstatic com.oracle.truffle.js.nodes.access.ArrayLiteralNode$ArrayContentType.Double:Lcom/oracle/truffle/js/nodes/access/ArrayLiteralNode$ArrayContentType;
if_acmpne 11
9: aload 4
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
10: aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokestatic com.oracle.truffle.js.nodes.access.ArrayLiteralNode.createDoubleArray:([Ljava/lang/Object;)[D
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createZeroBasedDoubleArray:(Lcom/oracle/truffle/js/runtime/JSContext;[D)Lcom/oracle/truffle/api/object/DynamicObject;
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
11: StackMap locals:
StackMap stack:
aload 5
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
12: aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()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 2
arraylength
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;
aload 1
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
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 13 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
0 13 1 newTarget Lcom/oracle/truffle/api/object/DynamicObject;
0 13 2 args [Ljava/lang/Object;
0 13 3 isIntegerCase Lcom/oracle/truffle/api/profiles/BranchProfile;
0 13 4 isDoubleCase Lcom/oracle/truffle/api/profiles/BranchProfile;
0 13 5 isObjectCase Lcom/oracle/truffle/api/profiles/BranchProfile;
0 13 6 isLengthZero Lcom/oracle/truffle/api/profiles/ConditionProfile;
5 13 7 type Lcom/oracle/truffle/js/nodes/access/ArrayLiteralNode$ArrayContentType;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"!isOneNumberArg(args)", "!isOneForeignArg(args)"})
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.dsl.Cached(value = "create()")
3:
com.oracle.truffle.api.dsl.Cached(value = "create()")
4:
com.oracle.truffle.api.dsl.Cached(value = "create()")
5:
com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
MethodParameters:
Name Flags
newTarget
args
isIntegerCase
isDoubleCase
isObjectCase
isLengthZero
public com.oracle.truffle.js.nodes.JavaScriptNode copy();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode.copy:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode
astore 1
start local 1 1: aload 1
invokestatic com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.createAllocationSite:()Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
1 3 1 copy Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
private static com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite createAllocationSite();
descriptor: ()Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.truffle.js.runtime.JSConfig.TrackArrayAllocationSites:Z
ifeq 1
new com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite
dup
invokespecial com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite.<init>:()V
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite
2: areturn
LocalVariableTable:
Start End Slot Name Signature
protected com.oracle.truffle.api.object.DynamicObject getIntrinsicDefaultProto(com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getArrayPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
0 1 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
MethodParameters:
Name Flags
realm
public com.oracle.truffle.api.nodes.Node copy();
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.builtins.ConstructorBuiltins$ConstructArrayNode.copy:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.oracle.truffle.js.nodes.JavaScriptBaseNode copy();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptBaseNode;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.copy:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ConstructorBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.ConstructorBuiltins
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract ConstructArrayNode = com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode of com.oracle.truffle.js.builtins.ConstructorBuiltins
private final ConstructArrayAllocationSite = com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite of com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode
public abstract ConstructWithNewTargetNode = com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode of com.oracle.truffle.js.builtins.ConstructorBuiltins
public final ArrayContentType = com.oracle.truffle.js.nodes.access.ArrayLiteralNode$ArrayContentType of com.oracle.truffle.js.nodes.access.ArrayLiteralNode
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.ImportStatic(value = {Lcom/oracle/truffle/js/runtime/JSConfig;})