class com.oracle.truffle.js.snapshot.Recording$FrameSlotInst extends com.oracle.truffle.js.snapshot.Recording$Inst implements com.oracle.truffle.js.snapshot.Recording$FixUpInst
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.js.snapshot.Recording$FrameSlotInst
super_class: com.oracle.truffle.js.snapshot.Recording$Inst
{
private final com.oracle.truffle.js.snapshot.Recording$Inst frameDescriptor;
descriptor: Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.js.snapshot.Recording$Inst identifier;
descriptor: Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int flags;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean findOrAdd;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(com.oracle.truffle.api.frame.FrameSlot, com.oracle.truffle.js.snapshot.Recording$Inst, com.oracle.truffle.js.snapshot.Recording$Inst, int);
descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;I)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
ldc Lcom/oracle/truffle/api/frame/FrameSlot;
invokespecial com.oracle.truffle.js.snapshot.Recording$Inst.<init>:(Ljava/lang/Class;)V
1: aload 0
aload 2
putfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.frameDescriptor:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
2: aload 0
aload 3
putfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.identifier:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
3: aload 0
iload 4
putfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.flags:I
4: aload 0
aload 1
invokevirtual com.oracle.truffle.api.frame.FrameSlot.getIdentifier:()Ljava/lang/Object;
getstatic com.oracle.truffle.js.nodes.access.ScopeFrameNode.PARENT_SCOPE_IDENTIFIER:Ljava/lang/Object;
if_acmpne 5
iconst_1
goto 6
StackMap locals: com.oracle.truffle.js.snapshot.Recording$FrameSlotInst com.oracle.truffle.api.frame.FrameSlot com.oracle.truffle.js.snapshot.Recording$Inst com.oracle.truffle.js.snapshot.Recording$Inst int
StackMap stack: com.oracle.truffle.js.snapshot.Recording$FrameSlotInst
5: iconst_0
StackMap locals: com.oracle.truffle.js.snapshot.Recording$FrameSlotInst com.oracle.truffle.api.frame.FrameSlot com.oracle.truffle.js.snapshot.Recording$Inst com.oracle.truffle.js.snapshot.Recording$Inst int
StackMap stack: com.oracle.truffle.js.snapshot.Recording$FrameSlotInst int
6: putfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.findOrAdd:Z
7: return
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/snapshot/Recording$FrameSlotInst;
0 8 1 frameSlot Lcom/oracle/truffle/api/frame/FrameSlot;
0 8 2 frameDescriptor Lcom/oracle/truffle/js/snapshot/Recording$Inst;
0 8 3 identifier Lcom/oracle/truffle/js/snapshot/Recording$Inst;
0 8 4 flags I
MethodParameters:
Name Flags
frameSlot
frameDescriptor
identifier
flags
public java.lang.String rhs();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.frameDescriptor:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.findOrAdd:Z
ifeq 1
ldc "findOrAddFrameSlot"
goto 2
StackMap locals:
StackMap stack: java.lang.StringBuilder
1: ldc "addFrameSlot"
StackMap locals: com.oracle.truffle.js.snapshot.Recording$FrameSlotInst
StackMap stack: java.lang.StringBuilder java.lang.String
2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.identifier:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.flags:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lcom/oracle/truffle/api/frame/FrameSlotKind;
invokestatic com.oracle.truffle.js.snapshot.Recording.typeName:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".Illegal)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/snapshot/Recording$FrameSlotInst;
public void accept(com.oracle.truffle.js.snapshot.Recording$Inst$Visitor);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst$Visitor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokeinterface com.oracle.truffle.js.snapshot.Recording$Inst$Visitor.visitInst:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
ifeq 5
1: aload 1
aload 0
invokeinterface com.oracle.truffle.js.snapshot.Recording$Inst$Visitor.enterInst:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
2: aload 0
getfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.frameDescriptor:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.accept:(Lcom/oracle/truffle/js/snapshot/Recording$Inst$Visitor;)V
3: aload 0
getfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.identifier:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.accept:(Lcom/oracle/truffle/js/snapshot/Recording$Inst$Visitor;)V
4: aload 1
aload 0
invokeinterface com.oracle.truffle.js.snapshot.Recording$Inst$Visitor.leaveInst:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/snapshot/Recording$FrameSlotInst;
0 6 1 v Lcom/oracle/truffle/js/snapshot/Recording$Inst$Visitor;
MethodParameters:
Name Flags
v
public void encodeTo(com.oracle.truffle.js.snapshot.JSNodeEncoder);
descriptor: (Lcom/oracle/truffle/js/snapshot/JSNodeEncoder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.getId:()I
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.frameDescriptor:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.identifier:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.flags:I
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.findOrAdd:Z
invokevirtual com.oracle.truffle.js.snapshot.JSNodeEncoder.encodeFrameSlot:(IIIIZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/snapshot/Recording$FrameSlotInst;
0 2 1 encoder Lcom/oracle/truffle/js/snapshot/JSNodeEncoder;
MethodParameters:
Name Flags
encoder
public com.oracle.truffle.js.snapshot.Recording$Inst getFixUpTarget();
descriptor: ()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.frameDescriptor:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording$FrameSlotInst;
}
SourceFile: "Recording.java"
NestHost: com.oracle.truffle.js.snapshot.Recording
InnerClasses:
private abstract FixUpInst = com.oracle.truffle.js.snapshot.Recording$FixUpInst of com.oracle.truffle.js.snapshot.Recording
private FrameSlotInst = com.oracle.truffle.js.snapshot.Recording$FrameSlotInst of com.oracle.truffle.js.snapshot.Recording
private abstract Inst = com.oracle.truffle.js.snapshot.Recording$Inst of com.oracle.truffle.js.snapshot.Recording
abstract Visitor = com.oracle.truffle.js.snapshot.Recording$Inst$Visitor of com.oracle.truffle.js.snapshot.Recording$Inst