public abstract class com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode extends com.oracle.truffle.js.nodes.access.FrameSlotNode$WithDescriptor implements com.oracle.truffle.js.nodes.access.WriteNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
super_class: com.oracle.truffle.js.nodes.access.FrameSlotNode$WithDescriptor
{
protected void <init>(com.oracle.truffle.api.frame.FrameSlot, com.oracle.truffle.api.frame.FrameDescriptor);
descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.js.nodes.access.FrameSlotNode$WithDescriptor.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
1: return
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/JSWriteFrameSlotNode;
0 2 1 frameSlot Lcom/oracle/truffle/api/frame/FrameSlot;
0 2 2 frameDescriptor Lcom/oracle/truffle/api/frame/FrameDescriptor;
MethodParameters:
Name Flags
frameSlot
frameDescriptor
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 4
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.isInternal:(Lcom/oracle/truffle/api/frame/FrameSlot;)Z
ifeq 2
iconst_0
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: ireturn
4: StackMap locals:
StackMap stack:
aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$InputNodeTag;
if_acmpne 8
5: aload 0
getfield com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.isInternal:(Lcom/oracle/truffle/api/frame/FrameSlot;)Z
ifeq 6
iconst_0
goto 7
StackMap locals:
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: ireturn
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.oracle.truffle.js.nodes.access.FrameSlotNode$WithDescriptor.hasTag:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
0 9 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
MethodParameters:
Name Flags
tag
public java.lang.Object getNodeObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.getPublicName:(Lcom/oracle/truffle/api/frame/FrameSlot;)Ljava/lang/String;
astore 1
start local 1 1: ldc "name"
aload 1
invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTags.createNodeObjectDescriptor:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/instrumentation/NodeObjectDescriptor;
astore 2
start local 2 2: aload 2
ldc "writeVariableName"
aload 1
invokevirtual com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor.addProperty:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 2
areturn
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/JSWriteFrameSlotNode;
1 4 1 name Ljava/lang/String;
2 4 2 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=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$WriteVariableTag;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 1
aload 1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$WriteVariableTag;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 3
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.getRhs:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
ifnull 3
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.getRhs:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasSourceSection:()Z
ifne 3
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.hasSourceSection:()Z
ifeq 3
2: aload 0
aload 0
invokevirtual com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.getRhs:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.transferSourceSectionAddExpressionTag:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
3: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
0 4 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/api/instrumentation/InstrumentableNode;
MethodParameters:
Name Flags
materializedTags
public abstract com.oracle.truffle.js.nodes.JavaScriptNode getRhs();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.lang.Object executeWithFrame(com.oracle.truffle.api.frame.Frame, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/Frame;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
frame
value
public static com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode create(com.oracle.truffle.api.frame.FrameSlot, int, int, com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.api.frame.FrameSlot[], com.oracle.truffle.js.nodes.JavaScriptNode, boolean);
descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;IILcom/oracle/truffle/api/frame/FrameDescriptor;[Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=7
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tJSWriteCurrentFrameSlotNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
frameSlot
frameLevel
scopeLevel
frameDescriptor
parentSlots
rhs
hasTemporalDeadZone
public static com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode create(com.oracle.truffle.api.frame.FrameSlot, com.oracle.truffle.js.nodes.access.ScopeFrameNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.api.frame.FrameDescriptor, boolean);
descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/nodes/access/ScopeFrameNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Z)Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=5
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tJSWriteScopeFrameSlotNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
frameSlot
levelFrameNode
rhs
frameDescriptor
hasTemporalDeadZone
public final boolean isResultAlwaysOfType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.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/JSWriteFrameSlotNode;
0 1 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
}
SourceFile: "JSWriteFrameSlotNode.java"
InnerClasses:
public final WriteVariableTag = com.oracle.truffle.api.instrumentation.StandardTags$WriteVariableTag of com.oracle.truffle.api.instrumentation.StandardTags
public abstract WithDescriptor = com.oracle.truffle.js.nodes.access.FrameSlotNode$WithDescriptor of com.oracle.truffle.js.nodes.access.FrameSlotNode
public final InputNodeTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$InputNodeTag 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