public class com.oracle.truffle.js.nodes.access.PropertyGetNode extends com.oracle.truffle.js.nodes.access.PropertyCacheNode<com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.nodes.access.PropertyGetNode
super_class: com.oracle.truffle.js.nodes.access.PropertyCacheNode
{
protected final boolean isGlobal;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final boolean getOwnProperty;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected boolean isMethod;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private boolean propertyAssumptionCheckEnabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
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/PropertyGetNode;
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.PropertyGetNode.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.js.nodes.access.PropertyGetNode create(java.lang.Object, com.oracle.truffle.js.runtime.JSContext);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aload 1
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.create:(Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/Object;
0 1 1 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
key
context
public static com.oracle.truffle.js.nodes.access.PropertyGetNode create(java.lang.Object, boolean, com.oracle.truffle.js.runtime.JSContext);
descriptor: (Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
iconst_0
iconst_0
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.createImpl:(Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;ZZ)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/Object;
0 1 1 isGlobal Z
0 1 2 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
key
isGlobal
context
public static com.oracle.truffle.js.nodes.access.PropertyGetNode create(java.lang.Object, boolean, com.oracle.truffle.js.runtime.JSContext, boolean, boolean);
descriptor: (Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;ZZ)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.createImpl:(Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;ZZ)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/Object;
0 1 1 isGlobal Z
0 1 2 context Lcom/oracle/truffle/js/runtime/JSContext;
0 1 3 getOwnProperty Z
0 1 4 isMethod Z
MethodParameters:
Name Flags
key
isGlobal
context
getOwnProperty
isMethod
private static com.oracle.truffle.js.nodes.access.PropertyGetNode createImpl(java.lang.Object, boolean, com.oracle.truffle.js.runtime.JSContext, boolean, boolean);
descriptor: (Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;ZZ)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new com.oracle.truffle.js.nodes.access.PropertyGetNode
dup
aload 0
aload 2
iload 1
iload 3
iload 4
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSContext;ZZZ)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/Object;
0 1 1 isGlobal Z
0 1 2 context Lcom/oracle/truffle/js/runtime/JSContext;
0 1 3 getOwnProperty Z
0 1 4 isMethod Z
MethodParameters:
Name Flags
key
isGlobal
context
getOwnProperty
isMethod
public static com.oracle.truffle.js.nodes.access.PropertyGetNode createGetOwn(java.lang.Object, com.oracle.truffle.js.runtime.JSContext);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aload 1
iconst_1
iconst_0
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.createImpl:(Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;ZZ)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/Object;
0 1 1 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
key
context
public static com.oracle.truffle.js.nodes.access.PropertyGetNode createGetHidden(com.oracle.truffle.api.object.HiddenKey, com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/api/object/HiddenKey;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.createGetOwn:(Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Lcom/oracle/truffle/api/object/HiddenKey;
0 1 1 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
key
context
protected void <init>(java.lang.Object, com.oracle.truffle.js.runtime.JSContext, boolean, boolean, boolean);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSContext;ZZZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.PropertyCacheNode.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSContext;)V
1: aload 0
iconst_1
putfield com.oracle.truffle.js.nodes.access.PropertyGetNode.propertyAssumptionCheckEnabled:Z
2: aload 0
iload 3
putfield com.oracle.truffle.js.nodes.access.PropertyGetNode.isGlobal:Z
3: aload 0
iload 4
putfield com.oracle.truffle.js.nodes.access.PropertyGetNode.getOwnProperty:Z
4: aload 0
iload 5
putfield com.oracle.truffle.js.nodes.access.PropertyGetNode.isMethod:Z
5: return
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 6 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 6 1 key Ljava/lang/Object;
0 6 2 context Lcom/oracle/truffle/js/runtime/JSContext;
0 6 3 isGlobal Z
0 6 4 getOwnProperty Z
0 6 5 isMethod Z
MethodParameters:
Name Flags
key
context
isGlobal
getOwnProperty
isMethod
public final java.lang.Object getValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
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.PropertyGetNode.getValueOrDefault:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)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/PropertyGetNode;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public final int getValueInt(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValueInt:(Ljava/lang/Object;Ljava/lang/Object;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 1 1 obj Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
obj
public final double getValueDouble(java.lang.Object);
descriptor: (Ljava/lang/Object;)D
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValueDouble:(Ljava/lang/Object;Ljava/lang/Object;)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 1 1 obj Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
obj
public final boolean getValueBoolean(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValueBoolean:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 1 1 obj Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
obj
public final long getValueLong(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValueLong:(Ljava/lang/Object;Ljava/lang/Object;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 1 1 obj Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
obj
public final java.lang.Object getValueOrDefault(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
aload 2
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValueOrDefault:(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/PropertyGetNode;
0 1 1 obj Ljava/lang/Object;
0 1 2 defaultValue Ljava/lang/Object;
MethodParameters:
Name Flags
obj
defaultValue
protected java.lang.Object getValueOrUndefined(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValueOrDefault:(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/PropertyGetNode;
0 1 1 thisObj Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
MethodParameters:
Name Flags
thisObj
receiver
protected int getValueInt(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.cacheNode:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
astore 3
start local 3 1: goto 11
2: StackMap locals: com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.isGeneric:()Z
ifeq 4
3: aload 3
aload 1
aload 2
aload 0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValueInt:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)I
ireturn
4: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.isValid:()Z
ifne 7
5: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
6: goto 12
7: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.accepts:(Ljava/lang/Object;)Z
istore 4
start local 4 8: iload 4
ifeq 10
9: aload 3
aload 1
aload 2
aload 0
iload 4
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValueInt:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)I
ireturn
end local 4 10: StackMap locals:
StackMap stack:
aload 3
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.next:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
astore 3
StackMap locals:
StackMap stack:
11: aload 3
ifnonnull 2
end local 3 12: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.deoptimize:()V
13: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValueIntAndSpecialize:(Ljava/lang/Object;Ljava/lang/Object;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 14 1 thisObj Ljava/lang/Object;
0 14 2 receiver Ljava/lang/Object;
1 12 3 c Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
8 10 4 guard Z
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
thisObj
receiver
private int getValueIntAndSpecialize(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.specialize:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
aload 1
aload 2
aload 0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValueInt:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)I
ireturn
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/PropertyGetNode;
0 1 1 thisObj Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
receiver
protected double getValueDouble(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.cacheNode:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
astore 3
start local 3 1: goto 11
2: StackMap locals: com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.isGeneric:()Z
ifeq 4
3: aload 3
aload 1
aload 2
aload 0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValueDouble:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)D
dreturn
4: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.isValid:()Z
ifne 7
5: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
6: goto 12
7: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.accepts:(Ljava/lang/Object;)Z
istore 4
start local 4 8: iload 4
ifeq 10
9: aload 3
aload 1
aload 2
aload 0
iload 4
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValueDouble:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)D
dreturn
end local 4 10: StackMap locals:
StackMap stack:
aload 3
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.next:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
astore 3
StackMap locals:
StackMap stack:
11: aload 3
ifnonnull 2
end local 3 12: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.deoptimize:()V
13: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValueDoubleAndSpecialize:(Ljava/lang/Object;Ljava/lang/Object;)D
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 14 1 thisObj Ljava/lang/Object;
0 14 2 receiver Ljava/lang/Object;
1 12 3 c Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
8 10 4 guard Z
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
thisObj
receiver
private double getValueDoubleAndSpecialize(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.specialize:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
aload 1
aload 2
aload 0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValueDouble:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)D
dreturn
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/PropertyGetNode;
0 1 1 thisObj Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
receiver
protected boolean getValueBoolean(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.cacheNode:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
astore 3
start local 3 1: goto 11
2: StackMap locals: com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.isGeneric:()Z
ifeq 4
3: aload 3
aload 1
aload 2
aload 0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValueBoolean:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.isValid:()Z
ifne 7
5: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
6: goto 12
7: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.accepts:(Ljava/lang/Object;)Z
istore 4
start local 4 8: iload 4
ifeq 10
9: aload 3
aload 1
aload 2
aload 0
iload 4
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValueBoolean:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)Z
ireturn
end local 4 10: StackMap locals:
StackMap stack:
aload 3
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.next:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
astore 3
StackMap locals:
StackMap stack:
11: aload 3
ifnonnull 2
end local 3 12: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.deoptimize:()V
13: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValueBooleanAndSpecialize:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 14 1 thisObj Ljava/lang/Object;
0 14 2 receiver Ljava/lang/Object;
1 12 3 c Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
8 10 4 guard Z
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
thisObj
receiver
private boolean getValueBooleanAndSpecialize(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.specialize:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
aload 1
aload 2
aload 0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValueBoolean:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)Z
ireturn
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/PropertyGetNode;
0 1 1 thisObj Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
receiver
protected long getValueLong(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)J
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.cacheNode:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
astore 3
start local 3 1: goto 11
2: StackMap locals: com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.isGeneric:()Z
ifeq 4
3: aload 3
aload 1
aload 2
aload 0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValueLong:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)J
lreturn
4: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.isValid:()Z
ifne 7
5: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
6: goto 12
7: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.accepts:(Ljava/lang/Object;)Z
istore 4
start local 4 8: iload 4
ifeq 10
9: aload 3
aload 1
aload 2
aload 0
iload 4
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValueLong:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)J
lreturn
end local 4 10: StackMap locals:
StackMap stack:
aload 3
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.next:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
astore 3
StackMap locals:
StackMap stack:
11: aload 3
ifnonnull 2
end local 3 12: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.deoptimize:()V
13: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValueLongAndSpecialize:(Ljava/lang/Object;Ljava/lang/Object;)J
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 14 1 thisObj Ljava/lang/Object;
0 14 2 receiver Ljava/lang/Object;
1 12 3 c Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
8 10 4 guard Z
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
thisObj
receiver
private long getValueLongAndSpecialize(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.specialize:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
aload 1
aload 2
aload 0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValueLong:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)J
lreturn
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/PropertyGetNode;
0 1 1 thisObj Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
receiver
protected java.lang.Object getValueOrDefault(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, 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.PropertyGetNode.cacheNode:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
astore 4
start local 4 1: goto 11
2: StackMap locals: com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.isGeneric:()Z
ifeq 4
3: aload 4
aload 1
aload 2
aload 3
aload 0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValue:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)Ljava/lang/Object;
areturn
4: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.isValid:()Z
ifne 7
5: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
6: goto 12
7: StackMap locals:
StackMap stack:
aload 4
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.accepts:(Ljava/lang/Object;)Z
istore 5
start local 5 8: iload 5
ifeq 10
9: aload 4
aload 1
aload 2
aload 3
aload 0
iload 5
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValue:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)Ljava/lang/Object;
areturn
end local 5 10: StackMap locals:
StackMap stack:
aload 4
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.next:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
astore 4
StackMap locals:
StackMap stack:
11: aload 4
ifnonnull 2
end local 4 12: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.deoptimize:()V
13: aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValueAndSpecialize:(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 14 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 14 1 thisObj Ljava/lang/Object;
0 14 2 receiver Ljava/lang/Object;
0 14 3 defaultValue Ljava/lang/Object;
1 12 4 c Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
8 10 5 guard Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
thisObj
receiver
defaultValue
private java.lang.Object getValueAndSpecialize(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.specialize:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
aload 1
aload 2
aload 3
aload 0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.getValue:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Z)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/PropertyGetNode;
0 1 1 thisObj Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
0 1 3 defaultValue Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
thisObj
receiver
defaultValue
protected com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode createCachedPropertyNode(com.oracle.truffle.api.object.Property, java.lang.Object, int, java.lang.Object, com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode);
descriptor: (Lcom/oracle/truffle/api/object/Property;Ljava/lang/Object;ILjava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic com.oracle.truffle.js.nodes.access.PropertyGetNode.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isOwnProperty:()Z
ifeq 1
iload 3
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifne 3
2: aload 0
aload 1
aload 2
iload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createCachedPropertyNodeNotJSObject:(Lcom/oracle/truffle/api/object/Property;Ljava/lang/Object;I)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
3: StackMap locals:
StackMap stack:
aload 2
checkcast com.oracle.truffle.js.runtime.objects.JSDynamicObject
astore 6
start local 6 4: aload 6
invokevirtual com.oracle.truffle.js.runtime.objects.JSDynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
astore 7
start local 7 5: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isData:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 6
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isProxy:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 7
StackMap locals: com.oracle.truffle.js.runtime.objects.JSDynamicObject com.oracle.truffle.api.object.Shape
StackMap stack:
6: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isAccessor:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 27
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
invokevirtual com.oracle.truffle.api.object.Location.isFinal:()Z
ifne 8
aload 1
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
invokevirtual com.oracle.truffle.api.object.Location.isAssumedFinal:()Z
ifeq 27
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isPropertyAssumptionCheckEnabled:()Z
istore 8
start local 8 9: aload 5
astore 9
start local 9 10: goto 18
11: StackMap locals: int com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
StackMap stack:
aload 9
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.isFinalSpecialization:(Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;)Z
ifeq 17
12: aload 9
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.receiverCheck:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
instanceof com.oracle.truffle.js.nodes.access.PropertyCacheNode$ConstantObjectReceiverCheck
ifeq 16
13: aload 9
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.receiverCheck:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyCacheNode$ConstantObjectReceiverCheck
invokeinterface com.oracle.truffle.js.nodes.access.PropertyCacheNode$ConstantObjectReceiverCheck.clearExpectedObject:()V
14: aload 0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.setPropertyAssumptionCheckEnabled:(Z)V
15: aconst_null
areturn
16: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.access.PropertyGetNode.$assertionsDisabled:Z
ifne 17
aload 9
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.receiverCheck:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
instanceof com.oracle.truffle.js.nodes.access.PropertyCacheNode$ConstantObjectReceiverCheck
ifeq 17
aload 9
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.receiverCheck:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyCacheNode$ConstantObjectReceiverCheck
invokeinterface com.oracle.truffle.js.nodes.access.PropertyCacheNode$ConstantObjectReceiverCheck.getExpectedObject:()Ljava/lang/Object;
aload 2
if_acmpeq 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 9
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode.next:Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
astore 9
StackMap locals:
StackMap stack:
18: aload 9
ifnonnull 11
end local 9 19: iload 8
ifeq 21
iload 3
ifle 21
aload 7
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.key:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.getPropertyAssumption:(Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifne 21
20: iconst_0
istore 8
21: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isData:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 24
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isProxy:(Lcom/oracle/truffle/api/object/Property;)Z
ifne 24
22: aload 0
aload 7
aload 6
iload 3
iload 8
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isEligibleForFinalSpecialization:(Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/DynamicObject;IZ)Z
ifeq 27
23: aload 0
aload 1
aload 7
aload 6
iload 3
iload 8
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createFinalSpecialization:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;IZ)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
24: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isAccessor:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 27
25: aload 0
aload 7
aload 6
iload 3
iload 8
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isEligibleForFinalSpecialization:(Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/DynamicObject;IZ)Z
ifeq 27
26: aload 0
aload 1
aload 7
aload 6
iload 3
iload 8
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createFinalAccessorSpecialization:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;IZ)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
end local 8 27: StackMap locals:
StackMap stack:
aload 0
aload 7
aload 6
iload 3
iconst_0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createShapeCheckNode:(Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;IZZ)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;
astore 8
start local 8 28: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isData:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 30
29: aload 1
aload 8
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.createSpecializationFromDataProperty:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
30: StackMap locals: com.oracle.truffle.js.nodes.access.PropertyCacheNode$AbstractShapeCheckNode
StackMap stack:
getstatic com.oracle.truffle.js.nodes.access.PropertyGetNode.$assertionsDisabled:Z
ifne 31
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isAccessor:(Lcom/oracle/truffle/api/object/Property;)Z
ifne 31
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
31: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.access.PropertyGetNode$AccessorPropertyGetNode
dup
aload 1
aload 8
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$AccessorPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 32 1 property Lcom/oracle/truffle/api/object/Property;
0 32 2 thisObj Ljava/lang/Object;
0 32 3 depth I
0 32 4 value Ljava/lang/Object;
0 32 5 currentHead Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
4 32 6 thisJSObj Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
5 32 7 cacheShape Lcom/oracle/truffle/api/object/Shape;
9 27 8 isConstantObjectFinal Z
10 19 9 cur Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
28 32 8 shapeCheck Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;
MethodParameters:
Name Flags
property
thisObj
depth
value
currentHead
private static boolean isFinalSpecialization(com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode);
descriptor: (Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.nodes.access.PropertyGetNode$AbstractFinalDataPropertyGetNode
ifne 1
aload 0
instanceof com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalAccessorPropertyGetNode
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 existingNode Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
MethodParameters:
Name Flags
existingNode
private boolean isEligibleForFinalSpecialization(com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.DynamicObject, int, boolean);
descriptor: (Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/DynamicObject;IZ)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
ifne 3
1: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isPropertyAssumptionCheckEnabled:()Z
ifeq 2
aload 1
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.key:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.objects.JSShape.getPropertyAssumption:(Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 2
iload 3
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.prototypesInShape:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
ifeq 4
aload 0
aload 2
iload 3
iload 4
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.propertyAssumptionsValid:(Lcom/oracle/truffle/api/object/DynamicObject;IZ)Z
ifeq 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 4 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/PropertyGetNode;
0 5 1 cacheShape Lcom/oracle/truffle/api/object/Shape;
0 5 2 thisObj Lcom/oracle/truffle/api/object/DynamicObject;
0 5 3 depth I
0 5 4 isConstantObjectFinal Z
MethodParameters:
Name Flags
cacheShape
thisObj
depth
isConstantObjectFinal
private com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode createCachedPropertyNodeNotJSObject(com.oracle.truffle.api.object.Property, java.lang.Object, int);
descriptor: (Lcom/oracle/truffle/api/object/Property;Ljava/lang/Object;I)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifne 8
1: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isMethod:()Z
ifeq 5
aload 2
instanceof java.lang.String
ifeq 5
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
ifeq 5
2: aload 0
aload 2
iload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createJavaPropertyNodeMaybe:(Ljava/lang/Object;I)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
astore 5
start local 5 3: aload 5
ifnull 5
4: aload 5
areturn
end local 5 5: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.access.PropertyCacheNode$InstanceofCheckNode
dup
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokespecial com.oracle.truffle.js.nodes.access.PropertyCacheNode$InstanceofCheckNode.<init>:(Ljava/lang/Class;Lcom/oracle/truffle/js/runtime/JSContext;)V
astore 4
start local 4 6: aload 1
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.isStringLengthProperty:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 9
7: new com.oracle.truffle.js.nodes.access.PropertyGetNode$StringLengthPropertyGetNode
dup
aload 1
aload 4
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$StringLengthPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
end local 4 8: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createPrimitiveReceiverCheck:(Ljava/lang/Object;I)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
astore 4
start local 4 9: StackMap locals: com.oracle.truffle.js.nodes.access.PropertyCacheNode$ReceiverCheckNode
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isData:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 11
10: aload 1
aload 4
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.createSpecializationFromDataProperty:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
11: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.access.PropertyGetNode.$assertionsDisabled:Z
ifne 12
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.isAccessor:(Lcom/oracle/truffle/api/object/Property;)Z
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.access.PropertyGetNode$AccessorPropertyGetNode
dup
aload 1
aload 4
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$AccessorPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 13 1 property Lcom/oracle/truffle/api/object/Property;
0 13 2 thisObj Ljava/lang/Object;
0 13 3 depth I
6 8 4 receiverCheck Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
9 13 4 receiverCheck Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
3 5 5 javaPropertyNode Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
MethodParameters:
Name Flags
property
thisObj
depth
private static com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode createSpecializationFromDataProperty(com.oracle.truffle.api.object.Property, com.oracle.truffle.js.nodes.access.PropertyCacheNode$ReceiverCheckNode, com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
astore 3
start local 3 1: aload 0
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
instanceof com.oracle.truffle.api.object.IntLocation
ifeq 3
2: new com.oracle.truffle.js.nodes.access.PropertyGetNode$IntPropertyGetNode
dup
aload 3
aload 1
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$IntPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
3: StackMap locals: com.oracle.truffle.api.object.Property
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
instanceof com.oracle.truffle.api.object.DoubleLocation
ifeq 5
4: new com.oracle.truffle.js.nodes.access.PropertyGetNode$DoublePropertyGetNode
dup
aload 3
aload 1
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$DoublePropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
instanceof com.oracle.truffle.api.object.BooleanLocation
ifeq 7
6: new com.oracle.truffle.js.nodes.access.PropertyGetNode$BooleanPropertyGetNode
dup
aload 3
aload 1
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$BooleanPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
instanceof com.oracle.truffle.api.object.LongLocation
ifeq 9
8: new com.oracle.truffle.js.nodes.access.PropertyGetNode$LongPropertyGetNode
dup
aload 3
aload 1
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$LongPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
9: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.isArrayLengthProperty:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 11
10: new com.oracle.truffle.js.nodes.access.PropertyGetNode$ArrayLengthPropertyGetNode
dup
aload 3
aload 1
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$ArrayLengthPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
11: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.isFunctionLengthProperty:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 13
12: new com.oracle.truffle.js.nodes.access.PropertyGetNode$FunctionLengthPropertyGetNode
dup
aload 3
aload 1
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$FunctionLengthPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
13: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.isFunctionNameProperty:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 15
14: new com.oracle.truffle.js.nodes.access.PropertyGetNode$FunctionNamePropertyGetNode
dup
aload 3
aload 1
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$FunctionNamePropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
15: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.isClassPrototypeProperty:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 17
16: new com.oracle.truffle.js.nodes.access.PropertyGetNode$ClassPrototypePropertyGetNode
dup
aload 3
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$ClassPrototypePropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;Lcom/oracle/truffle/js/runtime/JSContext;)V
areturn
17: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.isStringLengthProperty:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 19
18: new com.oracle.truffle.js.nodes.access.PropertyGetNode$StringObjectLengthPropertyGetNode
dup
aload 3
aload 1
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$StringObjectLengthPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
19: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.isLazyRegexResultIndexProperty:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 21
20: new com.oracle.truffle.js.nodes.access.PropertyGetNode$LazyRegexResultIndexPropertyGetNode
dup
aload 3
aload 1
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$LazyRegexResultIndexPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
21: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.isLazyNamedCaptureGroupProperty:(Lcom/oracle/truffle/api/object/Property;)Z
ifeq 24
22: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSProperty.getConstantProxy:(Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/js/runtime/objects/PropertyProxy;
checkcast com.oracle.truffle.js.runtime.builtins.JSRegExp$LazyNamedCaptureGroupProperty
invokevirtual com.oracle.truffle.js.runtime.builtins.JSRegExp$LazyNamedCaptureGroupProperty.getGroupIndex:()I
istore 4
start local 4 23: new com.oracle.truffle.js.nodes.access.PropertyGetNode$LazyNamedCaptureGroupPropertyGetNode
dup
aload 3
aload 1
iload 4
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$LazyNamedCaptureGroupPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;I)V
areturn
end local 4 24: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.access.PropertyGetNode$ObjectPropertyGetNode
dup
aload 3
aload 1
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$ObjectPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 property Lcom/oracle/truffle/api/object/Property;
0 25 1 receiverCheck Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
0 25 2 context Lcom/oracle/truffle/js/runtime/JSContext;
1 25 3 dataProperty Lcom/oracle/truffle/api/object/Property;
23 24 4 groupIndex I
MethodParameters:
Name Flags
property
receiverCheck
context
private com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode createFinalSpecialization(com.oracle.truffle.api.object.Property, com.oracle.truffle.api.object.Shape, com.oracle.truffle.js.runtime.objects.JSDynamicObject, int, boolean);
descriptor: (Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;IZ)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 2
aload 3
iload 4
iload 5
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createShapeCheckNode:(Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;IZZ)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;
astore 6
start local 6 1: aload 6
invokevirtual com.oracle.truffle.js.nodes.access.PropertyCacheNode$AbstractShapeCheckNode.adoptChildren:()V
2: aload 6
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyCacheNode$AbstractShapeCheckNode.getStore:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 3: aload 1
aload 6
aload 7
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.createFinalSpecializationImpl:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 4 1 property Lcom/oracle/truffle/api/object/Property;
0 4 2 cacheShape Lcom/oracle/truffle/api/object/Shape;
0 4 3 thisObj Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
0 4 4 depth I
0 4 5 isConstantObjectFinal Z
1 4 6 finalShapeCheckNode Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;
3 4 7 store Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
property
cacheShape
thisObj
depth
isConstantObjectFinal
private static com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode createFinalSpecializationImpl(com.oracle.truffle.api.object.Property, com.oracle.truffle.js.nodes.access.PropertyCacheNode$AbstractShapeCheckNode, com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
instanceof com.oracle.truffle.api.object.IntLocation
ifeq 2
1: new com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalIntPropertyGetNode
dup
aload 0
aload 1
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
checkcast com.oracle.truffle.api.object.IntLocation
aload 2
iconst_0
invokeinterface com.oracle.truffle.api.object.IntLocation.getInt:(Lcom/oracle/truffle/api/object/DynamicObject;Z)I
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalIntPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;I)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
instanceof com.oracle.truffle.api.object.DoubleLocation
ifeq 4
3: new com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalDoublePropertyGetNode
dup
aload 0
aload 1
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
checkcast com.oracle.truffle.api.object.DoubleLocation
aload 2
iconst_0
invokeinterface com.oracle.truffle.api.object.DoubleLocation.getDouble:(Lcom/oracle/truffle/api/object/DynamicObject;Z)D
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalDoublePropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;D)V
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
instanceof com.oracle.truffle.api.object.BooleanLocation
ifeq 6
5: new com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalBooleanPropertyGetNode
dup
aload 0
aload 1
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
checkcast com.oracle.truffle.api.object.BooleanLocation
aload 2
iconst_0
invokeinterface com.oracle.truffle.api.object.BooleanLocation.getBoolean:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Z
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalBooleanPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;Z)V
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
instanceof com.oracle.truffle.api.object.LongLocation
ifeq 8
7: new com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalLongPropertyGetNode
dup
aload 0
aload 1
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
checkcast com.oracle.truffle.api.object.LongLocation
aload 2
iconst_0
invokeinterface com.oracle.truffle.api.object.LongLocation.getLong:(Lcom/oracle/truffle/api/object/DynamicObject;Z)J
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalLongPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;J)V
areturn
8: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.access.PropertyGetNode.$assertionsDisabled:Z
ifne 9
aload 0
invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
instanceof com.oracle.truffle.api.object.ObjectLocation
ifne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalObjectPropertyGetNode
dup
aload 0
aload 1
aload 0
aload 2
iconst_0
invokevirtual com.oracle.truffle.api.object.Property.get:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Ljava/lang/Object;
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalObjectPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;Ljava/lang/Object;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 property Lcom/oracle/truffle/api/object/Property;
0 10 1 shapeCheckNode Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;
0 10 2 store Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
property
shapeCheckNode
store
private com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode createFinalAccessorSpecialization(com.oracle.truffle.api.object.Property, com.oracle.truffle.api.object.Shape, com.oracle.truffle.js.runtime.objects.JSDynamicObject, int, boolean);
descriptor: (Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;IZ)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 2
aload 3
iload 4
iload 5
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createShapeCheckNode:(Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;IZZ)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;
astore 6
start local 6 1: aload 6
invokevirtual com.oracle.truffle.js.nodes.access.PropertyCacheNode$AbstractShapeCheckNode.adoptChildren:()V
2: aload 6
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyCacheNode$AbstractShapeCheckNode.getStore:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 3: aload 1
aload 7
aconst_null
invokevirtual com.oracle.truffle.api.object.Property.get:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.objects.Accessor
astore 8
start local 8 4: new com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalAccessorPropertyGetNode
dup
aload 1
aload 6
aload 8
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalAccessorPropertyGetNode.<init>:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;Lcom/oracle/truffle/js/runtime/objects/Accessor;)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 5 1 property Lcom/oracle/truffle/api/object/Property;
0 5 2 cacheShape Lcom/oracle/truffle/api/object/Shape;
0 5 3 thisObj Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
0 5 4 depth I
0 5 5 isConstantObjectFinal Z
1 5 6 finalShapeCheckNode Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;
3 5 7 store Lcom/oracle/truffle/api/object/DynamicObject;
4 5 8 accessor Lcom/oracle/truffle/js/runtime/objects/Accessor;
MethodParameters:
Name Flags
property
cacheShape
thisObj
depth
isConstantObjectFinal
protected com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode createJavaPropertyNodeMaybe(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.oracle.truffle.js.runtime.java.JavaPackage.isJavaPackage:(Ljava/lang/Object;)Z
ifeq 2
1: new com.oracle.truffle.js.nodes.access.PropertyGetNode$JavaPackagePropertyGetNode
dup
new com.oracle.truffle.js.nodes.access.PropertyCacheNode$JSClassCheckNode
dup
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
invokespecial com.oracle.truffle.js.nodes.access.PropertyCacheNode$JSClassCheckNode.<init>:(Lcom/oracle/truffle/js/runtime/builtins/JSClass;)V
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$JavaPackagePropertyGetNode.<init>:(Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.java.JavaImporter.isJavaImporter:(Ljava/lang/Object;)Z
ifeq 4
3: new com.oracle.truffle.js.nodes.access.PropertyGetNode$UnspecializedPropertyGetNode
dup
new com.oracle.truffle.js.nodes.access.PropertyCacheNode$JSClassCheckNode
dup
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
invokespecial com.oracle.truffle.js.nodes.access.PropertyCacheNode$JSClassCheckNode.<init>:(Lcom/oracle/truffle/js/runtime/builtins/JSClass;)V
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$UnspecializedPropertyGetNode.<init>:(Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
4: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.JSConfig.SubstrateVM:Z
ifeq 6
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
ifeq 9
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.isJavaInteropEnabled:()Z
ifeq 9
7: aload 1
instanceof java.lang.String
ifeq 9
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isMethod:()Z
ifeq 9
8: new com.oracle.truffle.js.nodes.access.PropertyGetNode$JavaStringMethodGetNode
dup
aload 0
aload 1
iload 2
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createPrimitiveReceiverCheck:(Ljava/lang/Object;I)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$JavaStringMethodGetNode.<init>:(Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
9: StackMap locals:
StackMap stack:
aconst_null
areturn
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/PropertyGetNode;
0 10 1 thisObj Ljava/lang/Object;
0 10 2 depth I
MethodParameters:
Name Flags
thisObj
depth
protected com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode createUndefinedPropertyNode(java.lang.Object, java.lang.Object, int, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createJavaPropertyNodeMaybe:(Ljava/lang/Object;I)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
astore 5
start local 5 1: aload 5
ifnull 3
2: aload 5
areturn
3: StackMap locals: com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 19
4: aload 1
checkcast com.oracle.truffle.js.runtime.objects.JSDynamicObject
astore 6
start local 6 5: aload 6
invokevirtual com.oracle.truffle.js.runtime.objects.JSDynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
astore 7
start local 7 6: aload 0
aload 7
aload 6
iload 3
iconst_0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createShapeCheckNode:(Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;IZZ)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;
astore 8
start local 8 7: iload 3
ifne 8
new com.oracle.truffle.js.nodes.access.PropertyCacheNode$JSClassCheckNode
dup
aload 6
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
invokespecial com.oracle.truffle.js.nodes.access.PropertyCacheNode$JSClassCheckNode.<init>:(Lcom/oracle/truffle/js/runtime/builtins/JSClass;)V
goto 9
StackMap locals: com.oracle.truffle.js.runtime.objects.JSDynamicObject com.oracle.truffle.api.object.Shape com.oracle.truffle.js.nodes.access.PropertyCacheNode$AbstractShapeCheckNode
StackMap stack:
8: aload 8
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.access.PropertyCacheNode$ReceiverCheckNode
9: astore 9
start local 9 10: aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSAdapter.isJSAdapter:(Ljava/lang/Object;)Z
ifeq 12
11: new com.oracle.truffle.js.nodes.access.PropertyGetNode$JSAdapterPropertyGetNode
dup
aload 9
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$JSAdapterPropertyGetNode.<init>:(Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
12: StackMap locals: com.oracle.truffle.js.nodes.access.PropertyCacheNode$ReceiverCheckNode
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 14
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.key:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPropertyKey:(Ljava/lang/Object;)Z
ifeq 14
13: aload 0
aload 9
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createJSProxyCache:(Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
14: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSModuleNamespace.isJSModuleNamespace:(Ljava/lang/Object;)Z
ifeq 16
15: new com.oracle.truffle.js.nodes.access.PropertyGetNode$UnspecializedPropertyGetNode
dup
aload 9
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$UnspecializedPropertyGetNode.<init>:(Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
16: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.isJSArrayBufferView:(Ljava/lang/Object;)Z
ifeq 18
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.key:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.isNonIntegerIndex:(Ljava/lang/Object;)Z
ifeq 18
17: new com.oracle.truffle.js.nodes.access.PropertyGetNode$ArrayBufferViewNonIntegerIndexGetNode
dup
aload 8
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$ArrayBufferViewNonIntegerIndexGetNode.<init>:(Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
18: StackMap locals:
StackMap stack:
aload 0
aload 6
iload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createUndefinedJSObjectPropertyNode:(Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;I)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
end local 9 end local 8 end local 7 end local 6 19: StackMap locals: com.oracle.truffle.js.nodes.access.PropertyGetNode java.lang.Object java.lang.Object int java.lang.Object com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 22
20: aload 0
aload 1
iload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createPrimitiveReceiverCheck:(Ljava/lang/Object;I)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
astore 6
start local 6 21: new com.oracle.truffle.js.nodes.access.PropertyGetNode$JSProxyDispatcherPropertyGetNode
dup
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.key:Ljava/lang/Object;
aload 6
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isMethod:()Z
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$JSProxyDispatcherPropertyGetNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;Z)V
areturn
end local 6 22: StackMap locals:
StackMap stack:
aload 1
ifnonnull 24
23: new com.oracle.truffle.js.nodes.access.PropertyGetNode$TypeErrorPropertyGetNode
dup
new com.oracle.truffle.js.nodes.access.PropertyCacheNode$NullCheckNode
dup
invokespecial com.oracle.truffle.js.nodes.access.PropertyCacheNode$NullCheckNode.<init>:()V
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$TypeErrorPropertyGetNode.<init>:(Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
24: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createPrimitiveReceiverCheck:(Ljava/lang/Object;I)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
astore 6
start local 6 25: aload 0
aload 6
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createUndefinedOrErrorPropertyNode:(Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 26 1 thisObj Ljava/lang/Object;
0 26 2 store Ljava/lang/Object;
0 26 3 depth I
0 26 4 value Ljava/lang/Object;
1 26 5 javaPropertyNode Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
5 19 6 jsobject Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
6 19 7 cacheShape Lcom/oracle/truffle/api/object/Shape;
7 19 8 shapeCheck Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;
10 19 9 receiverCheck Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
21 22 6 receiverCheck Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
25 26 6 receiverCheck Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
MethodParameters:
Name Flags
thisObj
store
depth
value
protected com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode createJSProxyCache(com.oracle.truffle.js.nodes.access.PropertyCacheNode$ReceiverCheckNode);
descriptor: (Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isRequired:()Z
ifeq 2
1: new com.oracle.truffle.js.nodes.access.PropertyGetNode$JSProxyDispatcherRequiredPropertyGetNode
dup
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.key:Ljava/lang/Object;
aload 1
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isMethod:()Z
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$JSProxyDispatcherRequiredPropertyGetNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;Z)V
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.access.PropertyGetNode$JSProxyDispatcherPropertyGetNode
dup
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.key:Ljava/lang/Object;
aload 1
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isMethod:()Z
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$JSProxyDispatcherPropertyGetNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 3 1 receiverCheck Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
MethodParameters:
Name Flags
receiverCheck
private com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode createUndefinedJSObjectPropertyNode(com.oracle.truffle.js.runtime.objects.JSDynamicObject, int);
descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;I)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.objects.JSDynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 1
iload 2
iconst_0
iconst_0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createShapeCheckNode:(Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;IZZ)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;
astore 3
start local 3 1: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifeq 7
2: aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
ifeq 6
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.key:Ljava/lang/Object;
instanceof com.oracle.truffle.js.runtime.Symbol
ifne 6
3: aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getNoSuchMethodUnusedAssumption:()Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifne 4
aload 1
ldc "__noSuchMethod__"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ifne 5
4: StackMap locals: com.oracle.truffle.js.nodes.access.PropertyCacheNode$AbstractShapeCheckNode
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getNoSuchPropertyUnusedAssumption:()Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifne 6
aload 1
ldc "__noSuchProperty__"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ifeq 6
5: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.access.PropertyGetNode$CheckNoSuchPropertyNode
dup
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.key:Ljava/lang/Object;
aload 3
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$CheckNoSuchPropertyNode.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;Lcom/oracle/truffle/js/runtime/JSContext;)V
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createUndefinedOrErrorPropertyNode:(Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
7: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.access.PropertyGetNode$TypeErrorPropertyGetNode
dup
aload 3
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$TypeErrorPropertyGetNode.<init>:(Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 8 1 jsobject Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
0 8 2 depth I
1 8 3 shapeCheck Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$AbstractShapeCheckNode;
MethodParameters:
Name Flags
jsobject
depth
protected com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode createUndefinedOrErrorPropertyNode(com.oracle.truffle.js.nodes.access.PropertyCacheNode$ReceiverCheckNode);
descriptor: (Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isRequired:()Z
ifeq 2
1: new com.oracle.truffle.js.nodes.access.PropertyGetNode$UndefinedPropertyErrorNode
dup
aload 1
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$UndefinedPropertyErrorNode.<init>:(Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.nodes.access.PropertyGetNode$UndefinedPropertyGetNode
dup
aload 1
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$UndefinedPropertyGetNode.<init>:(Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 3 1 receiverCheck Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$ReceiverCheckNode;
MethodParameters:
Name Flags
receiverCheck
protected com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode createGenericPropertyNode();
descriptor: ()Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.nodes.access.PropertyGetNode$GenericPropertyGetNode
dup
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$GenericPropertyGetNode.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
protected final boolean isRequired();
descriptor: ()Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isGlobal:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
protected final boolean isGlobal();
descriptor: ()Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.isGlobal:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
protected final boolean isOwnProperty();
descriptor: ()Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.getOwnProperty:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
protected boolean isMethod();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.isMethod:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
protected void setMethod();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
iconst_1
putfield com.oracle.truffle.js.nodes.access.PropertyGetNode.isMethod:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
protected boolean isPropertyAssumptionCheckEnabled();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.propertyAssumptionCheckEnabled:Z
ifeq 1
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.isSingleRealm:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
protected void setPropertyAssumptionCheckEnabled(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
iload 1
putfield com.oracle.truffle.js.nodes.access.PropertyGetNode.propertyAssumptionCheckEnabled:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
0 3 1 value Z
MethodParameters:
Name Flags
value
protected com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode createTruffleObjectPropertyNode();
descriptor: ()Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.nodes.access.PropertyGetNode$ForeignPropertyGetNode
dup
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.key:Ljava/lang/Object;
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isMethod:()Z
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.isGlobal:()Z
aload 0
getfield com.oracle.truffle.js.nodes.access.PropertyGetNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokespecial com.oracle.truffle.js.nodes.access.PropertyGetNode$ForeignPropertyGetNode.<init>:(Ljava/lang/Object;ZZLcom/oracle/truffle/js/runtime/JSContext;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
protected com.oracle.truffle.js.nodes.access.PropertyCacheNode$CacheNode createTruffleObjectPropertyNode();
descriptor: ()Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createTruffleObjectPropertyNode:()Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected com.oracle.truffle.js.nodes.access.PropertyCacheNode$CacheNode createGenericPropertyNode();
descriptor: ()Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createGenericPropertyNode:()Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected com.oracle.truffle.js.nodes.access.PropertyCacheNode$CacheNode createCachedPropertyNode(com.oracle.truffle.api.object.Property, java.lang.Object, int, java.lang.Object, com.oracle.truffle.js.nodes.access.PropertyCacheNode$CacheNode);
descriptor: (Lcom/oracle/truffle/api/object/Property;Ljava/lang/Object;ILjava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=6, locals=6, args_size=6
0: aload 0
aload 1
aload 2
iload 3
aload 4
aload 5
checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createCachedPropertyNode:(Lcom/oracle/truffle/api/object/Property;Ljava/lang/Object;ILjava/lang/Object;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected com.oracle.truffle.js.nodes.access.PropertyCacheNode$CacheNode createJavaPropertyNodeMaybe(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
iload 2
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createJavaPropertyNodeMaybe:(Ljava/lang/Object;I)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected com.oracle.truffle.js.nodes.access.PropertyCacheNode$CacheNode createUndefinedPropertyNode(java.lang.Object, java.lang.Object, int, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode$CacheNode;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
0: aload 0
aload 1
aload 2
iload 3
aload 4
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.createUndefinedPropertyNode:(Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lcom/oracle/truffle/js/nodes/access/PropertyCacheNode<Lcom/oracle/truffle/js/nodes/access/PropertyGetNode$GetCacheNode;>;
SourceFile: "PropertyGetNode.java"
NestMembers:
com.oracle.truffle.js.nodes.access.PropertyGetNode$AbstractFinalDataPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$AccessorPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$ArrayBufferViewNonIntegerIndexGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$ArrayLengthPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$BooleanPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$CheckNoSuchPropertyNode com.oracle.truffle.js.nodes.access.PropertyGetNode$ClassPrototypePropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$DoublePropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalAccessorPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalBooleanPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalDoublePropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalIntPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalLongPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalObjectPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$ForeignPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$FunctionLengthPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$FunctionNamePropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$GenericPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode com.oracle.truffle.js.nodes.access.PropertyGetNode$GetPropertyFromJSObjectNode com.oracle.truffle.js.nodes.access.PropertyGetNode$IntPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$JSAdapterPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$JSProxyDispatcherPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$JSProxyDispatcherRequiredPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$JavaPackagePropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$JavaStringMethodGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$LazyNamedCaptureGroupPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$LazyRegexResultIndexPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$LinkedPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$LongPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$ObjectPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$StringLengthPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$StringObjectLengthPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$TypeErrorPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$UndefinedPropertyErrorNode com.oracle.truffle.js.nodes.access.PropertyGetNode$UndefinedPropertyGetNode com.oracle.truffle.js.nodes.access.PropertyGetNode$UnspecializedPropertyGetNode
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
protected abstract AbstractShapeCheckNode = com.oracle.truffle.js.nodes.access.PropertyCacheNode$AbstractShapeCheckNode of com.oracle.truffle.js.nodes.access.PropertyCacheNode
public abstract CacheNode = com.oracle.truffle.js.nodes.access.PropertyCacheNode$CacheNode of com.oracle.truffle.js.nodes.access.PropertyCacheNode
protected abstract ConstantObjectReceiverCheck = com.oracle.truffle.js.nodes.access.PropertyCacheNode$ConstantObjectReceiverCheck of com.oracle.truffle.js.nodes.access.PropertyCacheNode
protected final InstanceofCheckNode = com.oracle.truffle.js.nodes.access.PropertyCacheNode$InstanceofCheckNode of com.oracle.truffle.js.nodes.access.PropertyCacheNode
protected final JSClassCheckNode = com.oracle.truffle.js.nodes.access.PropertyCacheNode$JSClassCheckNode of com.oracle.truffle.js.nodes.access.PropertyCacheNode
protected final NullCheckNode = com.oracle.truffle.js.nodes.access.PropertyCacheNode$NullCheckNode of com.oracle.truffle.js.nodes.access.PropertyCacheNode
protected abstract ReceiverCheckNode = com.oracle.truffle.js.nodes.access.PropertyCacheNode$ReceiverCheckNode of com.oracle.truffle.js.nodes.access.PropertyCacheNode
protected abstract AbstractFinalDataPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$AbstractFinalDataPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final AccessorPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$AccessorPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final ArrayBufferViewNonIntegerIndexGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$ArrayBufferViewNonIntegerIndexGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final ArrayLengthPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$ArrayLengthPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final BooleanPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$BooleanPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final CheckNoSuchPropertyNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$CheckNoSuchPropertyNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final ClassPrototypePropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$ClassPrototypePropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final DoublePropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$DoublePropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final FinalAccessorPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalAccessorPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final FinalBooleanPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalBooleanPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final FinalDoublePropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalDoublePropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final FinalIntPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalIntPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final FinalLongPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalLongPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final FinalObjectPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$FinalObjectPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final ForeignPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$ForeignPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final FunctionLengthPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$FunctionLengthPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final FunctionNamePropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$FunctionNamePropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public GenericPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$GenericPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public abstract GetCacheNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$GetCacheNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
abstract GetPropertyFromJSObjectNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$GetPropertyFromJSObjectNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final IntPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$IntPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final JSAdapterPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$JSAdapterPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final JSProxyDispatcherPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$JSProxyDispatcherPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final JSProxyDispatcherRequiredPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$JSProxyDispatcherRequiredPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final JavaPackagePropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$JavaPackagePropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public JavaStringMethodGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$JavaStringMethodGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final LazyNamedCaptureGroupPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$LazyNamedCaptureGroupPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final LazyRegexResultIndexPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$LazyRegexResultIndexPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public abstract LinkedPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$LinkedPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final LongPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$LongPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final ObjectPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$ObjectPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final StringLengthPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$StringLengthPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final StringObjectLengthPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$StringObjectLengthPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final TypeErrorPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$TypeErrorPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final UndefinedPropertyErrorNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$UndefinedPropertyErrorNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final UndefinedPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$UndefinedPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public final UnspecializedPropertyGetNode = com.oracle.truffle.js.nodes.access.PropertyGetNode$UnspecializedPropertyGetNode of com.oracle.truffle.js.nodes.access.PropertyGetNode
public LazyNamedCaptureGroupProperty = com.oracle.truffle.js.runtime.builtins.JSRegExp$LazyNamedCaptureGroupProperty of com.oracle.truffle.js.runtime.builtins.JSRegExp