class jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo
super_class: java.lang.Object
{
private final jdk.nashorn.internal.runtime.RecompilableScriptFunctionData data;
descriptor: Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.Integer, jdk.nashorn.internal.codegen.types.Type> invalidatedProgramPoints;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;
private java.lang.invoke.SwitchPoint optimisticAssumptions;
descriptor: Ljava/lang/invoke/SwitchPoint;
flags: (0x0002) ACC_PRIVATE
private final jdk.nashorn.internal.runtime.logging.DebugLogger log;
descriptor: Ljdk/nashorn/internal/runtime/logging/DebugLogger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(jdk.nashorn.internal.runtime.RecompilableScriptFunctionData, java.util.Map<java.lang.Integer, jdk.nashorn.internal.codegen.types.Type>);
descriptor: (Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;Ljava/util/Map;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo.data:Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
2: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getLogger:()Ljdk/nashorn/internal/runtime/logging/DebugLogger;
putfield jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
3: aload 0
aload 2
ifnonnull 4
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
goto 5
StackMap locals: jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo jdk.nashorn.internal.runtime.RecompilableScriptFunctionData java.util.Map
StackMap stack: jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo
4: aload 2
StackMap locals: jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo jdk.nashorn.internal.runtime.RecompilableScriptFunctionData java.util.Map
StackMap stack: jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo java.util.Map
5: putfield jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo.invalidatedProgramPoints:Ljava/util/Map;
6: aload 0
invokevirtual jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo.newOptimisticAssumptions:()V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/runtime/CompiledFunction$OptimismInfo;
0 8 1 data Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
0 8 2 invalidatedProgramPoints Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;
Signature: (Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;)V
MethodParameters:
Name Flags
data final
invalidatedProgramPoints final
private void newOptimisticAssumptions();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new java.lang.invoke.SwitchPoint
dup
invokespecial java.lang.invoke.SwitchPoint.<init>:()V
putfield jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo.optimisticAssumptions:Ljava/lang/invoke/SwitchPoint;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/CompiledFunction$OptimismInfo;
boolean requestRecompile(jdk.nashorn.internal.runtime.RewriteException);
descriptor: (Ljdk/nashorn/internal/runtime/RewriteException;)Z
flags: (0x0000)
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.runtime.RewriteException.getReturnType:()Ljdk/nashorn/internal/codegen/types/Type;
astore 2
start local 2 1: aload 0
getfield jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo.invalidatedProgramPoints:Ljava/util/Map;
aload 1
invokevirtual jdk.nashorn.internal.runtime.RewriteException.getProgramPoint:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.types.Type
astore 3
start local 3 2: aload 3
ifnull 10
aload 3
aload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.narrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifne 10
3: aload 1
invokevirtual jdk.nashorn.internal.runtime.RewriteException.getStackTrace:()[Ljava/lang/StackTraceElement;
astore 4
start local 4 4: aload 4
arraylength
ifne 6
5: aload 0
getfield jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo.data:Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getName:()Ljava/lang/String;
goto 7
6: StackMap locals: jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type java.lang.StackTraceElement[]
StackMap stack:
new java.lang.StringBuilder
dup
aload 4
iconst_0
aaload
invokevirtual java.lang.StackTraceElement.getClassName:()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 4
iconst_0
aaload
invokevirtual java.lang.StackTraceElement.getMethodName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: StackMap locals:
StackMap stack: java.lang.String
astore 5
start local 5 8: aload 0
getfield jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
iconst_5
anewarray java.lang.Object
dup
iconst_0
ldc "RewriteException for an already invalidated program point "
aastore
dup
iconst_1
aload 1
invokevirtual jdk.nashorn.internal.runtime.RewriteException.getProgramPoint:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
ldc " in "
aastore
dup
iconst_3
aload 5
aastore
dup
iconst_4
ldc ". This is okay for a recursive function invocation, but a bug otherwise."
aastore
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
9: iconst_0
ireturn
end local 5 end local 4 10: StackMap locals:
StackMap stack:
iconst_1
anewarray java.lang.invoke.SwitchPoint
dup
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo.optimisticAssumptions:Ljava/lang/invoke/SwitchPoint;
aastore
invokestatic java.lang.invoke.SwitchPoint.invalidateAll:([Ljava/lang/invoke/SwitchPoint;)V
11: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/nashorn/internal/runtime/CompiledFunction$OptimismInfo;
0 12 1 e Ljdk/nashorn/internal/runtime/RewriteException;
1 12 2 retType Ljdk/nashorn/internal/codegen/types/Type;
2 12 3 previousFailedType Ljdk/nashorn/internal/codegen/types/Type;
4 10 4 stack [Ljava/lang/StackTraceElement;
8 10 5 functionId Ljava/lang/String;
MethodParameters:
Name Flags
e final
jdk.nashorn.internal.codegen.Compiler getCompiler(jdk.nashorn.internal.ir.FunctionNode, java.lang.invoke.MethodType, jdk.nashorn.internal.runtime.RewriteException);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/RewriteException;)Ljdk/nashorn/internal/codegen/Compiler;
flags: (0x0000)
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo.data:Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
aload 1
aload 2
aload 3
invokevirtual jdk.nashorn.internal.runtime.RewriteException.getRuntimeScope:()Ljdk/nashorn/internal/runtime/ScriptObject;
aload 0
getfield jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo.invalidatedProgramPoints:Ljava/util/Map;
aload 3
invokestatic jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo.getEntryPoints:(Ljdk/nashorn/internal/runtime/RewriteException;)[I
invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getCompiler:(Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/util/Map;[I)Ljdk/nashorn/internal/codegen/Compiler;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/CompiledFunction$OptimismInfo;
0 1 1 fn Ljdk/nashorn/internal/ir/FunctionNode;
0 1 2 actualCallSiteType Ljava/lang/invoke/MethodType;
0 1 3 e Ljdk/nashorn/internal/runtime/RewriteException;
MethodParameters:
Name Flags
fn final
actualCallSiteType final
e final
private static int[] getEntryPoints(jdk.nashorn.internal.runtime.RewriteException);
descriptor: (Ljdk/nashorn/internal/runtime/RewriteException;)[I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.runtime.RewriteException.getPreviousContinuationEntryPoints:()[I
astore 1
start local 1 1: aload 1
ifnonnull 4
2: iconst_1
newarray 10
astore 2
start local 2 3: goto 7
end local 2 4: StackMap locals: int[]
StackMap stack:
aload 1
arraylength
istore 3
start local 3 5: iload 3
iconst_1
iadd
newarray 10
astore 2
start local 2 6: aload 1
iconst_0
aload 2
iconst_1
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 3 7: StackMap locals: int[]
StackMap stack:
aload 2
iconst_0
aload 0
invokevirtual jdk.nashorn.internal.runtime.RewriteException.getProgramPoint:()I
iastore
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 e Ljdk/nashorn/internal/runtime/RewriteException;
1 9 1 prevEntryPoints [I
3 4 2 entryPoints [I
6 9 2 entryPoints [I
5 7 3 l I
MethodParameters:
Name Flags
e final
jdk.nashorn.internal.ir.FunctionNode reparse();
descriptor: ()Ljdk/nashorn/internal/ir/FunctionNode;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo.data:Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.reparse:()Ljdk/nashorn/internal/ir/FunctionNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/CompiledFunction$OptimismInfo;
}
SourceFile: "CompiledFunction.java"
NestHost: jdk.nashorn.internal.runtime.CompiledFunction
InnerClasses:
private OptimismInfo = jdk.nashorn.internal.runtime.CompiledFunction$OptimismInfo of jdk.nashorn.internal.runtime.CompiledFunction