public class com.oracle.truffle.js.nodes.access.ReadElementNode extends com.oracle.truffle.js.nodes.access.JSTargetableNode implements com.oracle.truffle.js.nodes.ReadNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.nodes.access.ReadElementNode
super_class: com.oracle.truffle.js.nodes.access.JSTargetableNode
{
private com.oracle.truffle.js.nodes.JavaScriptNode targetNode;
descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.JavaScriptNode indexNode;
descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode typeCacheNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
protected final com.oracle.truffle.js.runtime.JSContext context;
descriptor: Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private byte indexState;
descriptor: B
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private static final byte INDEX_INT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final byte INDEX_OBJECT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
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/access/ReadElementNode;
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.access.ReadElementNode.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.js.nodes.access.ReadElementNode create(com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.nodes.access.ReadElementNode
dup
aconst_null
aconst_null
aload 0
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
context
public static com.oracle.truffle.js.nodes.access.ReadElementNode create(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.truffle.js.nodes.access.ReadElementNode
dup
aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 targetNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 1 1 indexNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 1 2 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
targetNode
indexNode
context
protected void <init>(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial com.oracle.truffle.js.nodes.access.JSTargetableNode.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2: aload 0
aload 2
putfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3: aload 0
aload 3
putfield com.oracle.truffle.js.nodes.access.ReadElementNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 5 1 targetNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 5 2 indexNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 5 3 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
targetNode
indexNode
context
public com.oracle.truffle.api.instrumentation.InstrumentableNode materializeInstrumentableNodes(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ReadElementTag;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 18
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.alreadyMaterialized:()Z
ifne 18
1: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
ifnull 2
aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasSourceSection:()Z
ifeq 3
StackMap locals:
StackMap stack:
2: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 4
StackMap locals:
StackMap stack:
3: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
aload 1
invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTaggedExecutionNode.createForInput:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
4: astore 2
start local 2 5: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
ifnull 6
aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasSourceSection:()Z
ifeq 7
StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
6: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 8
StackMap locals:
StackMap stack:
7: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
aload 1
invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTaggedExecutionNode.createForInput:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
8: astore 3
start local 3 9: aload 2
aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
if_acmpne 11
aload 3
aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
if_acmpne 11
10: aload 0
areturn
11: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 2
aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
if_acmpne 13
12: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
13: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
if_acmpne 15
14: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
15: StackMap locals:
StackMap stack:
aload 2
aload 3
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
astore 4
start local 4 16: aload 0
aload 4
invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.transferSourceSectionAndTags:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
17: aload 4
areturn
end local 4 end local 3 end local 2 18: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 19 1 materializedTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
5 18 2 clonedTarget Lcom/oracle/truffle/js/nodes/JavaScriptNode;
9 18 3 clonedIndex Lcom/oracle/truffle/js/nodes/JavaScriptNode;
16 18 4 cloned Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
MethodParameters:
Name Flags
materializedTags
private boolean alreadyMaterialized();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.nodes.JSNodeUtil.isTaggedNode:(Lcom/oracle/truffle/api/nodes/Node;)Z
ifne 1
aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.nodes.JSNodeUtil.isTaggedNode:(Lcom/oracle/truffle/api/nodes/Node;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
public boolean hasTag(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ReadElementTag;
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.oracle.truffle.js.nodes.access.JSTargetableNode.hasTag:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 3 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
MethodParameters:
Name Flags
tag
public java.lang.Object evaluateTarget(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 1 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.evaluateTarget:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
aload 1
aload 2
aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
aload 2
invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.evaluateReceiver:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTarget:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 2 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 2 2 target Ljava/lang/Object;
MethodParameters:
Name Flags
frame
public int executeInt(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.evaluateTarget:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
aload 1
aload 2
aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
aload 2
invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.evaluateReceiver:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetInt:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;Ljava/lang/Object;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 2 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 2 2 target Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
public double executeDouble(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.evaluateTarget:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
aload 1
aload 2
aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
aload 2
invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.evaluateReceiver:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetDouble:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;Ljava/lang/Object;)D
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 2 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 2 2 target Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
public java.lang.Object executeWithTarget(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 2
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTarget:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 1 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 1 2 target Ljava/lang/Object;
MethodParameters:
Name Flags
frame
target
public java.lang.Object executeWithTarget(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexState:B
istore 4
start local 4 1: iload 4
ifne 9
2: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
3: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getIndexNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 5
start local 5 4: aload 5
instanceof java.lang.Integer
ifeq 7
5: aload 0
iconst_1
putfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexState:B
6: aload 0
aload 2
aload 5
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndex:(Ljava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
areturn
7: StackMap locals: int java.lang.Object
StackMap stack:
aload 0
iconst_2
putfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexState:B
8: aload 0
aload 2
aload 5
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndex:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 5 9: StackMap locals:
StackMap stack:
iload 4
iconst_1
if_icmpne 16
10: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getIndexNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.executeInt:(Lcom/oracle/truffle/api/frame/VirtualFrame;)I
istore 5
start local 5 11: goto 15
end local 5 StackMap locals:
StackMap stack: com.oracle.truffle.api.nodes.UnexpectedResultException
12: astore 6
start local 6 13: aload 0
iconst_2
putfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexState:B
14: aload 0
aload 2
aload 6
invokevirtual com.oracle.truffle.api.nodes.UnexpectedResultException.getResult:()Ljava/lang/Object;
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndex:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 6 start local 5 15: StackMap locals: int
StackMap stack:
aload 0
aload 2
iload 5
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndex:(Ljava/lang/Object;I)Ljava/lang/Object;
areturn
end local 5 16: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.access.ReadElementNode.$assertionsDisabled:Z
ifne 17
iload 4
iconst_2
if_icmpeq 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getIndexNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 5
start local 5 18: aload 0
aload 2
aload 5
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndex:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
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 19 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 19 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 19 2 target Ljava/lang/Object;
0 19 3 receiver Ljava/lang/Object;
1 19 4 is B
4 9 5 index Ljava/lang/Object;
11 12 5 index I
15 16 5 index I
13 15 6 e Lcom/oracle/truffle/api/nodes/UnexpectedResultException;
18 19 5 index Ljava/lang/Object;
Exception table:
from to target type
10 11 12 Class com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
target
receiver
public int executeWithTargetInt(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexState:B
istore 4
start local 4 1: iload 4
ifne 9
2: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
3: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getIndexNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 5
start local 5 4: aload 5
instanceof java.lang.Integer
ifeq 7
5: aload 0
iconst_1
putfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexState:B
6: aload 0
aload 2
aload 5
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndexInt:(Ljava/lang/Object;ILjava/lang/Object;)I
ireturn
7: StackMap locals: int java.lang.Object
StackMap stack:
aload 0
iconst_2
putfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexState:B
8: aload 0
aload 2
aload 5
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndexInt:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I
ireturn
end local 5 9: StackMap locals:
StackMap stack:
iload 4
iconst_1
if_icmpne 16
10: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getIndexNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.executeInt:(Lcom/oracle/truffle/api/frame/VirtualFrame;)I
istore 5
start local 5 11: goto 15
end local 5 StackMap locals:
StackMap stack: com.oracle.truffle.api.nodes.UnexpectedResultException
12: astore 6
start local 6 13: aload 0
iconst_2
putfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexState:B
14: aload 0
aload 2
aload 6
invokevirtual com.oracle.truffle.api.nodes.UnexpectedResultException.getResult:()Ljava/lang/Object;
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndexInt:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I
ireturn
end local 6 start local 5 15: StackMap locals: int
StackMap stack:
aload 0
aload 2
iload 5
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndexInt:(Ljava/lang/Object;ILjava/lang/Object;)I
ireturn
end local 5 16: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.access.ReadElementNode.$assertionsDisabled:Z
ifne 17
iload 4
iconst_2
if_icmpeq 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getIndexNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 5
start local 5 18: aload 0
aload 2
aload 5
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndexInt:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I
ireturn
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 19 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 19 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 19 2 target Ljava/lang/Object;
0 19 3 receiver Ljava/lang/Object;
1 19 4 is B
4 9 5 index Ljava/lang/Object;
11 12 5 index I
15 16 5 index I
13 15 6 e Lcom/oracle/truffle/api/nodes/UnexpectedResultException;
18 19 5 index Ljava/lang/Object;
Exception table:
from to target type
10 11 12 Class com.oracle.truffle.api.nodes.UnexpectedResultException
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
target
receiver
public double executeWithTargetDouble(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;Ljava/lang/Object;)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexState:B
istore 4
start local 4 1: iload 4
ifne 9
2: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
3: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getIndexNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 5
start local 5 4: aload 5
instanceof java.lang.Integer
ifeq 7
5: aload 0
iconst_1
putfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexState:B
6: aload 0
aload 2
aload 5
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndexDouble:(Ljava/lang/Object;ILjava/lang/Object;)D
dreturn
7: StackMap locals: int java.lang.Object
StackMap stack:
aload 0
iconst_2
putfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexState:B
8: aload 0
aload 2
aload 5
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndexDouble:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)D
dreturn
end local 5 9: StackMap locals:
StackMap stack:
iload 4
iconst_1
if_icmpne 16
10: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getIndexNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.executeInt:(Lcom/oracle/truffle/api/frame/VirtualFrame;)I
istore 5
start local 5 11: goto 15
end local 5 StackMap locals:
StackMap stack: com.oracle.truffle.api.nodes.UnexpectedResultException
12: astore 6
start local 6 13: aload 0
iconst_2
putfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexState:B
14: aload 0
aload 2
aload 6
invokevirtual com.oracle.truffle.api.nodes.UnexpectedResultException.getResult:()Ljava/lang/Object;
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndexDouble:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)D
dreturn
end local 6 start local 5 15: StackMap locals: int
StackMap stack:
aload 0
aload 2
iload 5
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndexDouble:(Ljava/lang/Object;ILjava/lang/Object;)D
dreturn
end local 5 16: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.access.ReadElementNode.$assertionsDisabled:Z
ifne 17
iload 4
iconst_2
if_icmpeq 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getIndexNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 5
start local 5 18: aload 0
aload 2
aload 5
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeWithTargetAndIndexDouble:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)D
dreturn
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 19 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 19 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 19 2 target Ljava/lang/Object;
0 19 3 receiver Ljava/lang/Object;
1 19 4 is B
4 9 5 index Ljava/lang/Object;
11 12 5 index I
15 16 5 index I
13 15 6 e Lcom/oracle/truffle/api/nodes/UnexpectedResultException;
18 19 5 index Ljava/lang/Object;
Exception table:
from to target type
10 11 12 Class com.oracle.truffle.api.nodes.UnexpectedResultException
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
target
receiver
public final java.lang.Object executeWithTargetAndIndex(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 1
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeTypeDispatch:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 1 1 target Ljava/lang/Object;
0 1 2 index Ljava/lang/Object;
MethodParameters:
Name Flags
target
index
public final java.lang.Object executeWithTargetAndIndex(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
aload 1
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeTypeDispatch:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 1 1 target Ljava/lang/Object;
0 1 2 index I
MethodParameters:
Name Flags
target
index
public final java.lang.Object executeWithTargetAndIndex(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeTypeDispatch:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 1 1 target Ljava/lang/Object;
0 1 2 index Ljava/lang/Object;
0 1 3 receiver Ljava/lang/Object;
MethodParameters:
Name Flags
target
index
receiver
public final java.lang.Object executeWithTargetAndIndex(java.lang.Object, int, java.lang.Object);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
aload 3
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeTypeDispatch:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 1 1 target Ljava/lang/Object;
0 1 2 index I
0 1 3 receiver Ljava/lang/Object;
MethodParameters:
Name Flags
target
index
receiver
public final int executeWithTargetAndIndexInt(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeTypeDispatchInt:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 1 1 target Ljava/lang/Object;
0 1 2 index Ljava/lang/Object;
0 1 3 receiver Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
target
index
receiver
public final int executeWithTargetAndIndexInt(java.lang.Object, int, java.lang.Object);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
aload 3
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeTypeDispatchInt:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 1 1 target Ljava/lang/Object;
0 1 2 index I
0 1 3 receiver Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
target
index
receiver
public final double executeWithTargetAndIndexDouble(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)D
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeTypeDispatchDouble:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)D
dreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 1 1 target Ljava/lang/Object;
0 1 2 index Ljava/lang/Object;
0 1 3 receiver Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
target
index
receiver
public final double executeWithTargetAndIndexDouble(java.lang.Object, int, java.lang.Object);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;)D
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
aload 3
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeTypeDispatchDouble:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;)D
dreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 1 1 target Ljava/lang/Object;
0 1 2 index I
0 1 3 receiver Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
target
index
receiver
public final java.lang.Object executeWithTargetAndIndexOrDefault(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 1
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.executeTypeDispatch:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 1 1 target Ljava/lang/Object;
0 1 2 index Ljava/lang/Object;
0 1 3 defaultValue Ljava/lang/Object;
MethodParameters:
Name Flags
target
index
defaultValue
protected final java.lang.Object executeTypeDispatch(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.typeCacheNode:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
start local 5 1: goto 6
2: StackMap locals: com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode
StackMap stack:
aload 5
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.guard:(Ljava/lang/Object;)Z
istore 6
start local 6 3: iload 6
ifeq 5
4: aload 5
aload 1
aload 2
aload 3
aload 4
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.executeWithTargetAndIndexUnchecked:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;)Ljava/lang/Object;
areturn
end local 6 5: StackMap locals:
StackMap stack:
aload 5
getfield com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.typeCacheNext:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
StackMap locals:
StackMap stack:
6: aload 5
ifnonnull 2
end local 5 7: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
8: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.specialize:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
start local 5 9: aload 5
aload 1
aload 2
aload 3
aload 4
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.executeWithTargetAndIndexUnchecked:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;)Ljava/lang/Object;
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 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 10 1 target Ljava/lang/Object;
0 10 2 index Ljava/lang/Object;
0 10 3 receiver Ljava/lang/Object;
0 10 4 defaultValue Ljava/lang/Object;
1 7 5 c Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
3 5 6 guard Z
9 10 5 specialization Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
target
index
receiver
defaultValue
protected final java.lang.Object executeTypeDispatch(java.lang.Object, int, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.typeCacheNode:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
start local 5 1: goto 6
2: StackMap locals: com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode
StackMap stack:
aload 5
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.guard:(Ljava/lang/Object;)Z
istore 6
start local 6 3: iload 6
ifeq 5
4: aload 5
aload 1
iload 2
aload 3
aload 4
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.executeWithTargetAndIndexUnchecked:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;)Ljava/lang/Object;
areturn
end local 6 5: StackMap locals:
StackMap stack:
aload 5
getfield com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.typeCacheNext:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
StackMap locals:
StackMap stack:
6: aload 5
ifnonnull 2
end local 5 7: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
8: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.specialize:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
start local 5 9: aload 5
aload 1
iload 2
aload 3
aload 4
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.executeWithTargetAndIndexUnchecked:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;)Ljava/lang/Object;
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 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 10 1 target Ljava/lang/Object;
0 10 2 index I
0 10 3 receiver Ljava/lang/Object;
0 10 4 defaultValue Ljava/lang/Object;
1 7 5 c Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
3 5 6 guard Z
9 10 5 specialization Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
target
index
receiver
defaultValue
protected final int executeTypeDispatchInt(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.typeCacheNode:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
start local 5 1: goto 6
2: StackMap locals: com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode
StackMap stack:
aload 5
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.guard:(Ljava/lang/Object;)Z
istore 6
start local 6 3: iload 6
ifeq 5
4: aload 5
aload 1
aload 2
aload 3
aload 4
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.executeWithTargetAndIndexUncheckedInt:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;)I
ireturn
end local 6 5: StackMap locals:
StackMap stack:
aload 5
getfield com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.typeCacheNext:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
StackMap locals:
StackMap stack:
6: aload 5
ifnonnull 2
end local 5 7: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
8: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.specialize:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
start local 5 9: aload 5
aload 1
aload 2
aload 3
aload 4
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.executeWithTargetAndIndexUncheckedInt:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;)I
ireturn
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 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 10 1 target Ljava/lang/Object;
0 10 2 index Ljava/lang/Object;
0 10 3 receiver Ljava/lang/Object;
0 10 4 defaultValue Ljava/lang/Object;
1 7 5 c Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
3 5 6 guard Z
9 10 5 specialization Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
target
index
receiver
defaultValue
protected final int executeTypeDispatchInt(java.lang.Object, int, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;)I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.typeCacheNode:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
start local 5 1: goto 6
2: StackMap locals: com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode
StackMap stack:
aload 5
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.guard:(Ljava/lang/Object;)Z
istore 6
start local 6 3: iload 6
ifeq 5
4: aload 5
aload 1
iload 2
aload 3
aload 4
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.executeWithTargetAndIndexUncheckedInt:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;)I
ireturn
end local 6 5: StackMap locals:
StackMap stack:
aload 5
getfield com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.typeCacheNext:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
StackMap locals:
StackMap stack:
6: aload 5
ifnonnull 2
end local 5 7: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
8: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.specialize:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
start local 5 9: aload 5
aload 1
iload 2
aload 3
aload 4
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.executeWithTargetAndIndexUncheckedInt:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;)I
ireturn
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 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 10 1 target Ljava/lang/Object;
0 10 2 index I
0 10 3 receiver Ljava/lang/Object;
0 10 4 defaultValue Ljava/lang/Object;
1 7 5 c Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
3 5 6 guard Z
9 10 5 specialization Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
target
index
receiver
defaultValue
protected final double executeTypeDispatchDouble(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)D
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.typeCacheNode:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
start local 5 1: goto 6
2: StackMap locals: com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode
StackMap stack:
aload 5
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.guard:(Ljava/lang/Object;)Z
istore 6
start local 6 3: iload 6
ifeq 5
4: aload 5
aload 1
aload 2
aload 3
aload 4
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.executeWithTargetAndIndexUncheckedDouble:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;)D
dreturn
end local 6 5: StackMap locals:
StackMap stack:
aload 5
getfield com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.typeCacheNext:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
StackMap locals:
StackMap stack:
6: aload 5
ifnonnull 2
end local 5 7: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
8: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.specialize:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
start local 5 9: aload 5
aload 1
aload 2
aload 3
aload 4
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.executeWithTargetAndIndexUncheckedDouble:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;)D
dreturn
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 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 10 1 target Ljava/lang/Object;
0 10 2 index Ljava/lang/Object;
0 10 3 receiver Ljava/lang/Object;
0 10 4 defaultValue Ljava/lang/Object;
1 7 5 c Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
3 5 6 guard Z
9 10 5 specialization Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
target
index
receiver
defaultValue
protected final double executeTypeDispatchDouble(java.lang.Object, int, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;)D
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.typeCacheNode:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
start local 5 1: goto 6
2: StackMap locals: com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode
StackMap stack:
aload 5
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.guard:(Ljava/lang/Object;)Z
istore 6
start local 6 3: iload 6
ifeq 5
4: aload 5
aload 1
iload 2
aload 3
aload 4
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.executeWithTargetAndIndexUncheckedDouble:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;)D
dreturn
end local 6 5: StackMap locals:
StackMap stack:
aload 5
getfield com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.typeCacheNext:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
StackMap locals:
StackMap stack:
6: aload 5
ifnonnull 2
end local 5 7: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
8: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.specialize:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 5
start local 5 9: aload 5
aload 1
iload 2
aload 3
aload 4
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.executeWithTargetAndIndexUncheckedDouble:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode;)D
dreturn
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 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 10 1 target Ljava/lang/Object;
0 10 2 index I
0 10 3 receiver Ljava/lang/Object;
0 10 4 defaultValue Ljava/lang/Object;
1 7 5 c Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
3 5 6 guard Z
9 10 5 specialization Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
target
index
receiver
defaultValue
private com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode specialize(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getLock:()Ljava/util/concurrent/locks/Lock;
astore 2
start local 2 2: aload 2
invokeinterface java.util.concurrent.locks.Lock.lock:()V
3: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.typeCacheNode:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 3
start local 3 4: aload 3
astore 4
start local 4 5: goto 11
6: StackMap locals: java.util.concurrent.locks.Lock com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode
StackMap stack:
aload 4
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.guard:(Ljava/lang/Object;)Z
ifeq 10
7: aload 4
astore 6
8: aload 2
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: aload 6
areturn
10: StackMap locals:
StackMap stack:
aload 4
getfield com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.typeCacheNext:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 4
StackMap locals:
StackMap stack:
11: aload 4
ifnonnull 6
end local 4 12: aload 1
aload 3
invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.makeTypeCacheNode:(Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
astore 4
start local 4 13: aload 0
aload 4
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
pop
14: aload 0
aload 4
putfield com.oracle.truffle.js.nodes.access.ReadElementNode.typeCacheNode:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
15: aload 3
ifnull 17
aload 3
getfield com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.typeCacheNext:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
ifnull 17
aload 3
getfield com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.typeCacheNext:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
getfield com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.typeCacheNext:Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
ifnull 17
16: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.reportPolymorphicSpecialize:()V
17: StackMap locals:
StackMap stack:
aload 4
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode.guard:(Ljava/lang/Object;)Z
ifne 19
18: invokestatic com.oracle.truffle.js.runtime.Errors.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
19: StackMap locals:
StackMap stack:
aload 4
astore 6
20: aload 2
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
21: aload 6
areturn
end local 4 end local 3 22: StackMap locals: com.oracle.truffle.js.nodes.access.ReadElementNode java.lang.Object java.util.concurrent.locks.Lock
StackMap stack: java.lang.Throwable
astore 5
23: aload 2
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
24: aload 5
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 25 1 target Ljava/lang/Object;
2 25 2 lock Ljava/util/concurrent/locks/Lock;
4 22 3 currentHead Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
5 12 4 c Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
13 22 4 newCacheNode Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
Exception table:
from to target type
3 8 22 any
10 20 22 any
MethodParameters:
Name Flags
target
private static com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode makeTypeCacheNode(java.lang.Object, com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 2
1: new com.oracle.truffle.js.nodes.access.ReadElementNode$JSObjectReadElementTypeCacheNode
dup
aload 1
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$JSObjectReadElementTypeCacheNode.<init>:(Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
ifeq 4
3: new com.oracle.truffle.js.nodes.access.ReadElementNode$LazyStringReadElementTypeCacheNode
dup
aload 1
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$LazyStringReadElementTypeCacheNode.<init>:(Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;)V
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 6
5: new com.oracle.truffle.js.nodes.access.ReadElementNode$StringReadElementTypeCacheNode
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$StringReadElementTypeCacheNode.<init>:(Ljava/lang/Class;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;)V
areturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Boolean
ifeq 8
7: new com.oracle.truffle.js.nodes.access.ReadElementNode$BooleanReadElementTypeCacheNode
dup
aload 1
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$BooleanReadElementTypeCacheNode.<init>:(Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;)V
areturn
8: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Number
ifeq 10
9: new com.oracle.truffle.js.nodes.access.ReadElementNode$NumberReadElementTypeCacheNode
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$NumberReadElementTypeCacheNode.<init>:(Ljava/lang/Class;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;)V
areturn
10: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.Symbol
ifeq 12
11: new com.oracle.truffle.js.nodes.access.ReadElementNode$SymbolReadElementTypeCacheNode
dup
aload 1
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$SymbolReadElementTypeCacheNode.<init>:(Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;)V
areturn
12: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.BigInt
ifeq 14
13: new com.oracle.truffle.js.nodes.access.ReadElementNode$BigIntReadElementTypeCacheNode
dup
aload 1
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$BigIntReadElementTypeCacheNode.<init>:(Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;)V
areturn
14: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 17
15: getstatic com.oracle.truffle.js.nodes.access.ReadElementNode.$assertionsDisabled:Z
ifne 16
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.access.ReadElementNode$ForeignObjectReadElementTypeCacheNode
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$ForeignObjectReadElementTypeCacheNode.<init>:(Ljava/lang/Class;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;)V
areturn
17: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.access.ReadElementNode.$assertionsDisabled:Z
ifne 18
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaPrimitive:(Ljava/lang/Object;)Z
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.access.ReadElementNode$JavaObjectReadElementTypeCacheNode
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$JavaObjectReadElementTypeCacheNode.<init>:(Ljava/lang/Class;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 target Ljava/lang/Object;
0 19 1 next Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ReadElementTypeCacheNode;
MethodParameters:
Name Flags
target
next
protected static com.oracle.truffle.js.nodes.access.ReadElementNode$ArrayReadElementCacheNode makeArrayCacheNode(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.runtime.array.ScriptArray, com.oracle.truffle.js.nodes.access.ReadElementNode$ArrayReadElementCacheNode);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof com.oracle.truffle.js.runtime.array.dyn.ConstantEmptyArray
ifeq 2
1: new com.oracle.truffle.js.nodes.access.ReadElementNode$EmptyArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$EmptyArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.dyn.ConstantObjectArray
ifeq 4
3: new com.oracle.truffle.js.nodes.access.ReadElementNode$ConstantObjectArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$ConstantObjectArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
4: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.dyn.LazyRegexResultArray
ifeq 6
5: new com.oracle.truffle.js.nodes.access.ReadElementNode$LazyRegexResultArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$LazyRegexResultArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
6: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.dyn.LazyRegexResultIndicesArray
ifeq 8
7: new com.oracle.truffle.js.nodes.access.ReadElementNode$LazyRegexResultIndicesArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$LazyRegexResultIndicesArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
8: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.dyn.LazyArray
ifeq 10
9: new com.oracle.truffle.js.nodes.access.ReadElementNode$LazyArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$LazyArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
10: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.dyn.AbstractConstantArray
ifeq 12
11: new com.oracle.truffle.js.nodes.access.ReadElementNode$ConstantArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$ConstantArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
12: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.dyn.HolesIntArray
ifeq 14
13: new com.oracle.truffle.js.nodes.access.ReadElementNode$HolesIntArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$HolesIntArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
14: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.dyn.HolesDoubleArray
ifeq 16
15: new com.oracle.truffle.js.nodes.access.ReadElementNode$HolesDoubleArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$HolesDoubleArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
16: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.dyn.HolesJSObjectArray
ifeq 18
17: new com.oracle.truffle.js.nodes.access.ReadElementNode$HolesJSObjectArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$HolesJSObjectArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
18: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.dyn.HolesObjectArray
ifeq 20
19: new com.oracle.truffle.js.nodes.access.ReadElementNode$HolesObjectArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$HolesObjectArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
20: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.dyn.AbstractWritableArray
ifeq 22
21: new com.oracle.truffle.js.nodes.access.ReadElementNode$WritableArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$WritableArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
22: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.TypedArray$AbstractUint32Array
ifeq 24
23: new com.oracle.truffle.js.nodes.access.ReadElementNode$Uint32ArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$Uint32ArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
24: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.TypedArray$TypedIntArray
ifeq 26
25: new com.oracle.truffle.js.nodes.access.ReadElementNode$TypedIntArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$TypedIntArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
26: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.TypedArray$TypedFloatArray
ifeq 28
27: new com.oracle.truffle.js.nodes.access.ReadElementNode$TypedFloatArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$TypedFloatArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
28: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.array.TypedArray$TypedBigIntArray
ifeq 30
29: new com.oracle.truffle.js.nodes.access.ReadElementNode$TypedBigIntArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$TypedBigIntArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
30: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.access.ReadElementNode$ExactArrayReadElementCacheNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.ReadElementNode$ExactArrayReadElementCacheNode.<init>:(Lcom/oracle/truffle/js/runtime/array/ScriptArray;Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 target Lcom/oracle/truffle/api/object/DynamicObject;
0 31 1 array Lcom/oracle/truffle/js/runtime/array/ScriptArray;
0 31 2 next Lcom/oracle/truffle/js/nodes/access/ReadElementNode$ArrayReadElementCacheNode;
MethodParameters:
Name Flags
target
array
next
public final com.oracle.truffle.js.nodes.JavaScriptNode getTarget();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
public final com.oracle.truffle.js.nodes.JavaScriptNode getElement();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getIndexNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
public final com.oracle.truffle.js.runtime.JSContext getContext();
descriptor: ()Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
protected com.oracle.truffle.js.nodes.JavaScriptNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getIndexNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.ReadElementNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
0 1 1 materializedTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
materializedTags
public java.lang.String expressionToString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
ifnull 2
aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
ifnull 2
1: new java.lang.StringBuilder
dup
aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.expressionToString:()Ljava/lang/String;
ldc "(intermediate value)"
invokestatic java.util.Objects.toString:(Ljava/lang/Object;Ljava/lang/String;)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 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.expressionToString:()Ljava/lang/String;
ldc "(intermediate value)"
invokestatic java.util.Objects.toString:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
public com.oracle.truffle.js.nodes.JavaScriptNode getIndexNode();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.ReadElementNode.indexNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
}
SourceFile: "ReadElementNode.java"
NestMembers:
com.oracle.truffle.js.nodes.access.ReadElementNode$ArrayClassGuardCachedArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$ArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$BigIntReadElementTypeCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$BooleanReadElementTypeCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$ConstantArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$ConstantObjectArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$EmptyArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$ExactArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$ForeignObjectReadElementTypeCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$HolesDoubleArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$HolesIntArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$HolesJSObjectArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$HolesObjectArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$JSObjectReadElementNonArrayTypeCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$JSObjectReadElementTypeCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$JavaObjectReadElementTypeCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$LazyArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$LazyRegexResultArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$LazyRegexResultIndicesArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$LazyStringReadElementTypeCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$NumberReadElementTypeCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementArrayDispatchNode com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementArrayDispatchNode$1 com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$StringReadElementTypeCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$SymbolReadElementTypeCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$ToPropertyKeyCachedReadElementTypeCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$TypedBigIntArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$TypedFloatArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$TypedIntArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$Uint32ArrayReadElementCacheNode com.oracle.truffle.js.nodes.access.ReadElementNode$WritableArrayReadElementCacheNode
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
private abstract ArrayClassGuardCachedArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$ArrayClassGuardCachedArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
abstract ArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$ArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private BigIntReadElementTypeCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$BigIntReadElementTypeCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private BooleanReadElementTypeCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$BooleanReadElementTypeCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private ConstantArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$ConstantArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private ConstantObjectArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$ConstantObjectArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private EmptyArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$EmptyArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private ExactArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$ExactArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
ForeignObjectReadElementTypeCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$ForeignObjectReadElementTypeCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private HolesDoubleArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$HolesDoubleArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private HolesIntArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$HolesIntArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private HolesJSObjectArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$HolesJSObjectArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private HolesObjectArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$HolesObjectArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private JSObjectReadElementNonArrayTypeCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$JSObjectReadElementNonArrayTypeCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private JSObjectReadElementTypeCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$JSObjectReadElementTypeCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private JavaObjectReadElementTypeCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$JavaObjectReadElementTypeCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private LazyArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$LazyArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private LazyRegexResultArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$LazyRegexResultArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private LazyRegexResultIndicesArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$LazyRegexResultIndicesArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private LazyStringReadElementTypeCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$LazyStringReadElementTypeCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private NumberReadElementTypeCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$NumberReadElementTypeCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
protected abstract ReadElementArrayDispatchNode = com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementArrayDispatchNode of com.oracle.truffle.js.nodes.access.ReadElementNode
abstract ReadElementTypeCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$ReadElementTypeCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private StringReadElementTypeCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$StringReadElementTypeCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private SymbolReadElementTypeCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$SymbolReadElementTypeCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private abstract ToPropertyKeyCachedReadElementTypeCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$ToPropertyKeyCachedReadElementTypeCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private TypedBigIntArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$TypedBigIntArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private TypedFloatArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$TypedFloatArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private TypedIntArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$TypedIntArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private Uint32ArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$Uint32ArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
private WritableArrayReadElementCacheNode = com.oracle.truffle.js.nodes.access.ReadElementNode$WritableArrayReadElementCacheNode of com.oracle.truffle.js.nodes.access.ReadElementNode
public final ReadElementTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$ReadElementTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public abstract AbstractUint32Array = com.oracle.truffle.js.runtime.array.TypedArray$AbstractUint32Array of com.oracle.truffle.js.runtime.array.TypedArray
public abstract TypedBigIntArray = com.oracle.truffle.js.runtime.array.TypedArray$TypedBigIntArray of com.oracle.truffle.js.runtime.array.TypedArray
public abstract TypedFloatArray = com.oracle.truffle.js.runtime.array.TypedArray$TypedFloatArray of com.oracle.truffle.js.runtime.array.TypedArray
public abstract TypedIntArray = com.oracle.truffle.js.runtime.array.TypedArray$TypedIntArray of com.oracle.truffle.js.runtime.array.TypedArray