public class com.oracle.truffle.js.nodes.access.WritePropertyNode extends com.oracle.truffle.js.nodes.access.JSTargetableWriteNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.nodes.access.WritePropertyNode
super_class: com.oracle.truffle.js.nodes.access.JSTargetableWriteNode
{
protected com.oracle.truffle.js.nodes.JavaScriptNode targetNode;
descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
protected com.oracle.truffle.js.nodes.JavaScriptNode rhsNode;
descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
protected com.oracle.truffle.js.nodes.access.PropertySetNode cache;
descriptor: Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private byte valueState;
descriptor: B
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private static final byte VALUE_INT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final byte VALUE_DOUBLE;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final byte VALUE_OBJECT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
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/WritePropertyNode;
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.WritePropertyNode.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, java.lang.Object, boolean, com.oracle.truffle.js.runtime.JSContext, boolean);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial com.oracle.truffle.js.nodes.access.JSTargetableWriteNode.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2: aload 0
aload 2
putfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3: aload 1
instanceof com.oracle.truffle.js.nodes.access.SuperPropertyReferenceNode
istore 7
start local 7 4: aload 0
aload 3
iload 4
aload 5
iload 6
iconst_0
invokestatic com.oracle.truffle.js.runtime.objects.JSAttributes.getDefault:()I
iconst_0
iload 7
invokestatic com.oracle.truffle.js.nodes.access.PropertySetNode.createImpl:(Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;ZZIZZ)Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
putfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
5: return
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 6 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 6 1 target Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 6 2 rhs Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 6 3 propertyKey Ljava/lang/Object;
0 6 4 isGlobal Z
0 6 5 context Lcom/oracle/truffle/js/runtime/JSContext;
0 6 6 isStrict Z
4 6 7 superProperty Z
MethodParameters:
Name Flags
target
rhs
propertyKey
isGlobal
context
isStrict
public static com.oracle.truffle.js.nodes.access.WritePropertyNode create(com.oracle.truffle.js.nodes.JavaScriptNode, java.lang.Object, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.runtime.JSContext, boolean);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
iconst_0
aload 3
iload 4
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
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 target Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 1 1 propertyKey Ljava/lang/Object;
0 1 2 rhs Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 1 3 ctx Lcom/oracle/truffle/js/runtime/JSContext;
0 1 4 isStrict Z
MethodParameters:
Name Flags
target
propertyKey
rhs
ctx
isStrict
public static com.oracle.truffle.js.nodes.access.WritePropertyNode create(com.oracle.truffle.js.nodes.JavaScriptNode, java.lang.Object, com.oracle.truffle.js.nodes.JavaScriptNode, boolean, com.oracle.truffle.js.runtime.JSContext, boolean);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new com.oracle.truffle.js.nodes.access.WritePropertyNode
dup
aload 0
aload 2
aload 1
iload 3
aload 4
iload 5
invokespecial com.oracle.truffle.js.nodes.access.WritePropertyNode.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;Z)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 target Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 1 1 propertyKey Ljava/lang/Object;
0 1 2 rhs Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 1 3 isGlobal Z
0 1 4 ctx Lcom/oracle/truffle/js/runtime/JSContext;
0 1 5 isStrict Z
MethodParameters:
Name Flags
target
propertyKey
rhs
isGlobal
ctx
isStrict
public boolean hasTag(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$WriteVariableTag;
if_acmpeq 1
aload 1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$WriteVariableTag;
if_acmpne 3
StackMap locals:
StackMap stack:
1: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.isScopeAccess:()Z
ifeq 3
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$WritePropertyTag;
if_acmpne 5
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.isScopeAccess:()Z
ifne 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$InputNodeTag;
if_acmpne 7
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.oracle.truffle.js.nodes.access.JSTargetableWriteNode.hasTag:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 8 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
MethodParameters:
Name Flags
tag
private boolean isScopeAccess();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
instanceof com.oracle.truffle.js.nodes.access.GlobalScopeNode
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
public java.lang.Object getNodeObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.isScopeAccess:()Z
ifeq 4
1: ldc "name"
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.getKey:()Ljava/lang/Object;
invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTags.createNodeObjectDescriptor:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/instrumentation/NodeObjectDescriptor;
astore 1
start local 1 2: aload 1
ldc "writeVariableName"
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.getKey:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor.addProperty:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
ldc "key"
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.getKey:()Ljava/lang/Object;
invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTags.createNodeObjectDescriptor:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/instrumentation/NodeObjectDescriptor;
astore 1
start local 1 5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
2 4 1 descriptor Lcom/oracle/truffle/js/nodes/instrumentation/NodeObjectDescriptor;
5 6 1 descriptor Lcom/oracle/truffle/js/nodes/instrumentation/NodeObjectDescriptor;
public com.oracle.truffle.api.instrumentation.InstrumentableNode materializeInstrumentableNodes(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$WritePropertyTag;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 19
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.isScopeAccess:()Z
ifne 19
1: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.materializationNeeded:()Z
ifeq 19
2: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
ifnull 3
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasSourceSection:()Z
ifeq 4
StackMap locals:
StackMap stack:
3: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 5
StackMap locals:
StackMap stack:
4: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
aload 1
invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTaggedExecutionNode.createForInput:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
5: astore 2
start local 2 6: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
ifnull 7
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasSourceSection:()Z
ifeq 8
StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
7: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 9
StackMap locals:
StackMap stack:
8: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
aload 1
invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTaggedExecutionNode.createForInput:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
9: astore 3
start local 3 10: aload 2
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
if_acmpne 12
aload 3
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
if_acmpne 12
11: aload 0
areturn
12: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 2
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
if_acmpne 14
13: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
14: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
if_acmpne 16
15: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
16: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.getKey:()Ljava/lang/Object;
aload 3
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.isGlobal:()Z
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.isStrict:()Z
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
astore 4
start local 4 17: aload 0
aload 4
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.transferSourceSectionAndTags:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
18: aload 4
areturn
end local 4 end local 3 end local 2 19: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 20 1 materializedTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
6 19 2 clonedTarget Lcom/oracle/truffle/js/nodes/JavaScriptNode;
10 19 3 clonedRhs Lcom/oracle/truffle/js/nodes/JavaScriptNode;
17 19 4 clone Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
MethodParameters:
Name Flags
materializedTags
private boolean materializationNeeded();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
ifnull 1
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasSourceSection:()Z
ifeq 3
StackMap locals:
StackMap stack:
1: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
ifnull 2
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasSourceSection:()Z
ifeq 3
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
public final com.oracle.truffle.js.nodes.JavaScriptNode getTarget();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
public final com.oracle.truffle.js.nodes.JavaScriptNode getRhs();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
public final java.lang.Object getKey();
descriptor: ()Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.getKey:()Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
public final boolean isGlobal();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.isGlobal:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
public final java.lang.Object executeWithValue(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
aload 1
aload 2
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValue:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 2 1 obj Ljava/lang/Object;
0 2 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
obj
value
public final int executeIntWithValue(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
aload 1
iload 2
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValueInt:(Ljava/lang/Object;I)V
1: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 2 1 obj Ljava/lang/Object;
0 2 2 value I
MethodParameters:
Name Flags
obj
value
public final double executeDoubleWithValue(java.lang.Object, double);
descriptor: (Ljava/lang/Object;D)D
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
aload 1
dload 2
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValueDouble:(Ljava/lang/Object;D)V
1: dload 2
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 2 1 obj Ljava/lang/Object;
0 2 2 value D
MethodParameters:
Name Flags
obj
value
private java.lang.Object executeEvaluated(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=4, locals=4, 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.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValue:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 2 1 obj Ljava/lang/Object;
0 2 2 value Ljava/lang/Object;
0 2 3 receiver Ljava/lang/Object;
MethodParameters:
Name Flags
obj
value
receiver
private int executeIntEvaluated(java.lang.Object, int, java.lang.Object);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, 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.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
aload 1
iload 2
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValueInt:(Ljava/lang/Object;ILjava/lang/Object;)V
1: iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 2 1 obj Ljava/lang/Object;
0 2 2 value I
0 2 3 receiver Ljava/lang/Object;
MethodParameters:
Name Flags
obj
value
receiver
private double executeDoubleEvaluated(java.lang.Object, double, java.lang.Object);
descriptor: (Ljava/lang/Object;DLjava/lang/Object;)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
aload 1
dload 2
aload 4
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValueDouble:(Ljava/lang/Object;DLjava/lang/Object;)V
1: dload 2
dreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 2 1 obj Ljava/lang/Object;
0 2 2 value D
0 2 4 receiver Ljava/lang/Object;
MethodParameters:
Name Flags
obj
value
receiver
public final java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.evaluateTarget:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
aload 2
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.evaluateReceiver:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 4
start local 4 3: aload 0
aload 2
aload 4
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeEvaluated:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
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/WritePropertyNode;
0 4 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 4 2 target Ljava/lang/Object;
2 4 3 receiver Ljava/lang/Object;
3 4 4 value Ljava/lang/Object;
MethodParameters:
Name Flags
frame
public final int executeInt(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.evaluateTarget:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
aload 2
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.evaluateReceiver:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.executeInt:(Lcom/oracle/truffle/api/frame/VirtualFrame;)I
istore 4
start local 4 3: aload 0
aload 2
iload 4
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeIntEvaluated:(Ljava/lang/Object;ILjava/lang/Object;)I
4: ireturn
end local 4 5: StackMap locals: com.oracle.truffle.js.nodes.access.WritePropertyNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object java.lang.Object
StackMap stack: com.oracle.truffle.api.nodes.UnexpectedResultException
astore 4
start local 4 6: aload 0
aload 2
aload 4
invokevirtual com.oracle.truffle.api.nodes.UnexpectedResultException.getResult:()Ljava/lang/Object;
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeEvaluated:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 4
athrow
end local 4 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/WritePropertyNode;
0 8 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 8 2 target Ljava/lang/Object;
2 8 3 receiver Ljava/lang/Object;
3 5 4 value I
6 8 4 e Lcom/oracle/truffle/api/nodes/UnexpectedResultException;
Exception table:
from to target type
2 4 5 Class com.oracle.truffle.api.nodes.UnexpectedResultException
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
public final double executeDouble(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)D
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.evaluateTarget:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
aload 2
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.evaluateReceiver:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.executeDouble:(Lcom/oracle/truffle/api/frame/VirtualFrame;)D
dstore 4
start local 4 3: aload 0
aload 2
dload 4
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeDoubleEvaluated:(Ljava/lang/Object;DLjava/lang/Object;)D
4: dreturn
end local 4 5: StackMap locals: com.oracle.truffle.js.nodes.access.WritePropertyNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object java.lang.Object
StackMap stack: com.oracle.truffle.api.nodes.UnexpectedResultException
astore 4
start local 4 6: aload 0
aload 2
aload 4
invokevirtual com.oracle.truffle.api.nodes.UnexpectedResultException.getResult:()Ljava/lang/Object;
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeEvaluated:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 4
athrow
end local 4 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/WritePropertyNode;
0 8 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 8 2 target Ljava/lang/Object;
2 8 3 receiver Ljava/lang/Object;
3 5 4 value D
6 8 4 e Lcom/oracle/truffle/api/nodes/UnexpectedResultException;
Exception table:
from to target type
2 4 5 Class com.oracle.truffle.api.nodes.UnexpectedResultException
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
public final void executeVoid(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.evaluateTarget:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
aload 2
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.evaluateReceiver:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.valueState:B
istore 4
start local 4 3: iload 4
ifne 7
4: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
5: aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeAndSpecialize:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;Ljava/lang/Object;)V
6: return
7: StackMap locals: java.lang.Object java.lang.Object int
StackMap stack:
iload 4
iconst_1
if_icmpne 15
8: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.executeInt:(Lcom/oracle/truffle/api/frame/VirtualFrame;)I
istore 5
start local 5 9: aload 0
aload 2
iload 5
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeIntEvaluated:(Ljava/lang/Object;ILjava/lang/Object;)I
pop
end local 5 10: goto 26
StackMap locals:
StackMap stack: com.oracle.truffle.api.nodes.UnexpectedResultException
11: astore 5
start local 5 12: aload 0
iconst_3
putfield com.oracle.truffle.js.nodes.access.WritePropertyNode.valueState:B
13: aload 0
aload 2
aload 5
invokevirtual com.oracle.truffle.api.nodes.UnexpectedResultException.getResult:()Ljava/lang/Object;
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeEvaluated:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 14: goto 26
StackMap locals:
StackMap stack:
15: iload 4
iconst_2
if_icmpne 23
16: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.executeDouble:(Lcom/oracle/truffle/api/frame/VirtualFrame;)D
dstore 5
start local 5 17: aload 0
aload 2
dload 5
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeDoubleEvaluated:(Ljava/lang/Object;DLjava/lang/Object;)D
pop2
end local 5 18: goto 26
StackMap locals:
StackMap stack: com.oracle.truffle.api.nodes.UnexpectedResultException
19: astore 5
start local 5 20: aload 0
iconst_3
putfield com.oracle.truffle.js.nodes.access.WritePropertyNode.valueState:B
21: aload 0
aload 2
aload 5
invokevirtual com.oracle.truffle.api.nodes.UnexpectedResultException.getResult:()Ljava/lang/Object;
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeEvaluated:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 22: goto 26
23: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.access.WritePropertyNode.$assertionsDisabled:Z
ifne 24
iload 4
iconst_3
if_icmpeq 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 5
start local 5 25: aload 0
aload 2
aload 5
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeEvaluated:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 26: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 27 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 27 2 target Ljava/lang/Object;
2 27 3 receiver Ljava/lang/Object;
3 27 4 vs B
9 10 5 value I
12 14 5 e Lcom/oracle/truffle/api/nodes/UnexpectedResultException;
17 18 5 value D
20 22 5 e Lcom/oracle/truffle/api/nodes/UnexpectedResultException;
25 26 5 value Ljava/lang/Object;
Exception table:
from to target type
8 10 11 Class com.oracle.truffle.api.nodes.UnexpectedResultException
16 18 19 Class com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
private void executeAndSpecialize(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 4
start local 4 2: aload 4
instanceof java.lang.Integer
ifeq 6
3: aload 0
iconst_1
putfield com.oracle.truffle.js.nodes.access.WritePropertyNode.valueState:B
4: aload 0
aload 2
aload 4
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeIntEvaluated:(Ljava/lang/Object;ILjava/lang/Object;)I
pop
5: goto 12
StackMap locals: java.lang.Object
StackMap stack:
6: aload 4
instanceof java.lang.Double
ifeq 10
7: aload 0
iconst_2
putfield com.oracle.truffle.js.nodes.access.WritePropertyNode.valueState:B
8: aload 0
aload 2
aload 4
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeDoubleEvaluated:(Ljava/lang/Object;DLjava/lang/Object;)D
pop2
9: goto 12
10: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield com.oracle.truffle.js.nodes.access.WritePropertyNode.valueState:B
11: aload 0
aload 2
aload 4
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeEvaluated:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: StackMap locals:
StackMap stack:
return
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/WritePropertyNode;
0 13 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 13 2 target Ljava/lang/Object;
0 13 3 receiver Ljava/lang/Object;
2 13 4 value Ljava/lang/Object;
MethodParameters:
Name Flags
frame
target
receiver
public final java.lang.Object executeWrite(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.evaluateTarget:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 3
start local 3 1: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
aload 3
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.evaluateReceiver:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 2: aload 0
aload 3
aload 2
aload 4
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeEvaluated:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 3 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 3 2 value Ljava/lang/Object;
1 3 3 target Ljava/lang/Object;
2 3 4 receiver Ljava/lang/Object;
MethodParameters:
Name Flags
frame
value
public final java.lang.Object executeWithTarget(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 3
start local 3 1: aload 0
aload 2
aload 3
aload 2
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.executeEvaluated:(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 2 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 2 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 2 2 target Ljava/lang/Object;
1 2 3 value Ljava/lang/Object;
MethodParameters:
Name Flags
frame
target
public final java.lang.Object evaluateTarget(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 1 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
protected com.oracle.truffle.js.nodes.JavaScriptNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.getKey:()Ljava/lang/Object;
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.rhsNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.isGlobal:()Z
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.nodes.access.WritePropertyNode.cache:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.isStrict:()Z
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 1 1 materializedTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
materializedTags
public boolean isResultAlwaysOfType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.WritePropertyNode.getRhs:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.isResultAlwaysOfType:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
0 1 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
}
SourceFile: "WritePropertyNode.java"
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public final WriteVariableTag = com.oracle.truffle.api.instrumentation.StandardTags$WriteVariableTag of com.oracle.truffle.api.instrumentation.StandardTags
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
public final InputNodeTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$InputNodeTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final WritePropertyTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$WritePropertyTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final WriteVariableTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$WriteVariableTag of com.oracle.truffle.js.nodes.instrumentation.JSTags