class com.oracle.truffle.js.snapshot.Recording$NodeInst extends com.oracle.truffle.js.snapshot.Recording$Inst
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.js.snapshot.Recording$NodeInst
super_class: com.oracle.truffle.js.snapshot.Recording$Inst
{
private final java.lang.reflect.Method method;
descriptor: Ljava/lang/reflect/Method;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.js.snapshot.Recording$Inst[] args;
descriptor: [Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object result;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(int, java.lang.reflect.Method, com.oracle.truffle.js.snapshot.Recording$Inst[], java.lang.Object);
descriptor: (ILjava/lang/reflect/Method;[Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=4, 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
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
aload 2
invokevirtual java.lang.reflect.Method.getGenericReturnType:()Ljava/lang/reflect/Type;
invokespecial com.oracle.truffle.js.snapshot.Recording$Inst.<init>:(ILjava/lang/Class;Ljava/lang/reflect/Type;)V
1: aload 0
aload 2
putfield com.oracle.truffle.js.snapshot.Recording$NodeInst.method:Ljava/lang/reflect/Method;
2: aload 0
aload 3
putfield com.oracle.truffle.js.snapshot.Recording$NodeInst.args:[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
3: aload 0
aload 4
putfield com.oracle.truffle.js.snapshot.Recording$NodeInst.result:Ljava/lang/Object;
4: return
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/snapshot/Recording$NodeInst;
0 5 1 id I
0 5 2 method Ljava/lang/reflect/Method;
0 5 3 args [Lcom/oracle/truffle/js/snapshot/Recording$Inst;
0 5 4 result Ljava/lang/Object;
MethodParameters:
Name Flags
id
method
args
result
public java.lang.String rhs();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "nodeFactory."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$NodeInst.method:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iconst_0
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$NodeInst.args:[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
arraylength
invokestatic java.util.stream.IntStream.range:(II)Ljava/util/stream/IntStream;
aload 0
invokedynamic apply(Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;)Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording$NodeInst.lambda$0(I)Ljava/lang/String; (7)
(I)Ljava/lang/String;
invokeinterface java.util.stream.IntStream.mapToObj:(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream;
1: ldc ", "
ldc "("
ldc ")"
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;
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=6, 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 8
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$NodeInst.args:[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: com.oracle.truffle.js.snapshot.Recording$NodeInst com.oracle.truffle.js.snapshot.Recording$Inst$Visitor top int int com.oracle.truffle.js.snapshot.Recording$Inst[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aload 2
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.accept:(Lcom/oracle/truffle/js/snapshot/Recording$Inst$Visitor;)V
end local 2 5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 3
7: aload 1
aload 0
invokeinterface com.oracle.truffle.js.snapshot.Recording$Inst$Visitor.leaveInst:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
8: StackMap locals: com.oracle.truffle.js.snapshot.Recording$NodeInst com.oracle.truffle.js.snapshot.Recording$Inst$Visitor
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;
0 9 1 v Lcom/oracle/truffle/js/snapshot/Recording$Inst$Visitor;
4 5 2 arg Lcom/oracle/truffle/js/snapshot/Recording$Inst;
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=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$NodeInst.method:Ljava/lang/reflect/Method;
aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording$NodeInst.getId:()I
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$NodeInst.args:[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokestatic com.oracle.truffle.js.snapshot.Recording.toIdArray:([Lcom/oracle/truffle/js/snapshot/Recording$Inst;)[I
invokevirtual com.oracle.truffle.js.snapshot.JSNodeEncoder.encodeNode:(Ljava/lang/reflect/Method;I[I)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$NodeInst;
0 2 1 encoder Lcom/oracle/truffle/js/snapshot/JSNodeEncoder;
MethodParameters:
Name Flags
encoder
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
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$NodeInst.result:Ljava/lang/Object;
instanceof com.oracle.truffle.api.nodes.RootNode
ifeq 2
1: aload 0
getfield com.oracle.truffle.js.snapshot.Recording$NodeInst.result:Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.RootNode
invokevirtual com.oracle.truffle.api.nodes.RootNode.getName:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokespecial com.oracle.truffle.js.snapshot.Recording$Inst.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;
private java.lang.String lambda$0(int);
descriptor: (I)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$NodeInst.method:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
iload 1
aaload
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$NodeInst.args:[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
iload 1
aaload
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getDeclaredType:()Ljava/lang/Class;
invokestatic com.oracle.truffle.js.snapshot.Recording.isAssignable:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 1
ldc ""
goto 2
StackMap locals: com.oracle.truffle.js.snapshot.Recording$NodeInst int
StackMap stack: new 0 new 0
1: new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$NodeInst.method:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
iload 1
aaload
invokestatic com.oracle.truffle.js.snapshot.Recording.typeName:(Ljava/lang/reflect/Type;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: com.oracle.truffle.js.snapshot.Recording$NodeInst int
StackMap stack: new 0 new 0 java.lang.String
2: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.js.snapshot.Recording$NodeInst.args:[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
iload 1
aaload
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;
0 3 1 i I
}
SourceFile: "Recording.java"
NestHost: com.oracle.truffle.js.snapshot.Recording
InnerClasses:
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
private NodeInst = com.oracle.truffle.js.snapshot.Recording$NodeInst of com.oracle.truffle.js.snapshot.Recording
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles