public abstract class com.oracle.truffle.js.runtime.array.ScriptArray
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.runtime.array.ScriptArray
super_class: java.lang.Object
{
public static final java.lang.Object[] EMPTY_OBJECT_ARRAY;
descriptor: [Ljava/lang/Object;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
protected static final com.oracle.truffle.js.runtime.array.ScriptArray$SetLengthProfileAccess SET_LENGTH_PROFILE;
descriptor: Lcom/oracle/truffle/js/runtime/array/ScriptArray$SetLengthProfileAccess;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
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=2, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/js/runtime/array/ScriptArray;
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.js.runtime.array.ScriptArray.$assertionsDisabled:Z
3: iconst_0
anewarray java.lang.Object
putstatic com.oracle.truffle.js.runtime.array.ScriptArray.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
4: new com.oracle.truffle.js.runtime.array.ScriptArray$1
dup
invokespecial com.oracle.truffle.js.runtime.array.ScriptArray$1.<init>:()V
putstatic com.oracle.truffle.js.runtime.array.ScriptArray.SET_LENGTH_PROFILE:Lcom/oracle/truffle/js/runtime/array/ScriptArray$SetLengthProfileAccess;
5: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
public abstract java.lang.Object getElement(com.oracle.truffle.api.object.DynamicObject, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;J)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
index
public abstract java.lang.Object getElementInBounds(com.oracle.truffle.api.object.DynamicObject, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;J)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
index
public abstract com.oracle.truffle.js.runtime.array.ScriptArray setElementImpl(com.oracle.truffle.api.object.DynamicObject, long, java.lang.Object, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JLjava/lang/Object;Z)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
index
value
strict
public final com.oracle.truffle.js.runtime.array.ScriptArray setElement(com.oracle.truffle.api.object.DynamicObject, long, java.lang.Object, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JLjava/lang/Object;Z)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isFrozen:()Z
ifeq 4
1: iload 5
ifeq 3
2: lload 2
invokestatic com.oracle.truffle.js.runtime.array.ScriptArray.setElementFrozenStrict:(J)V
3: StackMap locals:
StackMap stack:
aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isLengthNotWritable:()Z
ifeq 9
5: lload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.length:(Lcom/oracle/truffle/api/object/DynamicObject;)J
lcmp
iflt 9
6: iload 5
ifeq 8
7: invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorLengthNotWritable:()Lcom/oracle/truffle/js/runtime/JSException;
athrow
8: StackMap locals:
StackMap stack:
aload 0
areturn
9: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
aload 4
iload 5
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.setElementImpl:(Lcom/oracle/truffle/api/object/DynamicObject;JLjava/lang/Object;Z)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 10 1 object Lcom/oracle/truffle/api/object/DynamicObject;
0 10 2 index J
0 10 4 value Ljava/lang/Object;
0 10 5 strict Z
MethodParameters:
Name Flags
object
index
value
strict
private static void setElementFrozenStrict(long);
descriptor: (J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentJSRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
ifeq 3
2: ldc "Cannot set property \"%d\" of frozen array"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorFormat:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
3: StackMap locals: com.oracle.truffle.js.runtime.JSContext
StackMap stack:
lload 0
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotRedefineProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 index J
1 4 2 context Lcom/oracle/truffle/js/runtime/JSContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
index
public abstract com.oracle.truffle.js.runtime.array.ScriptArray deleteElementImpl(com.oracle.truffle.api.object.DynamicObject, long, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JZ)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
index
strict
public final com.oracle.truffle.js.runtime.array.ScriptArray deleteElement(com.oracle.truffle.api.object.DynamicObject, long, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JZ)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: getstatic com.oracle.truffle.js.runtime.array.ScriptArray.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
lload 2
iload 4
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.canDeleteElement:(Lcom/oracle/truffle/api/object/DynamicObject;JZ)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
iload 4
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.deleteElementImpl:(Lcom/oracle/truffle/api/object/DynamicObject;JZ)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 2 1 object Lcom/oracle/truffle/api/object/DynamicObject;
0 2 2 index J
0 2 4 strict Z
MethodParameters:
Name Flags
object
index
strict
public final boolean canDeleteElement(com.oracle.truffle.api.object.DynamicObject, long, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JZ)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isSealed:()Z
ifeq 5
1: aload 0
aload 1
lload 2
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.hasElement:(Lcom/oracle/truffle/api/object/DynamicObject;J)Z
ifeq 5
2: iload 4
ifeq 4
3: lload 2
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotDeletePropertyOfSealedArray:(J)Lcom/oracle/truffle/js/runtime/JSException;
athrow
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 6 1 object Lcom/oracle/truffle/api/object/DynamicObject;
0 6 2 index J
0 6 4 strict Z
MethodParameters:
Name Flags
object
index
strict
public abstract boolean hasElement(com.oracle.truffle.api.object.DynamicObject, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;J)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
index
public abstract long length(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)J
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
public abstract int lengthInt(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
public static com.oracle.truffle.js.runtime.array.ScriptArray$ProfileHolder createSetLengthProfile();
descriptor: ()Lcom/oracle/truffle/js/runtime/array/ScriptArray$ProfileHolder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: bipush 8
ldc Lcom/oracle/truffle/js/runtime/array/ScriptArray$SetLengthProfileAccess;
invokestatic com.oracle.truffle.js.runtime.array.ScriptArray$ProfileHolder.create:(ILjava/lang/Class;)Lcom/oracle/truffle/js/runtime/array/ScriptArray$ProfileHolder;
areturn
LocalVariableTable:
Start End Slot Name Signature
public abstract com.oracle.truffle.js.runtime.array.ScriptArray setLengthImpl(com.oracle.truffle.api.object.DynamicObject, long, com.oracle.truffle.js.runtime.array.ScriptArray$ProfileHolder);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JLcom/oracle/truffle/js/runtime/array/ScriptArray$ProfileHolder;)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
len
profile
public final com.oracle.truffle.js.runtime.array.ScriptArray setLength(com.oracle.truffle.api.object.DynamicObject, long, boolean, com.oracle.truffle.js.runtime.array.ScriptArray$ProfileHolder);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JZLcom/oracle/truffle/js/runtime/array/ScriptArray$ProfileHolder;)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isLengthNotWritable:()Z
ifeq 4
1: iload 4
ifeq 3
2: invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorLengthNotWritable:()Lcom/oracle/truffle/js/runtime/JSException;
athrow
3: StackMap locals:
StackMap stack:
aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isSealed:()Z
ifeq 6
5: getstatic com.oracle.truffle.js.runtime.array.ScriptArray.$assertionsDisabled:Z
ifne 6
lload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.lastElementIndex:(Lcom/oracle/truffle/api/object/DynamicObject;)J
lconst_1
ladd
lcmp
ifge 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
aload 5
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.setLengthImpl:(Lcom/oracle/truffle/api/object/DynamicObject;JLcom/oracle/truffle/js/runtime/array/ScriptArray$ProfileHolder;)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 7 1 object Lcom/oracle/truffle/api/object/DynamicObject;
0 7 2 len J
0 7 4 strict Z
0 7 5 profile Lcom/oracle/truffle/js/runtime/array/ScriptArray$ProfileHolder;
MethodParameters:
Name Flags
object
len
strict
profile
public final com.oracle.truffle.js.runtime.array.ScriptArray setLength(com.oracle.truffle.api.object.DynamicObject, long, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JZ)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
aload 1
lload 2
iload 4
invokestatic com.oracle.truffle.js.runtime.array.ScriptArray$ProfileHolder.empty:()Lcom/oracle/truffle/js/runtime/array/ScriptArray$ProfileHolder;
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.setLength:(Lcom/oracle/truffle/api/object/DynamicObject;JZLcom/oracle/truffle/js/runtime/array/ScriptArray$ProfileHolder;)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 1 1 object Lcom/oracle/truffle/api/object/DynamicObject;
0 1 2 len J
0 1 4 strict Z
MethodParameters:
Name Flags
object
len
strict
public abstract long firstElementIndex(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)J
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
public abstract long lastElementIndex(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)J
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
public abstract long nextElementIndex(com.oracle.truffle.api.object.DynamicObject, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;J)J
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
index
public abstract long previousElementIndex(com.oracle.truffle.api.object.DynamicObject, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;J)J
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
index
public boolean isInBoundsFast(com.oracle.truffle.api.object.DynamicObject, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;J)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.firstElementIndex:(Lcom/oracle/truffle/api/object/DynamicObject;)J
lload 2
lcmp
ifgt 1
lload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.lastElementIndex:(Lcom/oracle/truffle/api/object/DynamicObject;)J
lcmp
ifgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 2 1 object Lcom/oracle/truffle/api/object/DynamicObject;
0 2 2 index J
MethodParameters:
Name Flags
object
index
public java.lang.Iterable<java.lang.Object> asIterable(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.array.ScriptArray$2
dup
aload 0
aload 1
invokespecial com.oracle.truffle.js.runtime.array.ScriptArray$2.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/api/object/DynamicObject;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 1 1 object Lcom/oracle/truffle/api/object/DynamicObject;
Signature: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Iterable<Ljava/lang/Object;>;
MethodParameters:
Name Flags
object
public abstract java.lang.Object[] toArray(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)[Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
public static com.oracle.truffle.js.runtime.array.dyn.AbstractConstantArray createConstantEmptyArray();
descriptor: ()Lcom/oracle/truffle/js/runtime/array/dyn/AbstractConstantArray;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.truffle.js.runtime.array.dyn.ConstantEmptyArray.createConstantEmptyArray:()Lcom/oracle/truffle/js/runtime/array/dyn/ConstantEmptyArray;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.js.runtime.array.dyn.AbstractConstantArray createConstantArray(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/array/dyn/AbstractConstantArray;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
arraylength
ifne 2
1: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.js.runtime.array.ScriptArray.createConstantEmptyArray:()Lcom/oracle/truffle/js/runtime/array/dyn/AbstractConstantArray;
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.js.runtime.array.dyn.ConstantObjectArray.createConstantObjectArray:()Lcom/oracle/truffle/js/runtime/array/dyn/ConstantObjectArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 elements [Ljava/lang/Object;
MethodParameters:
Name Flags
elements
public static boolean valueIsByte(int);
descriptor: (I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: bipush -128
iload 0
if_icmpgt 1
iload 0
bipush 127
if_icmpgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 value I
MethodParameters:
Name Flags
value
public java.lang.String toString(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 9
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 3
ifeq 5
4: aload 2
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
i2l
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.getElement:(Lcom/oracle/truffle/api/object/DynamicObject;J)Ljava/lang/Object;
astore 4
start local 4 6: aload 4
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 8
aload 4
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 8
7: aload 2
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
end local 4 8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
i2l
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.length:(Lcom/oracle/truffle/api/object/DynamicObject;)J
lcmp
iflt 3
10: iload 3
i2l
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.length:(Lcom/oracle/truffle/api/object/DynamicObject;)J
lcmp
ifge 12
11: aload 2
new java.lang.StringBuilder
dup
ldc ",... ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.length:(Lcom/oracle/truffle/api/object/DynamicObject;)J
iload 3
i2l
lsub
lconst_1
ladd
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " more]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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/runtime/array/ScriptArray;
0 13 1 object Lcom/oracle/truffle/api/object/DynamicObject;
1 13 2 sb Ljava/lang/StringBuilder;
2 13 3 i I
6 8 4 element Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
object
protected static final void traceArrayTransition(com.oracle.truffle.js.runtime.array.ScriptArray, com.oracle.truffle.js.runtime.array.ScriptArray, long, java.lang.Object);
descriptor: (Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/runtime/array/ScriptArray;JLjava/lang/Object;)V
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Code:
stack=7, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 4 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 1: aconst_null
astore 6
start local 6 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 3: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 7
invokedynamic visitFrame(Ljava/util/List;)Lcom/oracle/truffle/api/frame/FrameInstanceVisitor;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lcom/oracle/truffle/api/frame/FrameInstance;)Ljava/lang/Object;
com/oracle/truffle/js/runtime/array/ScriptArray.lambda$0(Ljava/util/List;Lcom/oracle/truffle/api/frame/FrameInstance;)Ljava/lang/Object; (6)
(Lcom/oracle/truffle/api/frame/FrameInstance;)Ljava/lang/Object;
invokeinterface com.oracle.truffle.api.TruffleRuntime.iterateFrames:(Lcom/oracle/truffle/api/frame/FrameInstanceVisitor;)Ljava/lang/Object;
pop
4: aload 7
invokeinterface java.util.List.spliterator:()Ljava/util/Spliterator;
iconst_0
invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/runtime/array/ScriptArray.lambda$1(Lcom/oracle/truffle/api/frame/FrameInstance;)Z (6)
(Lcom/oracle/truffle/api/frame/FrameInstance;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/runtime/array/ScriptArray.lambda$2(Lcom/oracle/truffle/api/frame/FrameInstance;)Lcom/oracle/truffle/api/nodes/Node; (6)
(Lcom/oracle/truffle/api/frame/FrameInstance;)Lcom/oracle/truffle/api/nodes/Node;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
astore 6
5: invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentJSRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.getStackTraceLimit:()I
istore 8
start local 8 6: aload 6
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/runtime/array/ScriptArray.lambda$3(Lcom/oracle/truffle/api/nodes/Node;)Z (6)
(Lcom/oracle/truffle/api/nodes/Node;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/runtime/array/ScriptArray.lambda$4(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/StackTraceElement; (6)
(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/StackTraceElement;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
7: iload 8
i2l
invokeinterface java.util.stream.Stream.limit:(J)Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
com/oracle/truffle/js/runtime/array/ScriptArray.lambda$5(I)[Ljava/lang/StackTraceElement; (6)
(I)[Ljava/lang/StackTraceElement;
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast java.lang.StackTraceElement[]
8: astore 9
start local 9 9: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "[js] array transition %-48s |index %5s |value %-20s |caller %5s\n"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
dup
iconst_1
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 9
iconst_0
aaload
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
10: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 oldArray Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 11 1 newArray Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 11 2 index J
0 11 4 value Ljava/lang/Object;
1 11 5 access Ljava/lang/String;
2 11 6 nodeStream Ljava/util/stream/Stream<Lcom/oracle/truffle/api/nodes/Node;>;
3 11 7 stackTrace Ljava/util/List<Lcom/oracle/truffle/api/frame/FrameInstance;>;
6 11 8 stackTraceLimit I
9 11 9 array [Ljava/lang/StackTraceElement;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
oldArray
newArray
index
value
protected static final void traceWrite(java.lang.String, long, java.lang.Object);
descriptor: (Ljava/lang/String;JLjava/lang/Object;)V
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 3 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "[js] array set %-48s |index %5s |value %-20s\n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
aload 3
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 access Ljava/lang/String;
0 2 1 index J
0 2 3 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
access
index
value
public boolean isHolesType();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
public abstract boolean hasHoles(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
public abstract com.oracle.truffle.js.runtime.array.ScriptArray removeRangeImpl(com.oracle.truffle.api.object.DynamicObject, long, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JJ)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
start
end
public final com.oracle.truffle.js.runtime.array.ScriptArray removeRange(com.oracle.truffle.api.object.DynamicObject, long, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JJ)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: getstatic com.oracle.truffle.js.runtime.array.ScriptArray.$assertionsDisabled:Z
ifne 2
lload 2
lconst_0
lcmp
iflt 1
lload 2
lload 4
lcmp
ifle 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isSealed:()Z
ifeq 4
3: lload 2
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotDeletePropertyOfSealedArray:(J)Lcom/oracle/truffle/js/runtime/JSException;
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
lload 4
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.removeRangeImpl:(Lcom/oracle/truffle/api/object/DynamicObject;JJ)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 5 1 object Lcom/oracle/truffle/api/object/DynamicObject;
0 5 2 start J
0 5 4 end J
MethodParameters:
Name Flags
object
start
end
public final com.oracle.truffle.js.runtime.array.ScriptArray removeRange(com.oracle.truffle.api.object.DynamicObject, long, long, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JJLcom/oracle/truffle/api/profiles/BranchProfile;)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: getstatic com.oracle.truffle.js.runtime.array.ScriptArray.$assertionsDisabled:Z
ifne 2
lload 2
lconst_0
lcmp
iflt 1
lload 2
lload 4
lcmp
ifle 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isSealed:()Z
ifeq 5
3: aload 6
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
4: lload 2
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotDeletePropertyOfSealedArray:(J)Lcom/oracle/truffle/js/runtime/JSException;
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
lload 4
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.removeRangeImpl:(Lcom/oracle/truffle/api/object/DynamicObject;JJ)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
areturn
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 6 1 object Lcom/oracle/truffle/api/object/DynamicObject;
0 6 2 start J
0 6 4 end J
0 6 6 errorBranch Lcom/oracle/truffle/api/profiles/BranchProfile;
MethodParameters:
Name Flags
object
start
end
errorBranch
public abstract com.oracle.truffle.js.runtime.array.ScriptArray addRangeImpl(com.oracle.truffle.api.object.DynamicObject, long, int);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JI)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
object
offset
size
public final com.oracle.truffle.js.runtime.array.ScriptArray addRange(com.oracle.truffle.api.object.DynamicObject, long, int);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;JI)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isExtensible:()Z
ifne 2
1: aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.addRangeNotExtensible:()Lcom/oracle/truffle/js/runtime/JSException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
iload 4
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.addRangeImpl:(Lcom/oracle/truffle/api/object/DynamicObject;JI)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 3 1 object Lcom/oracle/truffle/api/object/DynamicObject;
0 3 2 offset J
0 3 4 size I
MethodParameters:
Name Flags
object
offset
size
private com.oracle.truffle.js.runtime.JSException addRangeNotExtensible();
descriptor: ()Lcom/oracle/truffle/js/runtime/JSException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isFrozen:()Z
ifeq 2
1: ldc "Cannot add property of frozen array"
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isSealed:()Z
ifeq 4
3: ldc "Cannot add property to sealed array"
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
4: StackMap locals:
StackMap stack:
ldc "Cannot add property to non-extensible array"
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.util.List<java.lang.Object> ownPropertyKeys(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.runtime.array.ScriptArray.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isHolesType:()Z
ifeq 1
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.hasHoles:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.ownPropertyKeysContiguous:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 2 1 object Lcom/oracle/truffle/api/object/DynamicObject;
Signature: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List<Ljava/lang/Object;>;
MethodParameters:
Name Flags
object
protected final java.util.List<java.lang.Object> ownPropertyKeysContiguous(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.firstElementIndex:(Lcom/oracle/truffle/api/object/DynamicObject;)J
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.lastElementIndex:(Lcom/oracle/truffle/api/object/DynamicObject;)J
lconst_1
ladd
invokestatic com.oracle.truffle.js.runtime.array.ScriptArray.makeRangeList:(JJ)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 1 1 object Lcom/oracle/truffle/api/object/DynamicObject;
Signature: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List<Ljava/lang/Object;>;
MethodParameters:
Name Flags
object
protected final java.util.List<java.lang.Object> ownPropertyKeysHoles(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.firstElementIndex:(Lcom/oracle/truffle/api/object/DynamicObject;)J
lstore 2
start local 2 1: lload 2
lstore 4
start local 4 2: lload 2
lstore 6
start local 6 3: iconst_0
istore 8
start local 8 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 5: goto 17
6: StackMap locals: com.oracle.truffle.js.runtime.array.ScriptArray com.oracle.truffle.api.object.DynamicObject long long long int java.util.List
StackMap stack:
lload 2
lload 6
lcmp
ifne 9
7: lload 2
lconst_1
ladd
lstore 6
8: goto 16
9: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.array.ScriptArray.$assertionsDisabled:Z
ifne 10
lload 6
lload 2
lcmp
iflt 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.array.ScriptArray.$assertionsDisabled:Z
ifne 11
lload 4
lload 6
lcmp
iflt 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
iload 8
i2l
lload 6
lload 4
lsub
ladd
l2i
istore 8
12: aload 9
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: aload 9
lload 6
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: lload 2
lstore 4
15: lload 2
lconst_1
ladd
lstore 6
16: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.nextElementIndex:(Lcom/oracle/truffle/api/object/DynamicObject;J)J
lstore 2
17: StackMap locals:
StackMap stack:
lload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.lastElementIndex:(Lcom/oracle/truffle/api/object/DynamicObject;)J
lcmp
ifle 6
18: lload 4
lload 6
lcmp
ifge 24
19: iload 8
i2l
lload 6
lload 4
lsub
ladd
l2i
istore 8
20: aload 9
invokeinterface java.util.List.isEmpty:()Z
ifeq 22
21: lload 4
lload 6
invokestatic com.oracle.truffle.js.runtime.array.ScriptArray.makeRangeList:(JJ)Ljava/util/List;
areturn
22: StackMap locals:
StackMap stack:
aload 9
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: aload 9
lload 6
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
24: StackMap locals:
StackMap stack:
iload 8
aload 9
invokestatic com.oracle.truffle.js.runtime.array.ScriptArray.toLongArray:(Ljava/util/List;)[J
invokestatic com.oracle.truffle.js.runtime.array.ScriptArray.makeMultiRangeList:(I[J)Ljava/util/List;
areturn
end local 9 end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 25 1 object Lcom/oracle/truffle/api/object/DynamicObject;
1 25 2 currentIndex J
2 25 4 start J
3 25 6 end J
4 25 8 total I
5 25 9 rangeList Ljava/util/List<Ljava/lang/Long;>;
Signature: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List<Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
object
private static long[] toLongArray(java.util.List<java.lang.Long>);
descriptor: (Ljava/util/List;)[J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokeinterface java.util.List.size:()I
newarray 11
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: long[] int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 1
arraylength
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 longList Ljava/util/List<Ljava/lang/Long;>;
1 7 1 longArray [J
2 6 2 i I
Signature: (Ljava/util/List<Ljava/lang/Long;>;)[J
MethodParameters:
Name Flags
longList
public static java.util.List<java.lang.Object> makeRangeList(long, long);
descriptor: (JJ)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 2 0: getstatic com.oracle.truffle.js.runtime.array.ScriptArray.$assertionsDisabled:Z
ifne 2
lload 2
lload 0
lsub
lconst_0
lcmp
iflt 1
lload 2
lload 0
lsub
ldc 2147483647
lcmp
ifle 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.runtime.array.ScriptArray$3
dup
lload 0
lload 2
invokespecial com.oracle.truffle.js.runtime.array.ScriptArray$3.<init>:(JJ)V
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 rangeStart J
0 3 2 rangeEnd J
Signature: (JJ)Ljava/util/List<Ljava/lang/Object;>;
MethodParameters:
Name Flags
rangeStart final
rangeEnd final
protected static java.util.List<java.lang.Object> makeMultiRangeList(int, long[]);
descriptor: (I[J)Ljava/util/List;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.array.ScriptArray$4
dup
aload 1
iload 0
invokespecial com.oracle.truffle.js.runtime.array.ScriptArray$4.<init>:([JI)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 total I
0 1 1 ranges [J
Signature: (I[J)Ljava/util/List<Ljava/lang/Object;>;
MethodParameters:
Name Flags
total final
ranges final
protected static int nextPower(int);
descriptor: (I)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 8
if_icmpge 2
1: bipush 8
ireturn
2: StackMap locals:
StackMap stack:
iload 0
invokestatic com.oracle.truffle.js.runtime.array.ScriptArray.nextPow2:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 length I
MethodParameters:
Name Flags
length
private static int nextPow2(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: iload 0
iconst_1
isub
istore 1
start local 1 1: iload 1
iload 1
iconst_1
ishr
ior
istore 1
2: iload 1
iload 1
iconst_2
ishr
ior
istore 1
3: iload 1
iload 1
iconst_4
ishr
ior
istore 1
4: iload 1
iload 1
bipush 8
ishr
ior
istore 1
5: iload 1
iload 1
bipush 16
ishr
ior
istore 1
6: iload 1
iconst_1
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 val I
1 7 1 x I
MethodParameters:
Name Flags
val
public boolean isSealed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
public boolean isFrozen();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
public boolean isLengthNotWritable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
public boolean isExtensible();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
public abstract com.oracle.truffle.js.runtime.array.ScriptArray seal();
descriptor: ()Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract com.oracle.truffle.js.runtime.array.ScriptArray freeze();
descriptor: ()Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract com.oracle.truffle.js.runtime.array.ScriptArray setLengthNotWritable();
descriptor: ()Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract com.oracle.truffle.js.runtime.array.ScriptArray preventExtensions();
descriptor: ()Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean isStatelessType();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public final boolean isInstance(com.oracle.truffle.js.runtime.array.ScriptArray);
descriptor: (Lcom/oracle/truffle/js/runtime/array/ScriptArray;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
1: aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isStatelessType:()Z
ifeq 4
2: aload 0
aload 1
if_acmpne 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 5 1 other Lcom/oracle/truffle/js/runtime/array/ScriptArray;
MethodParameters:
Name Flags
other
public final com.oracle.truffle.js.runtime.array.ScriptArray cast(com.oracle.truffle.js.runtime.array.ScriptArray);
descriptor: (Lcom/oracle/truffle/js/runtime/array/ScriptArray;)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
1: aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isStatelessType:()Z
ifeq 4
2: getstatic com.oracle.truffle.js.runtime.array.ScriptArray.$assertionsDisabled:Z
ifne 3
aload 0
aload 1
if_acmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.array.ScriptArray
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 5 1 other Lcom/oracle/truffle/js/runtime/array/ScriptArray;
MethodParameters:
Name Flags
other
private static java.lang.Object lambda$0(java.util.List, com.oracle.truffle.api.frame.FrameInstance);
descriptor: (Ljava/util/List;Lcom/oracle/truffle/api/frame/FrameInstance;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: aconst_null
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 2 1 frameInstance Lcom/oracle/truffle/api/frame/FrameInstance;
private static boolean lambda$1(com.oracle.truffle.api.frame.FrameInstance);
descriptor: (Lcom/oracle/truffle/api/frame/FrameInstance;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface com.oracle.truffle.api.frame.FrameInstance.getCallNode:()Lcom/oracle/truffle/api/nodes/Node;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 fi Lcom/oracle/truffle/api/frame/FrameInstance;
private static com.oracle.truffle.api.nodes.Node lambda$2(com.oracle.truffle.api.frame.FrameInstance);
descriptor: (Lcom/oracle/truffle/api/frame/FrameInstance;)Lcom/oracle/truffle/api/nodes/Node;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface com.oracle.truffle.api.frame.FrameInstance.getCallNode:()Lcom/oracle/truffle/api/nodes/Node;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 fi Lcom/oracle/truffle/api/frame/FrameInstance;
private static boolean lambda$3(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.nodes.Node.getEncapsulatingSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 n Lcom/oracle/truffle/api/nodes/Node;
private static java.lang.StackTraceElement lambda$4(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/StackTraceElement;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.nodes.Node.getEncapsulatingSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 1
start local 1 1: ldc "js"
astore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
invokevirtual com.oracle.truffle.api.nodes.RootNode.getName:()Ljava/lang/String;
astore 3
start local 3 3: aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.isAvailable:()Z
ifeq 4
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
goto 5
StackMap locals: com.oracle.truffle.api.source.SourceSection java.lang.String java.lang.String
StackMap stack:
4: ldc "<unknown>"
StackMap locals:
StackMap stack: java.lang.String
5: astore 4
start local 4 6: aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
istore 5
start local 5 7: new java.lang.StackTraceElement
dup
aload 2
aload 3
ifnull 8
aload 3
goto 9
StackMap locals: com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.source.SourceSection java.lang.String java.lang.String java.lang.String int
StackMap stack: new 7 new 7 java.lang.String
8: ldc "<unknown>"
StackMap locals: com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.source.SourceSection java.lang.String java.lang.String java.lang.String int
StackMap stack: new 7 new 7 java.lang.String java.lang.String
9: aload 4
iload 5
invokespecial java.lang.StackTraceElement.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
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 10 0 node Lcom/oracle/truffle/api/nodes/Node;
1 10 1 callNodeSourceSection Lcom/oracle/truffle/api/source/SourceSection;
2 10 2 declaringClass Ljava/lang/String;
3 10 3 methodName Ljava/lang/String;
6 10 4 fileName Ljava/lang/String;
7 10 5 startLine I
private static java.lang.StackTraceElement[] lambda$5(int);
descriptor: (I)[Ljava/lang/StackTraceElement;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: iload 0
anewarray java.lang.StackTraceElement
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ScriptArray.java"
NestMembers:
com.oracle.truffle.js.runtime.array.ScriptArray$1 com.oracle.truffle.js.runtime.array.ScriptArray$2 com.oracle.truffle.js.runtime.array.ScriptArray$3 com.oracle.truffle.js.runtime.array.ScriptArray$4 com.oracle.truffle.js.runtime.array.ScriptArray$DefaultIterator com.oracle.truffle.js.runtime.array.ScriptArray$ProfileAccess com.oracle.truffle.js.runtime.array.ScriptArray$ProfileHolder com.oracle.truffle.js.runtime.array.ScriptArray$ProfileHolderImpl com.oracle.truffle.js.runtime.array.ScriptArray$SetLengthProfileAccess
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
com.oracle.truffle.js.runtime.array.ScriptArray$1
com.oracle.truffle.js.runtime.array.ScriptArray$2
com.oracle.truffle.js.runtime.array.ScriptArray$3
com.oracle.truffle.js.runtime.array.ScriptArray$4
protected final DefaultIterator = com.oracle.truffle.js.runtime.array.ScriptArray$DefaultIterator of com.oracle.truffle.js.runtime.array.ScriptArray
protected abstract ProfileAccess = com.oracle.truffle.js.runtime.array.ScriptArray$ProfileAccess of com.oracle.truffle.js.runtime.array.ScriptArray
public abstract ProfileHolder = com.oracle.truffle.js.runtime.array.ScriptArray$ProfileHolder of com.oracle.truffle.js.runtime.array.ScriptArray
private final ProfileHolderImpl = com.oracle.truffle.js.runtime.array.ScriptArray$ProfileHolderImpl of com.oracle.truffle.js.runtime.array.ScriptArray
protected abstract SetLengthProfileAccess = com.oracle.truffle.js.runtime.array.ScriptArray$SetLengthProfileAccess of com.oracle.truffle.js.runtime.array.ScriptArray
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles