public class com.oracle.truffle.js.snapshot.Recording
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.snapshot.Recording
super_class: java.lang.Object
{
private static final boolean VERBOSE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean BATCHES_ENABLED;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final boolean LAZY_FUNCTIONS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final boolean SORT_BY_ID;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean CONST_IN_VAR;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final boolean SOURCE_SECTIONS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final boolean FIXUP_SOURCE_SECTIONS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final boolean FIXUP_TAGS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final boolean TEST_DECODE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final boolean LAMBDA;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final java.lang.String ENTRY_METHOD_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "apply"
private static final java.lang.String ;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "function"
private final com.oracle.truffle.js.snapshot.Recording$VarIdTable table;
descriptor: Lcom/oracle/truffle/js/snapshot/Recording$VarIdTable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.Integer, com.oracle.truffle.js.snapshot.Recording$Inst> defs;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
private final java.util.ArrayList<com.oracle.truffle.js.snapshot.Recording$Inst> insts;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
private final java.util.ArrayDeque<com.oracle.truffle.js.snapshot.Recording$MethodCall> callStack;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayDeque<Lcom/oracle/truffle/js/snapshot/Recording$MethodCall;>;
private final java.util.Set<com.oracle.truffle.api.frame.FrameDescriptor> frameDescriptorSet;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lcom/oracle/truffle/api/frame/FrameDescriptor;>;
private final java.util.Set<com.oracle.truffle.js.runtime.builtins.JSFunctionData> functionDataSet;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;>;
private final java.util.ArrayDeque<java.util.function.Function<java.lang.Boolean, java.lang.Boolean>> earlyFixups;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayDeque<Ljava/util/function/Function<Ljava/lang/Boolean;Ljava/lang/Boolean;>;>;
private final java.util.ArrayDeque<java.util.function.Function<java.lang.Boolean, java.lang.Boolean>> lateFixups;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayDeque<Ljava/util/function/Function<Ljava/lang/Boolean;Ljava/lang/Boolean;>;>;
private final java.util.Map<com.oracle.truffle.js.snapshot.Recording$Inst, java.util.Collection<com.oracle.truffle.js.snapshot.Recording$Inst>> usageMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/Collection<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;>;
private final java.util.List<com.oracle.truffle.js.snapshot.Recording$InstBatch> instBatches;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$InstBatch;>;
private com.oracle.truffle.api.source.Source source;
descriptor: Lcom/oracle/truffle/api/source/Source;
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/snapshot/Recording;
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.snapshot.Recording.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
static boolean isAssignable(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpeq 2
aload 0
ldc Ljava/lang/Object;
if_acmpne 1
aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 2
StackMap locals:
StackMap stack:
1: aload 0
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 2
iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 toType Ljava/lang/Class<*>;
0 3 1 fromType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
toType
fromType
static int[] toIdArray(com.oracle.truffle.js.snapshot.Recording$Inst[]);
descriptor: ([Lcom/oracle/truffle/js/snapshot/Recording$Inst;)[I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
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:
(Ljava/lang/Object;)I
com/oracle/truffle/js/snapshot/Recording.lambda$0(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)I (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)I
invokeinterface java.util.stream.Stream.mapToInt:(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
invokeinterface java.util.stream.IntStream.toArray:()[I
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 args [Lcom/oracle/truffle/js/snapshot/Recording$Inst;
MethodParameters:
Name Flags
args
static int[] toIdArray(java.util.List<com.oracle.truffle.js.snapshot.Recording$Inst>);
descriptor: (Ljava/util/List;)[I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
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:
(Ljava/lang/Object;)I
com/oracle/truffle/js/snapshot/Recording.lambda$1(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)I (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)I
invokeinterface java.util.stream.Stream.mapToInt:(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
invokeinterface java.util.stream.IntStream.toArray:()[I
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 args Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
Signature: (Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;)[I
MethodParameters:
Name Flags
args
static java.lang.String typeName(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
bipush 36
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 1
start local 1 1: ldc "java.lang."
astore 2
start local 2 2: aload 1
aload 2
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
3: aload 1
aload 2
invokevirtual java.lang.String.length:()I
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
4: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 cls Ljava/lang/Class<*>;
1 5 1 fq Ljava/lang/String;
2 5 2 prefix Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
cls
static java.lang.String typeName(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.Class
ifeq 2
1: aload 0
checkcast java.lang.Class
invokestatic com.oracle.truffle.js.snapshot.Recording.typeName:(Ljava/lang/Class;)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.reflect.ParameterizedType
ifeq 6
3: new java.lang.StringBuilder
dup
aload 0
checkcast java.lang.reflect.ParameterizedType
invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
invokestatic com.oracle.truffle.js.snapshot.Recording.typeName:(Ljava/lang/reflect/Type;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 0
checkcast java.lang.reflect.ParameterizedType
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$2(Ljava/lang/reflect/Type;)Ljava/lang/String; (6)
(Ljava/lang/reflect/Type;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
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;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.reflect.GenericArrayType
ifeq 8
7: new java.lang.StringBuilder
dup
aload 0
checkcast java.lang.reflect.GenericArrayType
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
invokestatic com.oracle.truffle.js.snapshot.Recording.typeName:(Ljava/lang/reflect/Type;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "[]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
8: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.lang.reflect.Type.getTypeName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 type Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
type
public <T> com.oracle.truffle.js.snapshot.Recording$Inst getOrPut(T, java.util.function.Function<T, com.oracle.truffle.js.snapshot.Recording$Inst>);
descriptor: (Ljava/lang/Object;Ljava/util/function/Function;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.table:Lcom/oracle/truffle/js/snapshot/Recording$VarIdTable;
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$VarIdTable.contains:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording.getInst:(Ljava/lang/Object;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
2: StackMap locals:
StackMap stack:
aload 2
aload 1
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
astore 3
start local 3 3: aload 3
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.table:Lcom/oracle/truffle/js/snapshot/Recording$VarIdTable;
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$VarIdTable.put:(Ljava/lang/Object;)I
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.assignId:(I)V
4: aload 0
aload 3
invokevirtual com.oracle.truffle.js.snapshot.Recording.append:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
5: aload 3
areturn
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/snapshot/Recording;
0 6 1 arg TT;
0 6 2 makeInst Ljava/util/function/Function<TT;Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
3 6 3 inst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
Signature: <T:Ljava/lang/Object;>(TT;Ljava/util/function/Function<TT;Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
MethodParameters:
Name Flags
arg
makeInst
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new com.oracle.truffle.js.snapshot.Recording$VarIdTable
dup
invokespecial com.oracle.truffle.js.snapshot.Recording$VarIdTable.<init>:()V
putfield com.oracle.truffle.js.snapshot.Recording.table:Lcom/oracle/truffle/js/snapshot/Recording$VarIdTable;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.js.snapshot.Recording.defs:Ljava/util/Map;
3: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
4: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield com.oracle.truffle.js.snapshot.Recording.callStack:Ljava/util/ArrayDeque;
5: aload 0
new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
putfield com.oracle.truffle.js.snapshot.Recording.frameDescriptorSet:Ljava/util/Set;
6: aload 0
new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
putfield com.oracle.truffle.js.snapshot.Recording.functionDataSet:Ljava/util/Set;
7: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield com.oracle.truffle.js.snapshot.Recording.earlyFixups:Ljava/util/ArrayDeque;
8: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield com.oracle.truffle.js.snapshot.Recording.lateFixups:Ljava/util/ArrayDeque;
9: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.js.snapshot.Recording.usageMap:Ljava/util/Map;
10: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.js.snapshot.Recording.instBatches:Ljava/util/List;
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/js/snapshot/Recording;
public void recordCall(java.lang.reflect.Method, java.lang.Object[]);
descriptor: (Ljava/lang/reflect/Method;[Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_1
invokevirtual com.oracle.truffle.js.snapshot.Recording.processFixUps:(Z)V
1: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.callStack:Ljava/util/ArrayDeque;
new com.oracle.truffle.js.snapshot.Recording$MethodCall
dup
aload 1
aload 2
invokespecial com.oracle.truffle.js.snapshot.Recording$MethodCall.<init>:(Ljava/lang/reflect/Method;[Ljava/lang/Object;)V
invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 3 1 method Ljava/lang/reflect/Method;
0 3 2 args [Ljava/lang/Object;
MethodParameters:
Name Flags
method
args
private com.oracle.truffle.js.snapshot.Recording$Inst[] encodeParameterArray([], java.lang.Class<?>[], java.lang.reflect.Type[]);
descriptor: ([Ljava/lang/Object;[Ljava/lang/Class;[Ljava/lang/reflect/Type;)[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
arraylength
anewarray com.oracle.truffle.js.snapshot.Recording$Inst
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 7
3: StackMap locals: com.oracle.truffle.js.snapshot.Recording$Inst[] int
StackMap stack:
aload 4
iload 5
aload 0
aload 1
iload 5
aaload
aload 2
iload 5
aaload
aload 3
ifnull 4
aload 3
iload 5
aaload
goto 5
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.lang.Object[] java.lang.Class[] java.lang.reflect.Type[] com.oracle.truffle.js.snapshot.Recording$Inst[] int
StackMap stack: com.oracle.truffle.js.snapshot.Recording$Inst[] int com.oracle.truffle.js.snapshot.Recording java.lang.Object java.lang.Class
4: aconst_null
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.lang.Object[] java.lang.Class[] java.lang.reflect.Type[] com.oracle.truffle.js.snapshot.Recording$Inst[] int
StackMap stack: com.oracle.truffle.js.snapshot.Recording$Inst[] int com.oracle.truffle.js.snapshot.Recording java.lang.Object java.lang.Class java.lang.reflect.Type
5: invokevirtual com.oracle.truffle.js.snapshot.Recording.encode:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
aastore
6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
aload 1
arraylength
if_icmplt 3
end local 5 8: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 9 1 args [Ljava/lang/Object;
0 9 2 paramTypes [Ljava/lang/Class;
0 9 3 genericTypes [Ljava/lang/reflect/Type;
1 9 4 encoding [Lcom/oracle/truffle/js/snapshot/Recording$Inst;
2 8 5 i I
Signature: ([Ljava/lang/Object;[Ljava/lang/Class<*>;[Ljava/lang/reflect/Type;)[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
MethodParameters:
Name Flags
args
paramTypes
genericTypes
private com.oracle.truffle.js.snapshot.Recording$Inst[] encodeArray(, java.lang.Class<?>, java.lang.reflect.Type);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;)[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.js.snapshot.Recording.$assertionsDisabled:Z
ifne 1
aload 2
invokevirtual java.lang.Class.isArray:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.snapshot.Recording.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 4
start local 4 3: aload 3
instanceof java.lang.reflect.GenericArrayType
ifeq 4
aload 3
checkcast java.lang.reflect.GenericArrayType
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
goto 5
StackMap locals: java.lang.Class
StackMap stack:
4: aconst_null
StackMap locals:
StackMap stack: java.lang.reflect.Type
5: astore 5
start local 5 6: aload 1
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
istore 6
start local 6 7: iload 6
anewarray com.oracle.truffle.js.snapshot.Recording$Inst
astore 7
start local 7 8: iconst_0
istore 8
start local 8 9: goto 12
10: StackMap locals: com.oracle.truffle.js.snapshot.Recording java.lang.Object java.lang.Class java.lang.reflect.Type java.lang.Class java.lang.reflect.Type int com.oracle.truffle.js.snapshot.Recording$Inst[] int
StackMap stack:
aload 7
iload 8
aload 0
aload 1
iload 8
invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
aload 4
aload 5
invokevirtual com.oracle.truffle.js.snapshot.Recording.encode:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
aastore
11: iinc 8 1
StackMap locals:
StackMap stack:
12: iload 8
iload 6
if_icmplt 10
end local 8 13: aload 7
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 14 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 14 1 args Ljava/lang/Object;
0 14 2 declaredType Ljava/lang/Class<*>;
0 14 3 genericType Ljava/lang/reflect/Type;
3 14 4 elementType Ljava/lang/Class<*>;
6 14 5 elementGenericType Ljava/lang/reflect/Type;
7 14 6 length I
8 14 7 encoding [Lcom/oracle/truffle/js/snapshot/Recording$Inst;
9 13 8 i I
Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;Ljava/lang/reflect/Type;)[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
MethodParameters:
Name Flags
args
declaredType
genericType
private java.util.ArrayList<com.oracle.truffle.js.snapshot.Recording$Inst> encodeList(java.util.ArrayList<?>, java.lang.reflect.Type);
descriptor: (Ljava/util/ArrayList;Ljava/lang/reflect/Type;)Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof java.lang.reflect.ParameterizedType
ifeq 1
aload 2
checkcast java.lang.reflect.ParameterizedType
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
iconst_0
aaload
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.reflect.Type
2: astore 3
start local 3 3: aload 3
invokestatic com.oracle.truffle.js.snapshot.Recording.getRawType:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
astore 4
start local 4 4: new java.util.ArrayList
dup
aload 1
invokevirtual java.util.ArrayList.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 5: iconst_0
istore 6
start local 6 6: goto 9
7: StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.ArrayList java.lang.reflect.Type java.lang.reflect.Type java.lang.Class java.util.ArrayList int
StackMap stack:
aload 5
iload 6
aload 0
aload 1
iload 6
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
aload 4
aload 3
invokevirtual com.oracle.truffle.js.snapshot.Recording.encode:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual java.util.ArrayList.add:(ILjava/lang/Object;)V
8: iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
aload 1
invokevirtual java.util.ArrayList.size:()I
if_icmplt 7
end local 6 10: aload 5
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 11 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 11 1 args Ljava/util/ArrayList<*>;
0 11 2 genericType Ljava/lang/reflect/Type;
3 11 3 elementGenericType Ljava/lang/reflect/Type;
4 11 4 elementType Ljava/lang/Class<*>;
5 11 5 encoding Ljava/util/ArrayList<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
6 10 6 i I
Signature: (Ljava/util/ArrayList<*>;Ljava/lang/reflect/Type;)Ljava/util/ArrayList<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
MethodParameters:
Name Flags
args
genericType
private static java.lang.Class<?> getRawType(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Class
ifeq 4
3: aload 0
checkcast java.lang.Class
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.reflect.ParameterizedType
ifeq 6
5: aload 0
checkcast java.lang.reflect.ParameterizedType
invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
checkcast java.lang.Class
areturn
6: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 genericType Ljava/lang/reflect/Type;
Signature: (Ljava/lang/reflect/Type;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
genericType
private com.oracle.truffle.js.snapshot.Recording$Inst getInst(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.table:Lcom/oracle/truffle/js/snapshot/Recording$VarIdTable;
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$VarIdTable.getId:(Ljava/lang/Object;)I
istore 2
start local 2 1: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.defs:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 2 1 arg Ljava/lang/Object;
1 2 2 id I
MethodParameters:
Name Flags
arg
private com.oracle.truffle.js.snapshot.Recording$Inst dumpConst(, java.lang.Class<?>);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
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
invokedynamic apply(Ljava/lang/Object;Ljava/lang/Class;)Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$3(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/js/snapshot/Recording$Inst; (6)
(Ljava/lang/Object;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording.getOrPut:(Ljava/lang/Object;Ljava/util/function/Function;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 arg Ljava/lang/Object;
0 1 2 declaredType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
MethodParameters:
Name Flags
arg
declaredType
private com.oracle.truffle.js.snapshot.Recording$Inst dumpNode(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording.getInst:(Ljava/lang/Object;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 arg Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
arg
private com.oracle.truffle.js.snapshot.Recording$Inst dumpContext(com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokedynamic apply()Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$4(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/snapshot/Recording$Inst; (6)
(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording.getOrPut:(Ljava/lang/Object;Ljava/util/function/Function;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 arg Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
arg
private com.oracle.truffle.js.snapshot.Recording$Inst dumpCollectArray(com.oracle.truffle.js.snapshot.Recording$Inst[], java.lang.Class<?>);
descriptor: ([Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/lang/Class;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.snapshot.Recording.$assertionsDisabled:Z
ifne 1
aload 2
invokevirtual java.lang.Class.isArray:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokedynamic apply(Ljava/lang/Class;)Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$5(Ljava/lang/Class;[Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Lcom/oracle/truffle/js/snapshot/Recording$Inst; (6)
([Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording.getOrPut:(Ljava/lang/Object;Ljava/util/function/Function;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 2 1 arg [Lcom/oracle/truffle/js/snapshot/Recording$Inst;
0 2 2 arrayClass Ljava/lang/Class<*>;
Signature: ([Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/lang/Class<*>;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
MethodParameters:
Name Flags
arg
arrayClass
private com.oracle.truffle.js.snapshot.Recording$Inst dumpCollectList(java.util.List<com.oracle.truffle.js.snapshot.Recording$Inst>, java.lang.reflect.Type);
descriptor: (Ljava/util/List;Ljava/lang/reflect/Type;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokedynamic apply(Ljava/lang/reflect/Type;)Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$6(Ljava/lang/reflect/Type;Ljava/util/List;)Lcom/oracle/truffle/js/snapshot/Recording$Inst; (6)
(Ljava/util/List;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording.getOrPut:(Ljava/lang/Object;Ljava/util/function/Function;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 arg Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
0 1 2 genericType Ljava/lang/reflect/Type;
Signature: (Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;Ljava/lang/reflect/Type;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
MethodParameters:
Name Flags
arg
genericType
private com.oracle.truffle.js.snapshot.Recording$Inst dumpCallTarget(com.oracle.truffle.api.CallTarget);
descriptor: (Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
invokedynamic apply(Lcom/oracle/truffle/js/snapshot/Recording;)Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$7(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/snapshot/Recording$Inst; (7)
(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording.getOrPut:(Ljava/lang/Object;Ljava/util/function/Function;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 arg Lcom/oracle/truffle/api/CallTarget;
MethodParameters:
Name Flags
arg
private com.oracle.truffle.js.snapshot.Recording$Inst dumpPlaceholder(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokedynamic apply(Ljava/lang/Object;)Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$8(Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/js/snapshot/Recording$Inst; (6)
(Ljava/lang/Object;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording.getOrPut:(Ljava/lang/Object;Ljava/util/function/Function;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 arg Ljava/lang/Object;
MethodParameters:
Name Flags
arg
private com.oracle.truffle.js.snapshot.Recording$Inst dumpFrameSlot(com.oracle.truffle.api.frame.FrameSlot);
descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
invokedynamic apply(Lcom/oracle/truffle/js/snapshot/Recording;)Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$9(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/snapshot/Recording$Inst; (7)
(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording.getOrPut:(Ljava/lang/Object;Ljava/util/function/Function;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 arg Lcom/oracle/truffle/api/frame/FrameSlot;
MethodParameters:
Name Flags
arg
private com.oracle.truffle.api.frame.FrameDescriptor getFrameDescriptor(com.oracle.truffle.api.frame.FrameSlot);
descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/api/frame/FrameDescriptor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.frameDescriptorSet:Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
aload 1
invokedynamic test(Lcom/oracle/truffle/api/frame/FrameSlot;)Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$10(Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Z (6)
(Lcom/oracle/truffle/api/frame/FrameDescriptor;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
1: aload 1
invokedynamic get(Lcom/oracle/truffle/api/frame/FrameSlot;)Ljava/util/function/Supplier;
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:
()Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$11(Lcom/oracle/truffle/api/frame/FrameSlot;)Ljava/util/NoSuchElementException; (6)
()Ljava/util/NoSuchElementException;
2: invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.frame.FrameDescriptor
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 3 1 slot Lcom/oracle/truffle/api/frame/FrameSlot;
MethodParameters:
Name Flags
slot
private com.oracle.truffle.js.snapshot.Recording$Inst dumpFrameDescriptor(com.oracle.truffle.api.frame.FrameDescriptor);
descriptor: (Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.frameDescriptorSet:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: aload 0
aload 1
invokedynamic apply()Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$12(Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/snapshot/Recording$Inst; (6)
(Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording.getOrPut:(Ljava/lang/Object;Ljava/util/function/Function;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 2 1 arg Lcom/oracle/truffle/api/frame/FrameDescriptor;
MethodParameters:
Name Flags
arg
private com.oracle.truffle.js.snapshot.Recording$Inst dumpFunctionData(com.oracle.truffle.js.runtime.builtins.JSFunctionData);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.functionDataSet:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: aload 0
aload 1
aload 0
invokedynamic apply(Lcom/oracle/truffle/js/snapshot/Recording;)Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$13(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/js/snapshot/Recording$Inst; (7)
(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording.getOrPut:(Ljava/lang/Object;Ljava/util/function/Function;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 2 1 arg Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
MethodParameters:
Name Flags
arg
private com.oracle.truffle.js.snapshot.Recording$Inst dumpBreakTarget(com.oracle.truffle.js.nodes.control.BreakTarget);
descriptor: (Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokedynamic apply()Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$14(Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/snapshot/Recording$Inst; (6)
(Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording.getOrPut:(Ljava/lang/Object;Ljava/util/function/Function;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 arg Lcom/oracle/truffle/js/nodes/control/BreakTarget;
MethodParameters:
Name Flags
arg
private com.oracle.truffle.js.snapshot.Recording$Inst dumpSource(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokedynamic apply()Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$15(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/js/snapshot/Recording$Inst; (6)
(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording.getOrPut:(Ljava/lang/Object;Ljava/util/function/Function;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 arg Lcom/oracle/truffle/api/source/Source;
MethodParameters:
Name Flags
arg
private com.oracle.truffle.js.snapshot.Recording$Inst dumpSourceSection(com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
aload 1
invokedynamic apply(Lcom/oracle/truffle/js/snapshot/Recording;Lcom/oracle/truffle/api/source/SourceSection;)Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$16(Lcom/oracle/truffle/api/source/SourceSection;Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/js/snapshot/Recording$Inst; (7)
(Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording.getOrPut:(Ljava/lang/Object;Ljava/util/function/Function;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 arg Lcom/oracle/truffle/api/source/SourceSection;
MethodParameters:
Name Flags
arg
private com.oracle.truffle.js.snapshot.Recording$Inst encode(, java.lang.Class<?>, java.lang.reflect.Type);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
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: aload 1
ifnull 1
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSPrimitive:(Ljava/lang/Object;)Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.Dead.instance:()Lcom/oracle/truffle/js/runtime/objects/Dead;
if_acmpne 3
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
aload 2
invokestatic com.oracle.truffle.js.snapshot.Recording.unboxedType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Class;
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpConst:(Ljava/lang/Object;Ljava/lang/Class;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 2: goto 40
end local 4 StackMap locals:
StackMap stack:
3: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isEnum:()Z
ifeq 6
4: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpConst:(Ljava/lang/Object;Ljava/lang/Class;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 5: goto 40
end local 4 StackMap locals:
StackMap stack:
6: aload 1
instanceof com.oracle.truffle.api.nodes.Node
ifeq 9
7: aload 0
aload 1
checkcast com.oracle.truffle.api.nodes.Node
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpNode:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 8: goto 40
end local 4 StackMap locals:
StackMap stack:
9: aload 1
instanceof com.oracle.truffle.js.runtime.JSContext
ifeq 12
10: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSContext
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpContext:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 11: goto 40
end local 4 StackMap locals:
StackMap stack:
12: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 15
13: aload 0
aload 0
aload 1
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 3
invokevirtual com.oracle.truffle.js.snapshot.Recording.encodeArray:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;)[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpCollectArray:([Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/lang/Class;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 14: goto 40
end local 4 StackMap locals:
StackMap stack:
15: aload 1
instanceof java.util.ArrayList
ifeq 18
16: aload 0
aload 0
aload 1
checkcast java.util.ArrayList
aload 3
invokevirtual com.oracle.truffle.js.snapshot.Recording.encodeList:(Ljava/util/ArrayList;Ljava/lang/reflect/Type;)Ljava/util/ArrayList;
aload 3
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpCollectList:(Ljava/util/List;Ljava/lang/reflect/Type;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 17: goto 40
end local 4 StackMap locals:
StackMap stack:
18: aload 1
instanceof com.oracle.truffle.api.CallTarget
ifeq 21
19: aload 0
aload 1
checkcast com.oracle.truffle.api.CallTarget
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpCallTarget:(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 20: goto 40
end local 4 StackMap locals:
StackMap stack:
21: aload 1
instanceof com.oracle.truffle.js.nodes.control.BreakTarget
ifeq 24
22: aload 0
aload 1
checkcast com.oracle.truffle.js.nodes.control.BreakTarget
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpBreakTarget:(Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 23: goto 40
end local 4 StackMap locals:
StackMap stack:
24: aload 1
instanceof com.oracle.truffle.api.frame.FrameDescriptor
ifeq 27
25: aload 0
aload 1
checkcast com.oracle.truffle.api.frame.FrameDescriptor
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpFrameDescriptor:(Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 26: goto 40
end local 4 StackMap locals:
StackMap stack:
27: aload 1
instanceof com.oracle.truffle.api.frame.FrameSlot
ifeq 30
28: aload 0
aload 1
checkcast com.oracle.truffle.api.frame.FrameSlot
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpFrameSlot:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 29: goto 40
end local 4 StackMap locals:
StackMap stack:
30: aload 1
instanceof com.oracle.truffle.js.runtime.builtins.JSFunctionData
ifeq 33
31: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.builtins.JSFunctionData
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpFunctionData:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 32: goto 40
end local 4 StackMap locals:
StackMap stack:
33: aload 1
instanceof com.oracle.truffle.api.source.SourceSection
ifeq 36
34: aload 0
aload 1
checkcast com.oracle.truffle.api.source.SourceSection
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 35: goto 40
end local 4 StackMap locals:
StackMap stack:
36: aload 1
instanceof com.oracle.truffle.js.parser.env.Environment
ifeq 39
37: aload 0
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpPlaceholder:(Ljava/lang/Object;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 38: goto 40
end local 4 39: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Unrecognized argument: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
start local 4 40: StackMap locals: com.oracle.truffle.js.snapshot.Recording$Inst
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.asVar:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 41 1 arg Ljava/lang/Object;
0 41 2 declaredType Ljava/lang/Class<*>;
0 41 3 genericType Ljava/lang/reflect/Type;
2 3 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
5 6 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
8 9 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
11 12 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
14 15 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
17 18 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
20 21 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
23 24 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
26 27 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
29 30 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
32 33 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
35 36 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
38 39 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
40 41 4 enc Lcom/oracle/truffle/js/snapshot/Recording$Inst;
Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;Ljava/lang/reflect/Type;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
MethodParameters:
Name Flags
arg
declaredType
genericType
private static java.lang.Class<?> unboxedType(, java.lang.Class<?>);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.Boolean
ifeq 2
1: getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Integer
ifeq 4
3: getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Double
ifeq 6
5: getstatic java.lang.Double.TYPE:Ljava/lang/Class;
areturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Long
ifeq 8
7: getstatic java.lang.Long.TYPE:Ljava/lang/Class;
areturn
8: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 arg Ljava/lang/Object;
0 9 1 declaredType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
arg
declaredType
public <T> T recordReturn(java.lang.reflect.Method, );
descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.callStack:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.pop:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$MethodCall
astore 3
start local 3 1: getstatic com.oracle.truffle.js.snapshot.Recording.$assertionsDisabled:Z
ifne 2
aload 3
getfield com.oracle.truffle.js.snapshot.Recording$MethodCall.method:Ljava/lang/reflect/Method;
aload 1
if_acmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.truffle.js.snapshot.Recording$MethodCall
StackMap stack:
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.table:Lcom/oracle/truffle/js/snapshot/Recording$VarIdTable;
aload 2
invokevirtual com.oracle.truffle.js.snapshot.Recording$VarIdTable.contains:(Ljava/lang/Object;)Z
ifne 8
3: aload 0
aload 3
getfield com.oracle.truffle.js.snapshot.Recording$MethodCall.args:[Ljava/lang/Object;
aload 1
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
aload 1
invokevirtual java.lang.reflect.Method.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
invokevirtual com.oracle.truffle.js.snapshot.Recording.encodeParameterArray:([Ljava/lang/Object;[Ljava/lang/Class;[Ljava/lang/reflect/Type;)[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 4
start local 4 4: new com.oracle.truffle.js.snapshot.Recording$NodeInst
dup
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.table:Lcom/oracle/truffle/js/snapshot/Recording$VarIdTable;
aload 2
invokevirtual com.oracle.truffle.js.snapshot.Recording$VarIdTable.put:(Ljava/lang/Object;)I
aload 1
aload 4
aload 2
invokespecial com.oracle.truffle.js.snapshot.Recording$NodeInst.<init>:(ILjava/lang/reflect/Method;[Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/lang/Object;)V
astore 5
start local 5 5: aload 0
aload 5
invokevirtual com.oracle.truffle.js.snapshot.Recording.append:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
6: aload 0
aload 5
aload 2
invokevirtual com.oracle.truffle.js.snapshot.Recording.addNodeFixUps:(Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;Ljava/lang/Object;)V
end local 5 end local 4 7: goto 9
8: StackMap locals:
StackMap stack:
ldc "noop: %s => %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
aload 2
invokevirtual com.oracle.truffle.js.snapshot.Recording.getInst:(Ljava/lang/Object;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
aastore
invokestatic com.oracle.truffle.js.snapshot.Recording.logv:(Ljava/lang/String;[Ljava/lang/Object;)V
9: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 10 1 method Ljava/lang/reflect/Method;
0 10 2 result TT;
1 10 3 methodCall Lcom/oracle/truffle/js/snapshot/Recording$MethodCall;
4 7 4 encoded [Lcom/oracle/truffle/js/snapshot/Recording$Inst;
5 7 5 nodeInst Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/reflect/Method;TT;)TT;
MethodParameters:
Name Flags
method
result
private void append(com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.defs:Ljava/util/Map;
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.inVar:()Z
ifeq 3
2: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 4 1 inst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
MethodParameters:
Name Flags
inst
private void addNodeFixUps(com.oracle.truffle.js.snapshot.Recording$NodeInst, java.lang.Object);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof com.oracle.truffle.js.runtime.builtins.JSFunctionData
ifeq 5
1: aload 2
checkcast com.oracle.truffle.js.runtime.builtins.JSFunctionData
astore 3
start local 3 2: aload 3
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getName:()Ljava/lang/String;
astore 4
start local 4 3: aload 0
aload 0
aload 3
aload 4
aload 1
invokedynamic apply(Lcom/oracle/truffle/js/snapshot/Recording;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Ljava/lang/String;Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;)Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$17(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Ljava/lang/String;Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;Ljava/lang/Boolean;)Ljava/lang/Boolean; (7)
(Ljava/lang/Boolean;)Ljava/lang/Boolean;
invokevirtual com.oracle.truffle.js.snapshot.Recording.addFixUp:(Ljava/util/function/Function;)V
end local 4 end local 3 4: goto 7
StackMap locals:
StackMap stack:
5: aload 2
instanceof com.oracle.truffle.api.frame.FrameDescriptor
ifeq 7
6: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.frameDescriptorSet:Ljava/util/Set;
aload 2
checkcast com.oracle.truffle.api.frame.FrameDescriptor
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals:
StackMap stack:
aload 2
instanceof com.oracle.truffle.js.nodes.JavaScriptNode
ifeq 11
8: aload 2
checkcast com.oracle.truffle.js.nodes.JavaScriptNode
astore 3
start local 3 9: aload 0
aload 0
aload 3
aload 1
invokedynamic apply(Lcom/oracle/truffle/js/snapshot/Recording;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;)Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$18(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;Ljava/lang/Boolean;)Ljava/lang/Boolean; (7)
(Ljava/lang/Boolean;)Ljava/lang/Boolean;
invokevirtual com.oracle.truffle.js.snapshot.Recording.addFixUp:(Ljava/util/function/Function;)V
10: aload 0
new com.oracle.truffle.js.snapshot.Recording$1
dup
aload 0
aload 3
aload 1
invokespecial com.oracle.truffle.js.snapshot.Recording$1.<init>:(Lcom/oracle/truffle/js/snapshot/Recording;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;)V
invokevirtual com.oracle.truffle.js.snapshot.Recording.addFixUp:(Ljava/util/function/Function;)V
end local 3 11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 12 1 nodeInst Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;
0 12 2 result Ljava/lang/Object;
2 4 3 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
3 4 4 originalName Ljava/lang/String;
9 11 3 jsnode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
nodeInst
result
private void addFixUp(java.util.function.Function<java.lang.Boolean, java.lang.Boolean>);
descriptor: (Ljava/util/function/Function;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.earlyFixups:Ljava/util/ArrayDeque;
aload 1
invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 2 1 fixup Ljava/util/function/Function<Ljava/lang/Boolean;Ljava/lang/Boolean;>;
Signature: (Ljava/util/function/Function<Ljava/lang/Boolean;Ljava/lang/Boolean;>;)V
MethodParameters:
Name Flags
fixup
private void processFixUps(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifeq 1
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.earlyFixups:Ljava/util/ArrayDeque;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.lateFixups:Ljava/util/ArrayDeque;
StackMap locals:
StackMap stack: java.util.ArrayDeque
2: astore 2
start local 2 3: aload 2
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifne 5
4: aload 2
iload 1
invokedynamic test(Z)Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$19(ZLjava/util/function/Function;)Z (6)
(Ljava/util/function/Function;)Z
invokevirtual java.util.ArrayDeque.removeIf:(Ljava/util/function/Predicate;)Z
pop
5: StackMap locals: java.util.ArrayDeque
StackMap stack:
iload 1
ifeq 9
6: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.lateFixups:Ljava/util/ArrayDeque;
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.earlyFixups:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.addAll:(Ljava/util/Collection;)Z
pop
7: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.earlyFixups:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.clear:()V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.lateFixups:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.clear:()V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 11 1 earlyFixup Z
3 11 2 fixups Ljava/util/ArrayDeque<Ljava/util/function/Function<Ljava/lang/Boolean;Ljava/lang/Boolean;>;>;
MethodParameters:
Name Flags
earlyFixup
private void dce();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 2
start local 2 2: goto 7
3: StackMap locals: java.util.BitSet int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
astore 3
start local 3 4: aload 3
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.isRoot:()Z
ifeq 6
5: aload 3
aload 1
invokestatic com.oracle.truffle.js.snapshot.Recording.reachableSet:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;)V
end local 3 6: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
7: iload 2
ifge 3
end local 2 8: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
aload 1
invokedynamic test(Ljava/util/BitSet;)Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$21(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
invokevirtual java.util.ArrayList.removeIf:(Ljava/util/function/Predicate;)Z
pop
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/js/snapshot/Recording;
1 10 1 visited Ljava/util/BitSet;
2 8 2 i I
4 6 3 root Lcom/oracle/truffle/js/snapshot/Recording$Inst;
public void finish(com.oracle.truffle.api.nodes.RootNode);
descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
invokevirtual com.oracle.truffle.js.snapshot.Recording.processFixUps:(Z)V
1: aload 0
new com.oracle.truffle.js.snapshot.Recording$ReturnInst
dup
aload 0
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording.getInst:(Ljava/lang/Object;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.asVar:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokespecial com.oracle.truffle.js.snapshot.Recording$ReturnInst.<init>:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
invokevirtual com.oracle.truffle.js.snapshot.Recording.append:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
2: aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording.dce:()V
3: aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording.buildBatches:()V
4: aload 0
aload 1
invokevirtual com.oracle.truffle.api.nodes.RootNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
putfield com.oracle.truffle.js.snapshot.Recording.source:Lcom/oracle/truffle/api/source/Source;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 6 1 rootNode Lcom/oracle/truffle/api/nodes/RootNode;
MethodParameters:
Name Flags
rootNode
private void buildUsageMap();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
aload 0
invokedynamic accept(Lcom/oracle/truffle/js/snapshot/Recording;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/snapshot/Recording.lambda$22(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V (7)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
invokevirtual java.util.ArrayList.forEach:(Ljava/util/function/Consumer;)V
1: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: com.oracle.truffle.js.snapshot.Recording top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
astore 1
start local 1 3: aload 1
aload 0
aload 1
invokedynamic accept(Lcom/oracle/truffle/js/snapshot/Recording;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/snapshot/Recording.lambda$23(Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V (7)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.forEachInput:(Ljava/util/function/Consumer;)V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/snapshot/Recording;
3 4 1 inst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private void assignIndices();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
iload 1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
iload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.setIndex:(I)V
3: iinc 1 1
StackMap locals:
StackMap stack:
4: iload 1
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 2
end local 1 5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/snapshot/Recording;
1 5 1 i I
private void buildBatches();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=18, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording.buildUsageMap:()V
1: aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording.assignIndices:()V
2: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 1
start local 1 3: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
astore 2
start local 2 4: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 3
start local 3 5: aload 3
new com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem
dup
aload 0
aload 2
invokespecial com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem.<init>:(Lcom/oracle/truffle/js/snapshot/Recording;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
6: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 7: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 5
start local 5 8: iconst_0
istore 6
start local 6 9: goto 38
10: StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map com.oracle.truffle.js.snapshot.Recording$Inst java.util.Deque java.util.Set java.util.Map int
StackMap stack:
aload 3
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem
astore 7
start local 7 11: aload 7
getfield com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem.startInst:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 8
start local 8 12: aload 7
getfield com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem.outerExtractedSet:Ljava/util/BitSet;
astore 9
start local 9 13: aload 4
aload 8
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifne 15
14: goto 38
15: StackMap locals: com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem com.oracle.truffle.js.snapshot.Recording$Inst java.util.BitSet
StackMap stack:
ldc "starting batch '%s' at: %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 8
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 8
aastore
invokestatic com.oracle.truffle.js.snapshot.Recording.logv:(Ljava/lang/String;[Ljava/lang/Object;)V
16: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 17: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 11
start local 11 18: aload 8
aload 11
aload 8
aload 9
invokedynamic visitInst(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;)Lcom/oracle/truffle/js/snapshot/Recording$Inst$Visitor;
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:
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$24(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.accept:(Lcom/oracle/truffle/js/snapshot/Recording$Inst$Visitor;)V
19: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 13
start local 13 20: aload 13
aload 8
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getIndex:()I
invokevirtual java.util.BitSet.set:(I)V
21: aload 13
aload 11
invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
22: aload 13
aload 8
invokestatic com.oracle.truffle.js.snapshot.Recording.addInputsToSet:(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
23: aload 0
aload 13
aload 8
aload 9
invokevirtual com.oracle.truffle.js.snapshot.Recording.addFixUpsToSet:(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;)V
24: aload 0
aload 13
aload 8
aload 9
invokedynamic getAsBoolean(Lcom/oracle/truffle/js/snapshot/Recording;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;)Ljava/util/function/BooleanSupplier;
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:
()Z
com/oracle/truffle/js/snapshot/Recording.lambda$27(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;)Z (7)
()Z
invokestatic com.oracle.truffle.js.snapshot.Recording.fixpoint:(Ljava/util/function/BooleanSupplier;)V
25: aload 13
invokevirtual java.util.BitSet.stream:()Ljava/util/stream/IntStream;
aload 0
aload 9
aload 8
aload 10
invokedynamic accept(Lcom/oracle/truffle/js/snapshot/Recording;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/List;)Ljava/util/function/IntConsumer;
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)V
com/oracle/truffle/js/snapshot/Recording.lambda$32(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/List;I)V (7)
(I)V
invokeinterface java.util.stream.IntStream.forEach:(Ljava/util/function/IntConsumer;)V
26: aload 13
invokevirtual java.util.BitSet.stream:()Ljava/util/stream/IntStream;
aload 9
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic test(Ljava/util/BitSet;)Ljava/util/function/IntPredicate;
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)Z
java/util/BitSet.get(I)Z (5)
(I)Z
invokeinterface java.util.stream.IntStream.filter:(Ljava/util/function/IntPredicate;)Ljava/util/stream/IntStream;
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Ljava/util/ArrayList;)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;
java/util/ArrayList.get(I)Ljava/lang/Object; (5)
(I)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokeinterface java.util.stream.IntStream.mapToObj:(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$35(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$36(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
aload 13
invokedynamic accept(Ljava/util/BitSet;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/snapshot/Recording.lambda$37(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
27: aload 10
aload 0
aload 13
aload 7
aload 5
invokedynamic accept(Lcom/oracle/truffle/js/snapshot/Recording;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$1BatchWorkItem;Ljava/util/Map;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/snapshot/Recording.lambda$38(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$1BatchWorkItem;Ljava/util/Map;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V (7)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
28: aload 13
invokevirtual java.util.BitSet.stream:()Ljava/util/stream/IntStream;
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Ljava/util/ArrayList;)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;
java/util/ArrayList.get(I)Ljava/lang/Object; (5)
(I)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokeinterface java.util.stream.IntStream.mapToObj:(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream;
aload 13
invokedynamic test(Ljava/util/BitSet;)Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$41(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
29: aload 0
aload 3
aload 9
aload 13
aload 7
invokedynamic accept(Lcom/oracle/truffle/js/snapshot/Recording;Ljava/util/Deque;Ljava/util/BitSet;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$1BatchWorkItem;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/snapshot/Recording.lambda$42(Ljava/util/Deque;Ljava/util/BitSet;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$1BatchWorkItem;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V (7)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
30: invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
31: aload 1
aload 8
aload 13
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
32: aload 8
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getName:()Ljava/lang/String;
astore 17
start local 17 33: aload 17
invokevirtual java.lang.String.isEmpty:()Z
ifeq 34
ldc ""
goto 35
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map com.oracle.truffle.js.snapshot.Recording$Inst java.util.Deque java.util.Set java.util.Map int com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem com.oracle.truffle.js.snapshot.Recording$Inst java.util.BitSet java.util.List java.util.BitSet top java.util.BitSet top top top java.lang.String
StackMap stack:
34: new java.lang.StringBuilder
dup
ldc "_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 17
invokestatic com.oracle.truffle.js.snapshot.Recording.mangleName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
35: astore 17
36: aload 5
aload 8
new com.oracle.truffle.js.snapshot.Recording$1CallInfo
dup
aload 0
new java.lang.StringBuilder
dup
ldc "function"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
iinc 6 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
aload 17
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 10
ldc Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
invokespecial com.oracle.truffle.js.snapshot.Recording$1CallInfo.<init>:(Lcom/oracle/truffle/js/snapshot/Recording;Ljava/lang/String;Ljava/util/List;Ljava/lang/Class;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
37: aload 7
aload 13
putfield com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem.extractedSet:Ljava/util/BitSet;
end local 17 end local 13 end local 11 end local 10 end local 9 end local 8 end local 7 38: StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map com.oracle.truffle.js.snapshot.Recording$Inst java.util.Deque java.util.Set java.util.Map int
StackMap stack:
aload 3
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 10
39: ldc "XXX found %d batches"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokeinterface java.util.Map.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic com.oracle.truffle.js.snapshot.Recording.logv:(Ljava/lang/String;[Ljava/lang/Object;)V
40: aload 5
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokedynamic accept()Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/snapshot/Recording.lambda$43(Lcom/oracle/truffle/js/snapshot/Recording$1CallInfo;)V (6)
(Lcom/oracle/truffle/js/snapshot/Recording$1CallInfo;)V
invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
41: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 59
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map com.oracle.truffle.js.snapshot.Recording$Inst java.util.Deque java.util.Set java.util.Map int top java.util.Iterator
StackMap stack:
42: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 43: aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
astore 9
start local 9 44: aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.BitSet
astore 10
start local 10 45: aload 10
invokevirtual java.util.BitSet.stream:()Ljava/util/stream/IntStream;
aload 0
aload 9
aload 5
invokedynamic apply(Lcom/oracle/truffle/js/snapshot/Recording;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/Map;)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.lambda$45(Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/Map;I)Lcom/oracle/truffle/js/snapshot/Recording$Inst; (7)
(I)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokeinterface java.util.stream.IntStream.mapToObj:(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream;
46: invokedynamic get()Ljava/util/function/Supplier;
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:
()Ljava/lang/Object;
java/util/ArrayList.<init>()V (8)
()Ljava/util/ArrayList;
invokestatic java.util.stream.Collectors.toCollection:(Ljava/util/function/Supplier;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
47: astore 11
start local 11 48: aload 9
instanceof com.oracle.truffle.js.snapshot.Recording$ReturnInst
ifne 50
49: aload 11
new com.oracle.truffle.js.snapshot.Recording$ReturnInst
dup
aload 9
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.asVar:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokespecial com.oracle.truffle.js.snapshot.Recording$ReturnInst.<init>:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
50: StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map com.oracle.truffle.js.snapshot.Recording$Inst java.util.Deque java.util.Set java.util.Map int java.util.Map$Entry java.util.Iterator com.oracle.truffle.js.snapshot.Recording$Inst java.util.BitSet java.util.List
StackMap stack:
aload 5
aload 9
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$1CallInfo
astore 12
start local 12 51: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.instBatches:Ljava/util/List;
52: new com.oracle.truffle.js.snapshot.Recording$InstBatch
dup
aload 11
aload 9
instanceof com.oracle.truffle.js.snapshot.Recording$ReturnInst
ifeq 53
ldc "apply"
goto 54
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map com.oracle.truffle.js.snapshot.Recording$Inst java.util.Deque java.util.Set java.util.Map int java.util.Map$Entry java.util.Iterator com.oracle.truffle.js.snapshot.Recording$Inst java.util.BitSet java.util.List com.oracle.truffle.js.snapshot.Recording$1CallInfo
StackMap stack: java.util.List new 52 new 52 java.util.List
53: aload 12
getfield com.oracle.truffle.js.snapshot.Recording$1CallInfo.name:Ljava/lang/String;
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map com.oracle.truffle.js.snapshot.Recording$Inst java.util.Deque java.util.Set java.util.Map int java.util.Map$Entry java.util.Iterator com.oracle.truffle.js.snapshot.Recording$Inst java.util.BitSet java.util.List com.oracle.truffle.js.snapshot.Recording$1CallInfo
StackMap stack: java.util.List new 52 new 52 java.util.List java.lang.String
54: aload 12
getfield com.oracle.truffle.js.snapshot.Recording$1CallInfo.args:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording$ParamInst.<init>(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V (8)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Lcom/oracle/truffle/js/snapshot/Recording$ParamInst;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
55: aload 9
instanceof com.oracle.truffle.js.snapshot.Recording$ReturnInst
ifeq 56
ldc Ljava/lang/Object;
goto 57
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map com.oracle.truffle.js.snapshot.Recording$Inst java.util.Deque java.util.Set java.util.Map int java.util.Map$Entry java.util.Iterator com.oracle.truffle.js.snapshot.Recording$Inst java.util.BitSet java.util.List com.oracle.truffle.js.snapshot.Recording$1CallInfo
StackMap stack: java.util.List new 52 new 52 java.util.List java.lang.String java.util.List
56: aload 12
getfield com.oracle.truffle.js.snapshot.Recording$1CallInfo.returnType:Ljava/lang/Class;
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map com.oracle.truffle.js.snapshot.Recording$Inst java.util.Deque java.util.Set java.util.Map int java.util.Map$Entry java.util.Iterator com.oracle.truffle.js.snapshot.Recording$Inst java.util.BitSet java.util.List com.oracle.truffle.js.snapshot.Recording$1CallInfo
StackMap stack: java.util.List new 52 new 52 java.util.List java.lang.String java.util.List java.lang.Class
57: invokespecial com.oracle.truffle.js.snapshot.Recording$InstBatch.<init>:(Ljava/util/List;Ljava/lang/String;Ljava/util/List;Ljava/lang/Class;)V
58: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 12 end local 11 end local 10 end local 9 end local 7 59: StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map com.oracle.truffle.js.snapshot.Recording$Inst java.util.Deque java.util.Set java.util.Map int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 42
60: return
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 61 0 this Lcom/oracle/truffle/js/snapshot/Recording;
3 61 1 batches Ljava/util/Map<Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;>;
4 61 2 returnInst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
5 61 3 worklist Ljava/util/Deque<Lcom/oracle/truffle/js/snapshot/Recording$1BatchWorkItem;>;
7 61 4 startInstsVisited Ljava/util/Set<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
8 61 5 extractedMethodMap Ljava/util/Map<Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$1CallInfo;>;
9 61 6 count I
11 38 7 batchBoundary Lcom/oracle/truffle/js/snapshot/Recording$1BatchWorkItem;
12 38 8 startInst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
13 38 9 outerExtractedSet Ljava/util/BitSet;
17 38 10 boundaryValues Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
18 38 11 visited Ljava/util/BitSet;
20 38 13 usageSet Ljava/util/BitSet;
33 38 17 nameSuffix Ljava/lang/String;
43 59 7 batch Ljava/util/Map$Entry<Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;>;
44 59 9 ret Lcom/oracle/truffle/js/snapshot/Recording$Inst;
45 59 10 extractedSet Ljava/util/BitSet;
48 59 11 batchInsts Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
51 59 12 callInfo Lcom/oracle/truffle/js/snapshot/Recording$1CallInfo;
private com.oracle.truffle.js.snapshot.Recording$Inst deref(com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.defs:Ljava/util/Map;
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 var Lcom/oracle/truffle/js/snapshot/Recording$Inst;
MethodParameters:
Name Flags
var
private static java.lang.String mangleName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "[^A-Za-z0-9_]"
ldc "_"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 nameSuffix Ljava/lang/String;
MethodParameters:
Name Flags
nameSuffix
private static java.util.BitSet mergeBitSets(java.util.BitSet, java.util.BitSet);
descriptor: (Ljava/util/BitSet;Ljava/util/BitSet;)Ljava/util/BitSet;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.util.BitSet
dup
aload 0
invokevirtual java.util.BitSet.length:()I
aload 1
invokevirtual java.util.BitSet.length:()I
invokestatic java.lang.Math.max:(II)I
invokespecial java.util.BitSet.<init>:(I)V
astore 2
start local 2 1: aload 2
aload 0
invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
2: aload 2
aload 1
invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 first Ljava/util/BitSet;
0 4 1 second Ljava/util/BitSet;
1 4 2 merged Ljava/util/BitSet;
MethodParameters:
Name Flags
first
second
private static boolean isContained(com.oracle.truffle.js.snapshot.Recording$Inst, java.util.BitSet);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_1
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokedynamic accept(Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/BitSet;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/snapshot/Recording.lambda$49(Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.forEachInput:(Ljava/util/function/Consumer;)V
2: aload 2
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 in Lcom/oracle/truffle/js/snapshot/Recording$Inst;
0 3 1 usageSet Ljava/util/BitSet;
1 3 2 result Ljava/util/concurrent/atomic/AtomicBoolean;
MethodParameters:
Name Flags
in
usageSet
private void duplicateCheck(java.util.Map<com.oracle.truffle.js.snapshot.Recording$Inst, java.util.BitSet>);
descriptor: (Ljava/util/Map;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 16
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 2: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.BitSet
astore 4
start local 4 3: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 5
start local 5 4: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 10
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map java.util.Map$Entry java.util.Iterator java.util.BitSet java.util.BitSet top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 6: aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.BitSet
astore 8
start local 8 7: aload 4
aload 8
if_acmpne 9
8: goto 10
9: StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map java.util.Map$Entry java.util.Iterator java.util.BitSet java.util.BitSet java.util.Map$Entry java.util.Iterator java.util.BitSet
StackMap stack:
aload 5
aload 8
invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
end local 8 end local 6 10: StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map java.util.Map$Entry java.util.Iterator java.util.BitSet java.util.BitSet top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
11: aload 4
aload 5
invokevirtual java.util.BitSet.intersects:(Ljava/util/BitSet;)Z
ifeq 16
12: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 6
start local 6 13: aload 6
aload 4
invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
14: aload 6
aload 5
invokevirtual java.util.BitSet.and:(Ljava/util/BitSet;)V
15: aload 6
invokevirtual java.util.BitSet.stream:()Ljava/util/stream/IntStream;
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Ljava/util/ArrayList;)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;
java/util/ArrayList.get(I)Ljava/lang/Object; (5)
(I)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokeinterface java.util.stream.IntStream.mapToObj:(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream;
aload 1
invokedynamic test(Ljava/util/Map;)Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$51(Ljava/util/Map;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$52(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokedynamic accept()Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/snapshot/Recording.lambda$53(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
invokeinterface java.util.stream.Stream.forEachOrdered:(Ljava/util/function/Consumer;)V
end local 6 end local 5 end local 4 end local 2 16: StackMap locals: com.oracle.truffle.js.snapshot.Recording java.util.Map top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
17: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 18 1 batches Ljava/util/Map<Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;>;
2 16 2 batch1 Ljava/util/Map$Entry<Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;>;
3 16 4 extractedSet1 Ljava/util/BitSet;
4 16 5 others Ljava/util/BitSet;
6 10 6 batch2 Ljava/util/Map$Entry<Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;>;
7 10 8 extractedSet2 Ljava/util/BitSet;
13 16 6 intersection Ljava/util/BitSet;
Signature: (Ljava/util/Map<Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;>;)V
MethodParameters:
Name Flags
batches
private static void fixpoint(java.util.function.BooleanSupplier);
descriptor: (Ljava/util/function/BooleanSupplier;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.util.function.BooleanSupplier.getAsBoolean:()Z
ifne 0
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 run Ljava/util/function/BooleanSupplier;
MethodParameters:
Name Flags
run
private void addInputsToSet(java.util.BitSet);
descriptor: (Ljava/util/BitSet;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.BitSet.stream:()Ljava/util/stream/IntStream;
aload 0
aload 1
invokedynamic accept(Lcom/oracle/truffle/js/snapshot/Recording;Ljava/util/BitSet;)Ljava/util/function/IntConsumer;
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)V
com/oracle/truffle/js/snapshot/Recording.lambda$54(Ljava/util/BitSet;I)V (7)
(I)V
invokeinterface java.util.stream.IntStream.forEach:(Ljava/util/function/IntConsumer;)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;
0 2 1 usageSet Ljava/util/BitSet;
MethodParameters:
Name Flags
usageSet
private static void addInputsToSet(java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokedynamic accept(Ljava/util/BitSet;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/snapshot/Recording.lambda$55(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.forEachInput:(Ljava/util/function/Consumer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 usageSet Ljava/util/BitSet;
0 2 1 inst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
MethodParameters:
Name Flags
usageSet
inst
private static boolean isBatchBoundary(com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getDeclaredType:()Ljava/lang/Class;
ldc Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 inst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
MethodParameters:
Name Flags
inst
private void addFixUpsToSet(java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst, java.util.BitSet);
descriptor: (Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.util.BitSet.stream:()Ljava/util/stream/IntStream;
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Ljava/util/ArrayList;)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;
java/util/ArrayList.get(I)Ljava/lang/Object; (5)
(I)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokeinterface java.util.stream.IntStream.mapToObj:(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream;
aload 0
aload 2
aload 1
aload 3
invokedynamic accept(Lcom/oracle/truffle/js/snapshot/Recording;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;Ljava/util/BitSet;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/snapshot/Recording.lambda$57(Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V (7)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
1: return
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/snapshot/Recording;
0 2 1 usageSet Ljava/util/BitSet;
0 2 2 startInst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
0 2 3 outerExtractedSet Ljava/util/BitSet;
MethodParameters:
Name Flags
usageSet
startInst
outerExtractedSet
private static void reachableSet(com.oracle.truffle.js.snapshot.Recording$Inst, java.util.BitSet);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokedynamic visitInst(Ljava/util/BitSet;)Lcom/oracle/truffle/js/snapshot/Recording$Inst$Visitor;
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:
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$62(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.accept:(Lcom/oracle/truffle/js/snapshot/Recording$Inst$Visitor;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 root Lcom/oracle/truffle/js/snapshot/Recording$Inst;
0 2 1 reachable Ljava/util/BitSet;
MethodParameters:
Name Flags
root
reachable
public static com.oracle.truffle.js.snapshot.Recording recordSource(com.oracle.truffle.api.source.Source, com.oracle.truffle.js.runtime.JSContext, boolean, java.lang.String, java.lang.String);
descriptor: (Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSContext;ZLjava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/js/snapshot/Recording;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new com.oracle.truffle.js.snapshot.Recording
dup
invokespecial com.oracle.truffle.js.snapshot.Recording.<init>:()V
astore 5
start local 5 1: aload 5
aload 1
invokestatic com.oracle.truffle.js.nodes.NodeFactory.getInstance:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
invokestatic com.oracle.truffle.js.snapshot.RecordingProxy.createRecordingNodeFactory:(Lcom/oracle/truffle/js/snapshot/Recording;Lcom/oracle/truffle/js/nodes/NodeFactory;)Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
aload 0
iload 2
aload 3
aload 4
invokestatic com.oracle.truffle.js.parser.JavaScriptTranslator.translateScript:(Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;ZLjava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/ScriptNode;
astore 6
start local 6 2: aload 5
aload 6
invokevirtual com.oracle.truffle.js.nodes.ScriptNode.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
invokevirtual com.oracle.truffle.js.snapshot.Recording.finish:(Lcom/oracle/truffle/api/nodes/RootNode;)V
3: aload 5
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 4 0 source Lcom/oracle/truffle/api/source/Source;
0 4 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 4 2 strict Z
0 4 3 prefix Ljava/lang/String;
0 4 4 suffix Ljava/lang/String;
1 4 5 rec Lcom/oracle/truffle/js/snapshot/Recording;
2 4 6 program Lcom/oracle/truffle/js/nodes/ScriptNode;
MethodParameters:
Name Flags
source
context
strict
prefix
suffix
public void saveToStream(java.lang.String, java.io.OutputStream, boolean);
descriptor: (Ljava/lang/String;Ljava/io/OutputStream;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "dumping %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic com.oracle.truffle.js.snapshot.Recording.logv:(Ljava/lang/String;[Ljava/lang/Object;)V
1: iload 3
ifeq 4
2: aload 0
aload 2
invokevirtual com.oracle.truffle.js.snapshot.Recording.saveAsBinary:(Ljava/io/OutputStream;)Ljava/nio/ByteBuffer;
pop
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.snapshot.Recording.saveAsJava:(Ljava/lang/String;Ljava/io/OutputStream;)V
5: StackMap locals:
StackMap stack:
return
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/snapshot/Recording;
0 6 1 fileName Ljava/lang/String;
0 6 2 outs Ljava/io/OutputStream;
0 6 3 binary Z
MethodParameters:
Name Flags
fileName
outs
binary
private java.nio.ByteBuffer saveAsBinary(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.codec.BinaryEncoder
dup
invokespecial com.oracle.truffle.js.codec.BinaryEncoder.<init>:()V
astore 2
start local 2 1: new com.oracle.truffle.js.snapshot.JSNodeEncoder
dup
aload 2
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.source:Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokespecial com.oracle.truffle.js.snapshot.JSNodeEncoder.<init>:(Lcom/oracle/truffle/js/codec/BinaryEncoder;Ljava/lang/CharSequence;)V
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.instBatches:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 8
3: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.instBatches:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.io.OutputStream com.oracle.truffle.js.codec.BinaryEncoder com.oracle.truffle.js.snapshot.JSNodeEncoder top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$InstBatch
astore 4
start local 4 5: aload 3
aload 4
getfield com.oracle.truffle.js.snapshot.Recording$InstBatch.name:Ljava/lang/String;
aload 4
getfield com.oracle.truffle.js.snapshot.Recording$InstBatch.insts:Ljava/util/List;
aload 4
getfield com.oracle.truffle.js.snapshot.Recording$InstBatch.inputs:Ljava/util/List;
invokestatic com.oracle.truffle.js.snapshot.Recording.encodeMethod:(Lcom/oracle/truffle/js/snapshot/JSNodeEncoder;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: goto 9
8: StackMap locals: com.oracle.truffle.js.snapshot.Recording java.io.OutputStream com.oracle.truffle.js.codec.BinaryEncoder com.oracle.truffle.js.snapshot.JSNodeEncoder
StackMap stack:
aload 3
ldc "apply"
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokestatic com.oracle.truffle.js.snapshot.Recording.encodeMethod:(Lcom/oracle/truffle/js/snapshot/JSNodeEncoder;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
9: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual com.oracle.truffle.js.codec.BinaryEncoder.getBuffer:()Ljava/nio/ByteBuffer;
invokestatic com.oracle.truffle.js.snapshot.Recording.byteBufferToByteArray:(Ljava/nio/ByteBuffer;)[B
invokevirtual java.io.OutputStream.write:([B)V
10: goto 13
StackMap locals:
StackMap stack: java.io.IOException
11: astore 4
start local 4 12: new java.io.UncheckedIOException
dup
aload 4
invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
athrow
end local 4 13: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.truffle.js.codec.BinaryEncoder.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual com.oracle.truffle.js.snapshot.Recording.testDecode:(Ljava/nio/ByteBuffer;)V
14: aload 2
invokevirtual com.oracle.truffle.js.codec.BinaryEncoder.getBuffer:()Ljava/nio/ByteBuffer;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 15 1 outs Ljava/io/OutputStream;
1 15 2 sink Lcom/oracle/truffle/js/codec/BinaryEncoder;
2 15 3 encoder Lcom/oracle/truffle/js/snapshot/JSNodeEncoder;
5 6 4 instBatch Lcom/oracle/truffle/js/snapshot/Recording$InstBatch;
12 13 4 e Ljava/io/IOException;
Exception table:
from to target type
9 10 11 Class java.io.IOException
MethodParameters:
Name Flags
outs
private static byte[] byteBufferToByteArray(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
newarray 8
astore 1
start local 1 1: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 buffer Ljava/nio/ByteBuffer;
1 3 1 bytes [B
MethodParameters:
Name Flags
buffer
private void saveAsJava(java.lang.String, java.io.OutputStream);
descriptor: (Ljava/lang/String;Ljava/io/OutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 3
start local 3 1: aload 1
iconst_0
iload 3
iflt 2
iload 3
goto 3
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.lang.String java.io.OutputStream int
StackMap stack: java.lang.String int
2: aload 1
invokevirtual java.lang.String.length:()I
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.lang.String java.io.OutputStream int
StackMap stack: java.lang.String int int
3: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic com.oracle.truffle.js.snapshot.Recording.mangleFileName:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 4: ldc ""
astore 5
start local 5 5: aconst_null
astore 6
aconst_null
astore 7
6: new java.io.PrintStream
dup
aload 2
iconst_0
ldc "UTF-8"
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;ZLjava/lang/String;)V
astore 8
start local 8 7: aload 0
aload 1
aload 5
aload 4
aload 8
invokevirtual com.oracle.truffle.js.snapshot.Recording.saveAsJavaImpl:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
8: aload 8
ifnull 16
aload 8
invokevirtual java.io.PrintStream.close:()V
goto 16
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.lang.String java.io.OutputStream int java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable java.io.PrintStream
StackMap stack: java.lang.Throwable
9: astore 6
aload 8
ifnull 10
aload 8
invokevirtual java.io.PrintStream.close:()V
end local 8 StackMap locals:
StackMap stack:
10: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 7
aload 6
ifnonnull 12
aload 7
astore 6
goto 13
StackMap locals:
StackMap stack:
12: aload 6
aload 7
if_acmpeq 13
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
13: aload 6
athrow
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.lang.String java.io.OutputStream int java.lang.String java.lang.String
StackMap stack: java.io.UnsupportedEncodingException
14: astore 6
start local 6 15: new java.io.UncheckedIOException
dup
aload 6
invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
athrow
end local 6 16: StackMap locals:
StackMap stack:
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 17 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 17 1 fileName Ljava/lang/String;
0 17 2 outs Ljava/io/OutputStream;
1 17 3 extSep I
4 17 4 unqualifiedClassName Ljava/lang/String;
5 17 5 packageName Ljava/lang/String;
7 10 8 out Ljava/io/PrintStream;
15 16 6 e Ljava/io/UnsupportedEncodingException;
Exception table:
from to target type
7 8 9 any
6 11 11 any
5 14 14 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
fileName
outs
private void saveAsJavaImpl(java.lang.String, java.lang.String, java.lang.String, java.io.PrintStream);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
ldc "// Checkstyle: stop"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: aload 4
new java.lang.StringBuilder
dup
ldc "// Autogenerated from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifne 4
3: aload 4
new java.lang.StringBuilder
dup
ldc "package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.io.PrintStream.println:()V
5: aload 4
ldc "@SuppressWarnings(\"all\")"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: aload 4
new java.lang.StringBuilder
dup
ldc "public class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " implements "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lcom/oracle/truffle/js/parser/SnapshotProvider;
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 " {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.instBatches:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 13
8: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.instBatches:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 11
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.lang.String java.lang.String java.lang.String java.io.PrintStream top java.util.Iterator
StackMap stack:
9: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$InstBatch
astore 5
start local 5 10: aload 4
aload 5
getfield com.oracle.truffle.js.snapshot.Recording$InstBatch.name:Ljava/lang/String;
aload 5
getfield com.oracle.truffle.js.snapshot.Recording$InstBatch.outputType:Ljava/lang/Class;
aload 5
getfield com.oracle.truffle.js.snapshot.Recording$InstBatch.insts:Ljava/util/List;
aload 5
getfield com.oracle.truffle.js.snapshot.Recording$InstBatch.inputs:Ljava/util/List;
invokestatic com.oracle.truffle.js.snapshot.Recording.printMethod:(Ljava/io/PrintStream;Ljava/lang/String;Ljava/lang/Class;Ljava/util/List;Ljava/util/List;)V
end local 5 11: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: goto 14
13: StackMap locals: com.oracle.truffle.js.snapshot.Recording java.lang.String java.lang.String java.lang.String java.io.PrintStream
StackMap stack:
aload 4
ldc "apply"
ldc Ljava/lang/Object;
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokestatic com.oracle.truffle.js.snapshot.Recording.printMethod:(Ljava/io/PrintStream;Ljava/lang/String;Ljava/lang/Class;Ljava/util/List;Ljava/util/List;)V
14: StackMap locals:
StackMap stack:
aload 4
ldc "}"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.frameDescriptorSet:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 18
StackMap locals: com.oracle.truffle.js.snapshot.Recording java.lang.String java.lang.String java.lang.String java.io.PrintStream top java.util.Iterator
StackMap stack:
16: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.frame.FrameDescriptor
astore 5
start local 5 17: aload 4
new java.lang.StringBuilder
dup
ldc "//"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 18: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
19: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.functionDataSet:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 22
StackMap locals:
StackMap stack:
20: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.builtins.JSFunctionData
astore 5
start local 5 21: aload 4
new java.lang.StringBuilder
dup
ldc "//"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 22: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
23: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 24 1 fileName Ljava/lang/String;
0 24 2 packageName Ljava/lang/String;
0 24 3 unqualifiedClassName Ljava/lang/String;
0 24 4 out Ljava/io/PrintStream;
10 11 5 instBatch Lcom/oracle/truffle/js/snapshot/Recording$InstBatch;
17 18 5 fd Lcom/oracle/truffle/api/frame/FrameDescriptor;
21 22 5 fd Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
MethodParameters:
Name Flags
fileName
packageName
unqualifiedClassName
out
private static void printMethod(java.io.PrintStream, java.lang.String, java.lang.Class<?>, java.util.List<com.oracle.truffle.js.snapshot.Recording$Inst>, java.util.List<com.oracle.truffle.js.snapshot.Recording$Inst>);
descriptor: (Ljava/io/PrintStream;Ljava/lang/String;Ljava/lang/Class;Ljava/util/List;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual java.io.PrintStream.println:()V
1: aload 0
new java.lang.StringBuilder
dup
ldc "public "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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 " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc Lcom/oracle/truffle/js/nodes/NodeFactory;
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 " nodeFactory, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc Lcom/oracle/truffle/js/runtime/JSContext;
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 " context, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc Lcom/oracle/truffle/api/source/Source;
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 " source"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 4
invokeinterface java.util.List.isEmpty:()Z
ifeq 6
ldc ""
goto 7
StackMap locals: java.io.PrintStream java.lang.String java.lang.Class java.util.List java.util.List
StackMap stack: java.io.PrintStream java.lang.StringBuilder
6: ldc ", "
StackMap locals: java.io.PrintStream java.lang.String java.lang.Class java.util.List java.util.List
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
7: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: aload 4
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording.lambda$63(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Ljava/lang/String; (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
ldc ", "
invokestatic java.util.stream.Collectors.joining:(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;
ldc ") {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 13
StackMap locals: java.io.PrintStream java.lang.String java.lang.Class java.util.List java.util.List top java.util.Iterator
StackMap stack:
11: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
astore 5
start local 5 12: aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 13: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: aload 0
ldc "}"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 out Ljava/io/PrintStream;
0 16 1 name Ljava/lang/String;
0 16 2 returnType Ljava/lang/Class<*>;
0 16 3 insts Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
0 16 4 params Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
12 13 5 inst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
Signature: (Ljava/io/PrintStream;Ljava/lang/String;Ljava/lang/Class<*>;Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;)V
MethodParameters:
Name Flags
out
name
returnType
insts
params
private static void encodeMethod(com.oracle.truffle.js.snapshot.JSNodeEncoder, java.lang.String, java.util.List<com.oracle.truffle.js.snapshot.Recording$Inst>, java.util.List<com.oracle.truffle.js.snapshot.Recording$Inst>);
descriptor: (Lcom/oracle/truffle/js/snapshot/JSNodeEncoder;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, 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.snapshot.JSNodeEncoder.beginMethod:(Ljava/lang/String;)V
1: iconst_0
istore 4
start local 4 2: goto 6
3: StackMap locals: int
StackMap stack:
aload 3
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
astore 5
start local 5 4: aload 0
aload 5
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
iload 4
invokevirtual com.oracle.truffle.js.snapshot.JSNodeEncoder.encodeLoadArg:(II)V
end local 5 5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 3
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 4 7: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: com.oracle.truffle.js.snapshot.JSNodeEncoder java.lang.String java.util.List java.util.List top java.util.Iterator
StackMap stack:
8: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
astore 4
start local 4 9: aload 4
aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.encodeTo:(Lcom/oracle/truffle/js/snapshot/JSNodeEncoder;)V
end local 4 10: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: aload 0
invokevirtual com.oracle.truffle.js.snapshot.JSNodeEncoder.endMethod:()V
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 encoder Lcom/oracle/truffle/js/snapshot/JSNodeEncoder;
0 13 1 name Ljava/lang/String;
0 13 2 methodInsts Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
0 13 3 params Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
2 7 4 i I
4 5 5 param Lcom/oracle/truffle/js/snapshot/Recording$Inst;
9 10 4 inst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
Signature: (Lcom/oracle/truffle/js/snapshot/JSNodeEncoder;Ljava/lang/String;Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;)V
MethodParameters:
Name Flags
encoder
name
methodInsts
params
private void testDecode(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.parser.BinarySnapshotProvider
dup
aload 1
invokespecial com.oracle.truffle.js.parser.BinarySnapshotProvider.<init>:(Ljava/nio/ByteBuffer;)V
astore 2
start local 2 1: invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentJSRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 3
start local 3 2: aload 2
invokestatic com.oracle.truffle.js.nodes.NodeFactory.getDefaultInstance:()Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 3
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.source:Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.js.parser.BinarySnapshotProvider.apply:(Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
pop
3: return
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/snapshot/Recording;
0 4 1 buffer Ljava/nio/ByteBuffer;
1 4 2 snapshot Lcom/oracle/truffle/js/parser/BinarySnapshotProvider;
2 4 3 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
buffer
private static void sortInstsById(java.util.List<com.oracle.truffle.js.snapshot.Recording$Inst>);
descriptor: (Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic compare()Ljava/util/Comparator;
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:
(Ljava/lang/Object;Ljava/lang/Object;)I
com/oracle/truffle/js/snapshot/Recording.lambda$64(Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)I (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)I
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 insts Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
Signature: (Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;)V
MethodParameters:
Name Flags
insts
static java.lang.String packageName(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
iconst_0
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
clazz
private static java.lang.String mangleFileName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 9
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 4: iload 3
invokestatic com.oracle.truffle.js.snapshot.Recording.isAsciiWordChar:(C)Z
ifne 8
5: aload 1
ifnonnull 7
6: new java.lang.StringBuilder
dup
aload 0
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
7: StackMap locals: int
StackMap stack:
aload 1
iload 2
bipush 95
invokevirtual java.lang.StringBuilder.setCharAt:(IC)V
end local 3 8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 3
end local 2 10: aload 1
ifnonnull 11
aload 0
goto 12
StackMap locals:
StackMap stack:
11: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
12: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 fileName Ljava/lang/String;
1 13 1 sb Ljava/lang/StringBuilder;
2 10 2 i I
4 8 3 ch C
MethodParameters:
Name Flags
fileName
private static boolean isAsciiWordChar(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 65
if_icmplt 1
iload 0
bipush 90
if_icmple 4
StackMap locals:
StackMap stack:
1: iload 0
bipush 97
if_icmplt 2
iload 0
bipush 122
if_icmple 4
StackMap locals:
StackMap stack:
2: iload 0
bipush 48
if_icmplt 3
iload 0
bipush 57
if_icmple 4
StackMap locals:
StackMap stack:
3: iload 0
bipush 95
if_icmpeq 4
iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 ch C
MethodParameters:
Name Flags
ch
static void logv(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 line Ljava/lang/String;
MethodParameters:
Name Flags
line
static void logv(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 format Ljava/lang/String;
0 1 1 args [Ljava/lang/Object;
MethodParameters:
Name Flags
format
args
static void logv(java.util.function.Supplier<java.lang.String>);
descriptor: (Ljava/util/function/Supplier;)V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 line Ljava/util/function/Supplier<Ljava/lang/String;>;
Signature: (Ljava/util/function/Supplier<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
line
private static int lambda$0(com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static int lambda$1(com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static java.lang.String lambda$2(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.snapshot.Recording.typeName:(Ljava/lang/reflect/Type;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 t Ljava/lang/reflect/Type;
private static com.oracle.truffle.js.snapshot.Recording$Inst lambda$3(java.lang.Object, java.lang.Class, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=3, args_size=3
start local 2 0: new com.oracle.truffle.js.snapshot.Recording$ConstInst
dup
aload 2
aload 0
ifnonnull 1
ldc Ljava/lang/Object;
goto 2
StackMap locals: java.lang.Object java.lang.Class java.lang.Object
StackMap stack: new 0 new 0 java.lang.Object
1: aload 1
StackMap locals: java.lang.Object java.lang.Class java.lang.Object
StackMap stack: new 0 new 0 java.lang.Object java.lang.Class
2: iconst_1
invokespecial com.oracle.truffle.js.snapshot.Recording$ConstInst.<init>:(Ljava/lang/Object;Ljava/lang/Class;Z)V
areturn
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 3 2 v Ljava/lang/Object;
private static com.oracle.truffle.js.snapshot.Recording$Inst lambda$4(com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.snapshot.Recording$ContextInst
dup
invokespecial com.oracle.truffle.js.snapshot.Recording$ContextInst.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 v Lcom/oracle/truffle/js/runtime/JSContext;
private static com.oracle.truffle.js.snapshot.Recording$Inst lambda$5(java.lang.Class, com.oracle.truffle.js.snapshot.Recording$Inst[]);
descriptor: (Ljava/lang/Class;[Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=2, args_size=2
start local 1 0: new com.oracle.truffle.js.snapshot.Recording$CollectInst
dup
aload 0
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aconst_null
invokespecial com.oracle.truffle.js.snapshot.Recording$CollectInst.<init>:(Ljava/lang/Class;Ljava/util/List;Ljava/lang/reflect/Type;)V
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 v [Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static com.oracle.truffle.js.snapshot.Recording$Inst lambda$6(java.lang.reflect.Type, java.util.List);
descriptor: (Ljava/lang/reflect/Type;Ljava/util/List;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=2, args_size=2
start local 1 0: new com.oracle.truffle.js.snapshot.Recording$CollectInst
dup
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
aload 0
invokespecial com.oracle.truffle.js.snapshot.Recording$CollectInst.<init>:(Ljava/lang/Class;Ljava/util/List;Ljava/lang/reflect/Type;)V
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 v Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
private com.oracle.truffle.js.snapshot.Recording$Inst lambda$7(com.oracle.truffle.api.CallTarget);
descriptor: (Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.snapshot.Recording$CallTargetInst
dup
aload 0
aload 1
checkcast com.oracle.truffle.api.RootCallTarget
invokeinterface com.oracle.truffle.api.RootCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpNode:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.asVar:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokespecial com.oracle.truffle.js.snapshot.Recording$CallTargetInst.<init>:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 v Lcom/oracle/truffle/api/CallTarget;
private static com.oracle.truffle.js.snapshot.Recording$Inst lambda$8(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: new com.oracle.truffle.js.snapshot.Recording$PlaceholderInst
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokespecial com.oracle.truffle.js.snapshot.Recording$PlaceholderInst.<init>:(Ljava/lang/Class;)V
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 v Ljava/lang/Object;
private com.oracle.truffle.js.snapshot.Recording$Inst lambda$9(com.oracle.truffle.api.frame.FrameSlot);
descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.snapshot.Recording$FrameSlotInst
dup
aload 1
aload 0
aload 0
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording.getFrameDescriptor:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpFrameDescriptor:(Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.asVar:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
aload 0
aload 1
invokevirtual com.oracle.truffle.api.frame.FrameSlot.getIdentifier:()Ljava/lang/Object;
ldc Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpConst:(Ljava/lang/Object;Ljava/lang/Class;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.asVar:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
aload 1
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.getFlags:(Lcom/oracle/truffle/api/frame/FrameSlot;)I
invokespecial com.oracle.truffle.js.snapshot.Recording$FrameSlotInst.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 v Lcom/oracle/truffle/api/frame/FrameSlot;
private static boolean lambda$10(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;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokevirtual com.oracle.truffle.api.frame.FrameSlot.getIdentifier:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 desc Lcom/oracle/truffle/api/frame/FrameDescriptor;
private static java.util.NoSuchElementException lambda$11(com.oracle.truffle.api.frame.FrameSlot);
descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;)Ljava/util/NoSuchElementException;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=1, args_size=1
0: new java.util.NoSuchElementException
dup
new java.lang.StringBuilder
dup
ldc "FrameDescriptor not found for slot: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static com.oracle.truffle.js.snapshot.Recording$Inst lambda$12(com.oracle.truffle.api.frame.FrameDescriptor);
descriptor: (Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.snapshot.Recording$FrameDescriptorInst
dup
invokespecial com.oracle.truffle.js.snapshot.Recording$FrameDescriptorInst.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 v Lcom/oracle/truffle/api/frame/FrameDescriptor;
private com.oracle.truffle.js.snapshot.Recording$Inst lambda$13(com.oracle.truffle.js.runtime.builtins.JSFunctionData);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.snapshot.Recording$FunctionDataInst
dup
aload 1
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpContext:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.asVar:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokespecial com.oracle.truffle.js.snapshot.Recording$FunctionDataInst.<init>:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
private static com.oracle.truffle.js.snapshot.Recording$Inst lambda$14(com.oracle.truffle.js.nodes.control.BreakTarget);
descriptor: (Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.snapshot.Recording$BreakTargetInst
dup
aload 0
invokespecial com.oracle.truffle.js.snapshot.Recording$BreakTargetInst.<init>:(Lcom/oracle/truffle/js/nodes/control/BreakTarget;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 v Lcom/oracle/truffle/js/nodes/control/BreakTarget;
private static com.oracle.truffle.js.snapshot.Recording$Inst lambda$15(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.snapshot.Recording$SourceInst
dup
invokespecial com.oracle.truffle.js.snapshot.Recording$SourceInst.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 v Lcom/oracle/truffle/api/source/Source;
private com.oracle.truffle.js.snapshot.Recording$Inst lambda$16(com.oracle.truffle.api.source.SourceSection, com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/source/SourceSection;Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 2 0: new com.oracle.truffle.js.snapshot.Recording$SourceSectionInst
dup
aload 0
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpSource:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.asVar:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
aload 2
invokespecial com.oracle.truffle.js.snapshot.Recording$SourceSectionInst.<init>:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/api/source/SourceSection;)V
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 2 v Lcom/oracle/truffle/api/source/SourceSection;
private java.lang.Boolean lambda$17(com.oracle.truffle.js.runtime.builtins.JSFunctionData, java.lang.String, com.oracle.truffle.js.snapshot.Recording$NodeInst, java.lang.Boolean);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Ljava/lang/String;Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;Ljava/lang/Boolean;)Ljava/lang/Boolean;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 4 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getName:()Ljava/lang/String;
astore 5
start local 5 1: aload 2
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
iconst_0
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 6
start local 6 4: iload 6
ifeq 6
5: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
new com.oracle.truffle.js.snapshot.Recording$FixUpFunctionDataNameInst
dup
aload 3
invokevirtual com.oracle.truffle.js.snapshot.Recording$NodeInst.asVar:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
aload 5
invokespecial com.oracle.truffle.js.snapshot.Recording$FixUpFunctionDataNameInst.<init>:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/lang/String;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals: int
StackMap stack:
iload 6
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 6 end local 5 end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 7 4 earlyFixup Ljava/lang/Boolean;
1 7 5 currentName Ljava/lang/String;
4 7 6 nameChanged Z
private java.lang.Boolean lambda$18(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.snapshot.Recording$NodeInst, java.lang.Boolean);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/snapshot/Recording$NodeInst;Ljava/lang/Boolean;)Ljava/lang/Boolean;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 3 0: aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasSourceSection:()Z
ifeq 4
1: aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 4
start local 4 2: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
new com.oracle.truffle.js.snapshot.Recording$FixUpNodeSourceSectionInst
dup
aload 2
invokevirtual com.oracle.truffle.js.snapshot.Recording$NodeInst.asVar:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
aload 0
aload 4
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.js.snapshot.Recording.dumpSource:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.asVar:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
aload 4
invokespecial com.oracle.truffle.js.snapshot.Recording$FixUpNodeSourceSectionInst.<init>:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/api/source/SourceSection;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 4 4: StackMap locals:
StackMap stack:
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 5 3 earlyFixup Ljava/lang/Boolean;
2 4 4 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
private static boolean lambda$19(boolean, java.util.function.Function);
descriptor: (ZLjava/util/function/Function;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
iload 0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 fixup Ljava/util/function/Function<Ljava/lang/Boolean;Ljava/lang/Boolean;>;
private static boolean lambda$21(java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.isRoot:()Z
ifne 1
aload 0
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
invokevirtual java.util.BitSet.get:(I)Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 inst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private void lambda$22(com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.usageMap:Ljava/util/Map;
aload 1
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 1 in Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private void lambda$23(com.oracle.truffle.js.snapshot.Recording$Inst, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 2
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.inVar:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.usageMap:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
aload 1
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
3: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 4 2 in Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static boolean lambda$24(java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst, java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=5, args_size=4
start local 3 0: aload 3
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.inVar:()Z
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getIndex:()I
istore 4
start local 4 3: aload 0
iload 4
invokevirtual java.util.BitSet.get:(I)Z
ifne 11
4: aload 0
iload 4
invokevirtual java.util.BitSet.set:(I)V
5: aload 1
aload 3
if_acmpeq 10
6: aload 3
invokestatic com.oracle.truffle.js.snapshot.Recording.isBatchBoundary:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
ifeq 8
7: iconst_0
ireturn
8: StackMap locals: int
StackMap stack:
aload 2
iload 4
invokevirtual java.util.BitSet.get:(I)Z
ifeq 10
aload 3
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.isPrimitiveValue:()Z
ifne 10
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 LocalVariableTable:
Start End Slot Name Signature
0 12 3 inst1 Lcom/oracle/truffle/js/snapshot/Recording$Inst;
3 12 4 index I
private boolean lambda$27(java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst, java.util.BitSet);
descriptor: (Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=6, args_size=4
start local 0 0: aload 1
invokevirtual java.util.BitSet.cardinality:()I
istore 4
start local 4 1: aload 0
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording.addInputsToSet:(Ljava/util/BitSet;)V
2: aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.js.snapshot.Recording.addFixUpsToSet:(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;)V
3: aload 1
invokevirtual java.util.BitSet.cardinality:()I
istore 5
start local 5 4: iload 4
iload 5
if_icmpeq 5
iconst_1
ireturn
StackMap locals: int int
StackMap stack:
5: iconst_0
ireturn
end local 5 end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/snapshot/Recording;
1 6 4 before I
4 6 5 after I
private void lambda$32(java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst, java.util.List, int);
descriptor: (Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/List;I)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 4 0: aload 1
iload 4
invokevirtual java.util.BitSet.get:(I)Z
ifeq 7
1: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
astore 5
start local 5 2: aload 5
aload 2
if_acmpeq 3
aload 5
invokestatic com.oracle.truffle.js.snapshot.Recording.isBatchBoundary:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
ifeq 4
3: StackMap locals: com.oracle.truffle.js.snapshot.Recording$Inst
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 5
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.isPrimitiveValue:()Z
ifne 7
5: ldc "already extracted %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokestatic com.oracle.truffle.js.snapshot.Recording.logv:(Ljava/lang/String;[Ljava/lang/Object;)V
6: aload 3
aload 5
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.asVar:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 7: StackMap locals:
StackMap stack:
return
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 8 4 index I
2 7 5 inst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static boolean lambda$35(com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.isPrimitiveValue:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 in Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static boolean lambda$36(com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.snapshot.Recording.isBatchBoundary:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 in Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static void lambda$37(java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=2, args_size=2
start local 1 0: ldc "cleared %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic com.oracle.truffle.js.snapshot.Recording.logv:(Ljava/lang/String;[Ljava/lang/Object;)V
1: aload 0
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getIndex:()I
invokevirtual java.util.BitSet.clear:(I)V
2: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 in Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private void lambda$38(java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem, java.util.Map, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$1BatchWorkItem;Ljava/util/Map;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=9, args_size=5
start local 0 start local 4 0: aload 0
aload 4
invokevirtual com.oracle.truffle.js.snapshot.Recording.deref:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
astore 5
start local 5 1: aload 5
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getIndex:()I
istore 6
start local 6 2: aload 1
iload 6
invokevirtual java.util.BitSet.clear:(I)V
3: aload 2
getfield com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem.caller:Lcom/oracle/truffle/js/snapshot/Recording$1BatchWorkItem;
astore 7
start local 7 4: goto 12
5: StackMap locals: com.oracle.truffle.js.snapshot.Recording$Inst int com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem
StackMap stack:
aload 7
getfield com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem.extractedSet:Ljava/util/BitSet;
iload 6
invokevirtual java.util.BitSet.get:(I)Z
ifeq 7
6: goto 13
7: StackMap locals:
StackMap stack:
aload 3
aload 7
getfield com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem.startInst:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$1CallInfo
getfield com.oracle.truffle.js.snapshot.Recording$1CallInfo.args:Ljava/util/List;
astore 8
start local 8 8: aload 8
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
aload 5
invokedynamic test(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$39(Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
ifne 11
9: ldc "forwarding variable through caller: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokestatic com.oracle.truffle.js.snapshot.Recording.logv:(Ljava/lang/String;[Ljava/lang/Object;)V
10: aload 8
aload 5
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.asVar:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 11: StackMap locals:
StackMap stack:
aload 7
getfield com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem.caller:Lcom/oracle/truffle/js/snapshot/Recording$1BatchWorkItem;
astore 7
StackMap locals:
StackMap stack:
12: aload 7
ifnonnull 5
end local 7 end local 6 end local 5 13: StackMap locals:
StackMap stack:
return
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 14 4 var Lcom/oracle/truffle/js/snapshot/Recording$Inst;
1 13 5 in Lcom/oracle/truffle/js/snapshot/Recording$Inst;
2 13 6 index I
4 13 7 caller Lcom/oracle/truffle/js/snapshot/Recording$1BatchWorkItem;
8 11 8 callerArgs Ljava/util/List<Lcom/oracle/truffle/js/snapshot/Recording$Inst;>;
private static boolean lambda$41(java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokestatic com.oracle.truffle.js.snapshot.Recording.isBatchBoundary:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
ifeq 1
aload 1
aload 0
invokestatic com.oracle.truffle.js.snapshot.Recording.isContained:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;)Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 in Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private void lambda$42(java.util.Deque, java.util.BitSet, java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Ljava/util/Deque;Ljava/util/BitSet;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$1BatchWorkItem;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 5 0: aload 1
new com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem
dup
aload 0
aload 5
aload 2
aload 3
invokestatic com.oracle.truffle.js.snapshot.Recording.mergeBitSets:(Ljava/util/BitSet;Ljava/util/BitSet;)Ljava/util/BitSet;
aload 4
invokespecial com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem.<init>:(Lcom/oracle/truffle/js/snapshot/Recording;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$1BatchWorkItem;)V
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
return
end local 5 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 1 5 nextBoundary Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static void lambda$43(com.oracle.truffle.js.snapshot.Recording$1CallInfo);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$1CallInfo;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording$1CallInfo.args:Ljava/util/List;
invokedynamic apply()Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/snapshot/Recording$Inst.getId()I (5)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Ljava/lang/Integer;
invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 callInfo Lcom/oracle/truffle/js/snapshot/Recording$1CallInfo;
private com.oracle.truffle.js.snapshot.Recording$Inst lambda$45(com.oracle.truffle.js.snapshot.Recording$Inst, java.util.Map, int);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/Map;I)Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=6, args_size=4
start local 0 start local 3 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
astore 4
start local 4 1: aload 4
aload 1
if_acmpeq 6
2: aload 2
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$1CallInfo
astore 5
start local 5 3: aload 5
ifnull 6
4: getstatic com.oracle.truffle.js.snapshot.Recording.$assertionsDisabled:Z
ifne 5
aload 4
instanceof com.oracle.truffle.js.snapshot.Recording$ReturnInst
ifeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: com.oracle.truffle.js.snapshot.Recording$Inst com.oracle.truffle.js.snapshot.Recording$1CallInfo
StackMap stack:
new com.oracle.truffle.js.snapshot.Recording$CallExtractedInst
dup
aload 5
getfield com.oracle.truffle.js.snapshot.Recording$1CallInfo.name:Ljava/lang/String;
aload 4
aload 5
getfield com.oracle.truffle.js.snapshot.Recording$1CallInfo.returnType:Ljava/lang/Class;
aload 5
getfield com.oracle.truffle.js.snapshot.Recording$1CallInfo.args:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic apply()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.lambda$46(I)[Lcom/oracle/truffle/js/snapshot/Recording$Inst; (6)
(I)[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst[]
invokespecial com.oracle.truffle.js.snapshot.Recording$CallExtractedInst.<init>:(Ljava/lang/String;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/lang/Class;[Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
astore 4
end local 5 6: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 7 3 i I
1 7 4 inst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
3 6 5 callInfo Lcom/oracle/truffle/js/snapshot/Recording$1CallInfo;
private static void lambda$49(java.util.concurrent.atomic.AtomicBoolean, java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 2 0: aload 0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ifeq 6
1: getstatic com.oracle.truffle.js.snapshot.Recording.$assertionsDisabled:Z
ifne 2
aload 2
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.isRoot:()Z
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.inVar:()Z
ifne 4
3: return
4: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getIndex:()I
invokevirtual java.util.BitSet.get:(I)Z
ifne 6
5: aload 0
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
6: StackMap locals:
StackMap stack:
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 7 2 input Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static boolean lambda$51(java.util.Map, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Ljava/util/Map;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 in Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static boolean lambda$52(com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.isPrimitiveValue:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 in Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static void lambda$53(com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "dupe: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.snapshot.Recording.logv:(Ljava/lang/String;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 in Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private void lambda$54(java.util.BitSet, int);
descriptor: (Ljava/util/BitSet;I)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 2 0: aload 0
getfield com.oracle.truffle.js.snapshot.Recording.insts:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.js.snapshot.Recording$Inst
astore 3
start local 3 1: aload 3
invokestatic com.oracle.truffle.js.snapshot.Recording.isBatchBoundary:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
ifeq 3
2: return
3: StackMap locals: com.oracle.truffle.js.snapshot.Recording$Inst
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getDeclaredType:()Ljava/lang/Class;
ldc Lcom/oracle/truffle/api/frame/FrameDescriptor;
if_acmpne 5
4: return
5: StackMap locals:
StackMap stack:
aload 1
aload 3
invokestatic com.oracle.truffle.js.snapshot.Recording.addInputsToSet:(Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
end local 3 6: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 7 2 j I
1 6 3 inst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static void lambda$55(java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.inVar:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getIndex:()I
istore 2
start local 2 3: aload 0
iload 2
invokevirtual java.util.BitSet.get:(I)Z
ifne 5
4: aload 0
iload 2
invokevirtual java.util.BitSet.set:(I)V
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 6 1 input Lcom/oracle/truffle/js/snapshot/Recording$Inst;
3 5 2 index I
private void lambda$57(com.oracle.truffle.js.snapshot.Recording$Inst, java.util.BitSet, java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;Ljava/util/BitSet;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 4 0: aload 4
instanceof com.oracle.truffle.js.snapshot.Recording$FunctionDataInst
ifeq 2
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.usageMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$58(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
aload 1
invokedynamic test(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$59(Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
invokeinterface java.util.stream.Stream.allMatch:(Ljava/util/function/Predicate;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.snapshot.Recording.usageMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
aload 4
invokedynamic test(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/truffle/js/snapshot/Recording.lambda$60(Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
aload 2
aload 3
aload 4
invokedynamic accept(Ljava/util/BitSet;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/snapshot/Recording.lambda$61(Ljava/util/BitSet;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V (6)
(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
3: return
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/snapshot/Recording;
0 4 4 inst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static boolean lambda$62(java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
invokevirtual java.util.BitSet.get:(I)Z
ifne 3
1: aload 0
aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
invokevirtual java.util.BitSet.set:(I)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 inst Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static java.lang.String lambda$63(com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.declaredTypeName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
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 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static int lambda$64(com.oracle.truffle.js.snapshot.Recording$Inst, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
istore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
istore 3
start local 3 2: iload 2
iload 3
if_icmpeq 7
3: iload 2
iconst_m1
if_icmpne 5
4: iconst_1
ireturn
5: StackMap locals: int int
StackMap stack:
iload 3
iconst_m1
if_icmpne 7
6: iconst_m1
ireturn
7: StackMap locals:
StackMap stack:
iload 2
iload 3
invokestatic java.lang.Integer.compare:(II)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 a Lcom/oracle/truffle/js/snapshot/Recording$Inst;
0 8 1 b Lcom/oracle/truffle/js/snapshot/Recording$Inst;
1 8 2 ai I
2 8 3 bi I
private static boolean lambda$39(com.oracle.truffle.js.snapshot.Recording$Inst, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 callerArg Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static com.oracle.truffle.js.snapshot.Recording$Inst[] lambda$46(int);
descriptor: (I)[Lcom/oracle/truffle/js/snapshot/Recording$Inst;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: iload 0
anewarray com.oracle.truffle.js.snapshot.Recording$Inst
areturn
LocalVariableTable:
Start End Slot Name Signature
private static boolean lambda$58(com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.snapshot.Recording.isBatchBoundary:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 usage Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static boolean lambda$59(com.oracle.truffle.js.snapshot.Recording$Inst, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 boundary Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static boolean lambda$60(com.oracle.truffle.js.snapshot.Recording$Inst, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
instanceof com.oracle.truffle.js.snapshot.Recording$FixUpInst
ifeq 1
aload 1
checkcast com.oracle.truffle.js.snapshot.Recording$FixUpInst
invokeinterface com.oracle.truffle.js.snapshot.Recording$FixUpInst.getFixUpTarget:()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
aload 0
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 usage Lcom/oracle/truffle/js/snapshot/Recording$Inst;
private static void lambda$61(java.util.BitSet, java.util.BitSet, com.oracle.truffle.js.snapshot.Recording$Inst, com.oracle.truffle.js.snapshot.Recording$Inst);
descriptor: (Ljava/util/BitSet;Ljava/util/BitSet;Lcom/oracle/truffle/js/snapshot/Recording$Inst;Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=4
start local 3 0: aload 3
invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getIndex:()I
istore 4
start local 4 1: aload 0
iload 4
invokevirtual java.util.BitSet.get:(I)Z
ifne 4
aload 1
iload 4
invokevirtual java.util.BitSet.get:(I)Z
ifne 4
2: ldc "fixup %s -> %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 2
aastore
invokestatic com.oracle.truffle.js.snapshot.Recording.logv:(Ljava/lang/String;[Ljava/lang/Object;)V
3: aload 0
iload 4
invokevirtual java.util.BitSet.set:(I)V
end local 4 4: StackMap locals:
StackMap stack:
return
end local 3 LocalVariableTable:
Start End Slot Name Signature
0 5 3 fixup Lcom/oracle/truffle/js/snapshot/Recording$Inst;
1 4 4 index I
}
SourceFile: "Recording.java"
NestMembers:
com.oracle.truffle.js.snapshot.Recording$1 com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem com.oracle.truffle.js.snapshot.Recording$1CallInfo com.oracle.truffle.js.snapshot.Recording$BreakTargetInst com.oracle.truffle.js.snapshot.Recording$CallExtractedInst com.oracle.truffle.js.snapshot.Recording$CallTargetInst com.oracle.truffle.js.snapshot.Recording$CollectInst com.oracle.truffle.js.snapshot.Recording$ConstInst com.oracle.truffle.js.snapshot.Recording$ContextInst com.oracle.truffle.js.snapshot.Recording$FixUpFunctionDataNameInst com.oracle.truffle.js.snapshot.Recording$FixUpInst com.oracle.truffle.js.snapshot.Recording$FixUpNodeSourceSectionInst com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst com.oracle.truffle.js.snapshot.Recording$FrameDescriptorInst com.oracle.truffle.js.snapshot.Recording$FrameSlotInst com.oracle.truffle.js.snapshot.Recording$FunctionDataInst com.oracle.truffle.js.snapshot.Recording$Inst com.oracle.truffle.js.snapshot.Recording$Inst$1 com.oracle.truffle.js.snapshot.Recording$Inst$Visitor com.oracle.truffle.js.snapshot.Recording$InstBatch com.oracle.truffle.js.snapshot.Recording$MethodCall com.oracle.truffle.js.snapshot.Recording$NodeInst com.oracle.truffle.js.snapshot.Recording$ParamInst com.oracle.truffle.js.snapshot.Recording$PlaceholderInst com.oracle.truffle.js.snapshot.Recording$ReturnInst com.oracle.truffle.js.snapshot.Recording$SourceInst com.oracle.truffle.js.snapshot.Recording$SourceSectionInst com.oracle.truffle.js.snapshot.Recording$VarIdTable com.oracle.truffle.js.snapshot.Recording$VarIdTable$1IdentityKey com.oracle.truffle.js.snapshot.Recording$VarInst
InnerClasses:
com.oracle.truffle.js.snapshot.Recording$1
BatchWorkItem = com.oracle.truffle.js.snapshot.Recording$1BatchWorkItem
CallInfo = com.oracle.truffle.js.snapshot.Recording$1CallInfo
private BreakTargetInst = com.oracle.truffle.js.snapshot.Recording$BreakTargetInst of com.oracle.truffle.js.snapshot.Recording
private CallExtractedInst = com.oracle.truffle.js.snapshot.Recording$CallExtractedInst of com.oracle.truffle.js.snapshot.Recording
private CallTargetInst = com.oracle.truffle.js.snapshot.Recording$CallTargetInst of com.oracle.truffle.js.snapshot.Recording
private CollectInst = com.oracle.truffle.js.snapshot.Recording$CollectInst of com.oracle.truffle.js.snapshot.Recording
private ConstInst = com.oracle.truffle.js.snapshot.Recording$ConstInst of com.oracle.truffle.js.snapshot.Recording
private ContextInst = com.oracle.truffle.js.snapshot.Recording$ContextInst of com.oracle.truffle.js.snapshot.Recording
private FixUpFunctionDataNameInst = com.oracle.truffle.js.snapshot.Recording$FixUpFunctionDataNameInst of com.oracle.truffle.js.snapshot.Recording
private abstract FixUpInst = com.oracle.truffle.js.snapshot.Recording$FixUpInst of com.oracle.truffle.js.snapshot.Recording
private FixUpNodeSourceSectionInst = com.oracle.truffle.js.snapshot.Recording$FixUpNodeSourceSectionInst of com.oracle.truffle.js.snapshot.Recording
private FixUpNodeTagsInst = com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst of com.oracle.truffle.js.snapshot.Recording
private FrameDescriptorInst = com.oracle.truffle.js.snapshot.Recording$FrameDescriptorInst of com.oracle.truffle.js.snapshot.Recording
private FrameSlotInst = com.oracle.truffle.js.snapshot.Recording$FrameSlotInst of com.oracle.truffle.js.snapshot.Recording
private FunctionDataInst = com.oracle.truffle.js.snapshot.Recording$FunctionDataInst 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
private InstBatch = com.oracle.truffle.js.snapshot.Recording$InstBatch of com.oracle.truffle.js.snapshot.Recording
private final MethodCall = com.oracle.truffle.js.snapshot.Recording$MethodCall of com.oracle.truffle.js.snapshot.Recording
private NodeInst = com.oracle.truffle.js.snapshot.Recording$NodeInst of com.oracle.truffle.js.snapshot.Recording
private ParamInst = com.oracle.truffle.js.snapshot.Recording$ParamInst of com.oracle.truffle.js.snapshot.Recording
private PlaceholderInst = com.oracle.truffle.js.snapshot.Recording$PlaceholderInst of com.oracle.truffle.js.snapshot.Recording
private ReturnInst = com.oracle.truffle.js.snapshot.Recording$ReturnInst of com.oracle.truffle.js.snapshot.Recording
private SourceInst = com.oracle.truffle.js.snapshot.Recording$SourceInst of com.oracle.truffle.js.snapshot.Recording
private SourceSectionInst = com.oracle.truffle.js.snapshot.Recording$SourceSectionInst of com.oracle.truffle.js.snapshot.Recording
private VarIdTable = com.oracle.truffle.js.snapshot.Recording$VarIdTable of com.oracle.truffle.js.snapshot.Recording
private VarInst = com.oracle.truffle.js.snapshot.Recording$VarInst of com.oracle.truffle.js.snapshot.Recording
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map