public abstract class com.oracle.truffle.js.nodes.interop.ArrayElementInfoNode extends com.oracle.truffle.js.nodes.JavaScriptBaseNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.nodes.interop.ArrayElementInfoNode
super_class: com.oracle.truffle.js.nodes.JavaScriptBaseNode
{
public static final int READABLE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int MODIFIABLE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int INSERTABLE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int REMOVABLE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int WRITABLE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
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=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/js/nodes/interop/ArrayElementInfoNode;
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.nodes.interop.ArrayElementInfoNode.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.js.nodes.JavaScriptBaseNode.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/interop/ArrayElementInfoNode;
public abstract com.oracle.truffle.api.utilities.TriState execute(com.oracle.truffle.js.runtime.builtins.JSArrayBase, long, int);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSArrayBase;JI)Lcom/oracle/truffle/api/utilities/TriState;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
receiver
index
query
public final boolean executeBoolean(com.oracle.truffle.js.runtime.builtins.JSArrayBase, long, int);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSArrayBase;JI)Z
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
aload 1
lload 2
iload 4
invokevirtual com.oracle.truffle.js.nodes.interop.ArrayElementInfoNode.execute:(Lcom/oracle/truffle/js/runtime/builtins/JSArrayBase;JI)Lcom/oracle/truffle/api/utilities/TriState;
getstatic com.oracle.truffle.api.utilities.TriState.TRUE:Lcom/oracle/truffle/api/utilities/TriState;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
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/nodes/interop/ArrayElementInfoNode;
0 2 1 receiver Lcom/oracle/truffle/js/runtime/builtins/JSArrayBase;
0 2 2 index J
0 2 4 query I
MethodParameters:
Name Flags
receiver
index
query
public final void executeCheck(com.oracle.truffle.js.runtime.builtins.JSArrayBase, long, int);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSArrayBase;JI)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
aload 1
lload 2
iload 4
invokevirtual com.oracle.truffle.js.nodes.interop.ArrayElementInfoNode.execute:(Lcom/oracle/truffle/js/runtime/builtins/JSArrayBase;JI)Lcom/oracle/truffle/api/utilities/TriState;
astore 5
start local 5 1: aload 5
getstatic com.oracle.truffle.api.utilities.TriState.TRUE:Lcom/oracle/truffle/api/utilities/TriState;
if_acmpeq 5
2: aload 5
getstatic com.oracle.truffle.api.utilities.TriState.UNDEFINED:Lcom/oracle/truffle/api/utilities/TriState;
if_acmpne 4
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
4: StackMap locals: com.oracle.truffle.api.utilities.TriState
StackMap stack:
lload 2
invokestatic com.oracle.truffle.api.interop.InvalidArrayIndexException.create:(J)Lcom/oracle/truffle/api/interop/InvalidArrayIndexException;
athrow
5: StackMap locals:
StackMap stack:
return
end local 5 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/nodes/interop/ArrayElementInfoNode;
0 6 1 receiver Lcom/oracle/truffle/js/runtime/builtins/JSArrayBase;
0 6 2 index J
0 6 4 query I
1 6 5 result Lcom/oracle/truffle/api/utilities/TriState;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.InvalidArrayIndexException
MethodParameters:
Name Flags
receiver
index
query
static com.oracle.truffle.api.utilities.TriState doCached(com.oracle.truffle.js.runtime.builtins.JSArrayBase, long, int, com.oracle.truffle.js.runtime.array.ScriptArray);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSArrayBase;JILcom/oracle/truffle/js/runtime/array/ScriptArray;)Lcom/oracle/truffle/api/utilities/TriState;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 3 start local 4 0: iload 3
bipush 14
iand
ifeq 3
1: aload 4
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isFrozen:()Z
ifeq 3
2: getstatic com.oracle.truffle.api.utilities.TriState.UNDEFINED:Lcom/oracle/truffle/api/utilities/TriState;
areturn
3: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
iflt 12
lload 1
aload 4
aload 0
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.length:(Lcom/oracle/truffle/api/object/DynamicObject;)J
lcmp
ifge 12
4: iload 3
iconst_1
iand
ifeq 6
5: getstatic com.oracle.truffle.api.utilities.TriState.TRUE:Lcom/oracle/truffle/api/utilities/TriState;
areturn
6: StackMap locals:
StackMap stack:
iload 3
iconst_2
iand
ifeq 9
7: getstatic com.oracle.truffle.js.nodes.interop.ArrayElementInfoNode.$assertionsDisabled:Z
ifne 8
aload 4
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isFrozen:()Z
ifeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.utilities.TriState.TRUE:Lcom/oracle/truffle/api/utilities/TriState;
areturn
9: StackMap locals:
StackMap stack:
iload 3
bipush 8
iand
ifeq 11
aload 4
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isSealed:()Z
ifne 11
aload 4
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isLengthNotWritable:()Z
ifne 11
10: getstatic com.oracle.truffle.api.utilities.TriState.TRUE:Lcom/oracle/truffle/api/utilities/TriState;
areturn
11: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.utilities.TriState.FALSE:Lcom/oracle/truffle/api/utilities/TriState;
areturn
12: StackMap locals:
StackMap stack:
iload 3
iconst_4
iand
ifeq 14
lload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
ifeq 14
aload 4
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isSealed:()Z
ifne 14
aload 4
invokevirtual com.oracle.truffle.js.runtime.array.ScriptArray.isLengthNotWritable:()Z
ifne 14
13: getstatic com.oracle.truffle.api.utilities.TriState.TRUE:Lcom/oracle/truffle/api/utilities/TriState;
areturn
14: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.utilities.TriState.FALSE:Lcom/oracle/truffle/api/utilities/TriState;
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 target Lcom/oracle/truffle/js/runtime/builtins/JSArrayBase;
0 15 1 index J
0 15 3 query I
0 15 4 arrayType Lcom/oracle/truffle/js/runtime/array/ScriptArray;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"arrayType.isInstance(target.getArrayType())"}, limit = "5")
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
3:
com.oracle.truffle.api.dsl.Cached(value = "target.getArrayType()")
MethodParameters:
Name Flags
target
index
query
arrayType
static com.oracle.truffle.api.utilities.TriState doUncached(com.oracle.truffle.js.runtime.builtins.JSArrayBase, long, int);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSArrayBase;JI)Lcom/oracle/truffle/api/utilities/TriState;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
iload 3
aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSArrayBase.getArrayType:()Lcom/oracle/truffle/js/runtime/array/ScriptArray;
invokestatic com.oracle.truffle.js.nodes.interop.ArrayElementInfoNode.doCached:(Lcom/oracle/truffle/js/runtime/builtins/JSArrayBase;JILcom/oracle/truffle/js/runtime/array/ScriptArray;)Lcom/oracle/truffle/api/utilities/TriState;
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 target Lcom/oracle/truffle/js/runtime/builtins/JSArrayBase;
0 1 1 index J
0 1 3 query I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(replaces = {"doCached"})
MethodParameters:
Name Flags
target
index
query
}
SourceFile: "ArrayElementInfoNode.java"
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.GenerateUncached()