public final class jdk.nashorn.internal.codegen.OptimisticTypesPersistence
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.codegen.OptimisticTypesPersistence
super_class: java.lang.Object
{
private static final int DEFAULT_MAX_FILES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int UNLIMITED_FILES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int MAX_FILES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int DEFAULT_CLEANUP_DELAY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private static final int CLEANUP_DELAY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String DEFAULT_CACHE_SUBDIR_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.oracle.java.NashornTypeInfo"
private static final java.io.File baseCacheDir;
descriptor: Ljava/io/File;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.io.File cacheDir;
descriptor: Ljava/io/File;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Object[] locks;
descriptor: [Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long ERROR_REPORT_THRESHOLD;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 60000
private static volatile long lastReportedError;
descriptor: J
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static final java.util.concurrent.atomic.AtomicBoolean scheduledCleanup;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Timer cleanupTimer;
descriptor: Ljava/util/Timer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String ANCHOR_PROPS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "anchor.properties"
private static final java.lang.String JRT_NASHORN_DIR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "/modules/jdk.scripting.nashorn"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.getMaxFiles:()I
putstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.MAX_FILES:I
1: iconst_0
2: ldc "nashorn.typeInfo.cleanupDelaySeconds"
bipush 20
3: invokestatic jdk.nashorn.internal.runtime.options.Options.getIntProperty:(Ljava/lang/String;I)I
invokestatic java.lang.Math.max:(II)I
putstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.CLEANUP_DELAY:I
4: invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.createBaseCacheDir:()Ljava/io/File;
putstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.baseCacheDir:Ljava/io/File;
5: getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.baseCacheDir:Ljava/io/File;
invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.createCacheDir:(Ljava/io/File;)Ljava/io/File;
putstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.cacheDir:Ljava/io/File;
6: getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.cacheDir:Ljava/io/File;
ifnonnull 7
aconst_null
goto 8
StackMap locals:
StackMap stack:
7: invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.createLockArray:()[Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object[]
8: putstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.locks:[Ljava/lang/Object;
9: getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.baseCacheDir:Ljava/io/File;
ifnull 10
getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.MAX_FILES:I
iconst_m1
if_icmpne 13
10: StackMap locals:
StackMap stack:
aconst_null
putstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.scheduledCleanup:Ljava/util/concurrent/atomic/AtomicBoolean;
11: aconst_null
putstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.cleanupTimer:Ljava/util/Timer;
12: goto 15
13: StackMap locals:
StackMap stack:
new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
putstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.scheduledCleanup:Ljava/util/concurrent/atomic/AtomicBoolean;
14: new java.util.Timer
dup
iconst_1
invokespecial java.util.Timer.<init>:(Z)V
putstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.cleanupTimer:Ljava/util/Timer;
15: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/OptimisticTypesPersistence;
public static java.lang.Object getLocationDescriptor(jdk.nashorn.internal.runtime.Source, int, jdk.nashorn.internal.codegen.types.Type[]);
descriptor: (Ljdk/nashorn/internal/runtime/Source;I[Ljdk/nashorn/internal/codegen/types/Type;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.cacheDir:Ljava/io/File;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
bipush 48
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 3: aload 3
aload 0
invokevirtual jdk.nashorn.internal.runtime.Source.getDigest:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
4: aload 2
ifnull 11
aload 2
arraylength
ifle 11
5: aload 3
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: aload 2
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 10
StackMap locals: jdk.nashorn.internal.runtime.Source int jdk.nashorn.internal.codegen.types.Type[] java.lang.StringBuilder top int int jdk.nashorn.internal.codegen.types.Type[]
StackMap stack:
7: aload 7
iload 5
aaload
astore 4
start local 4 8: aload 3
aload 4
invokestatic jdk.nashorn.internal.codegen.types.Type.getShortSignatureDescriptor:(Ljdk/nashorn/internal/codegen/types/Type;)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 4 9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 6
if_icmplt 7
11: StackMap locals: jdk.nashorn.internal.runtime.Source int jdk.nashorn.internal.codegen.types.Type[] java.lang.StringBuilder
StackMap stack:
new jdk.nashorn.internal.codegen.OptimisticTypesPersistence$LocationDescriptor
dup
new java.io.File
dup
getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.cacheDir:Ljava/io/File;
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
invokespecial jdk.nashorn.internal.codegen.OptimisticTypesPersistence$LocationDescriptor.<init>:(Ljava/io/File;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 source Ljdk/nashorn/internal/runtime/Source;
0 12 1 functionId I
0 12 2 paramTypes [Ljdk/nashorn/internal/codegen/types/Type;
3 12 3 b Ljava/lang/StringBuilder;
8 9 4 t Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
source final
functionId final
paramTypes final
public static void store(, java.util.Map<java.lang.Integer, jdk.nashorn.internal.codegen.types.Type>);
descriptor: (Ljava/lang/Object;Ljava/util/Map;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 1
invokeinterface java.util.Map.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
checkcast jdk.nashorn.internal.codegen.OptimisticTypesPersistence$LocationDescriptor
getfield jdk.nashorn.internal.codegen.OptimisticTypesPersistence$LocationDescriptor.file:Ljava/io/File;
astore 2
start local 2 3: new jdk.nashorn.internal.codegen.OptimisticTypesPersistence$1
dup
aload 2
aload 1
invokespecial jdk.nashorn.internal.codegen.OptimisticTypesPersistence$1.<init>:(Ljava/io/File;Ljava/util/Map;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 locationDescriptor Ljava/lang/Object;
0 5 1 optimisticTypes Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;
3 5 2 file Ljava/io/File;
Signature: (Ljava/lang/Object;Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;)V
MethodParameters:
Name Flags
locationDescriptor final
optimisticTypes final
public static java.util.Map<java.lang.Integer, jdk.nashorn.internal.codegen.types.Type> load();
descriptor: (Ljava/lang/Object;)Ljava/util/Map;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
checkcast jdk.nashorn.internal.codegen.OptimisticTypesPersistence$LocationDescriptor
getfield jdk.nashorn.internal.codegen.OptimisticTypesPersistence$LocationDescriptor.file:Ljava/io/File;
astore 1
start local 1 3: new jdk.nashorn.internal.codegen.OptimisticTypesPersistence$2
dup
aload 1
invokespecial jdk.nashorn.internal.codegen.OptimisticTypesPersistence$2.<init>:(Ljava/io/File;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.util.Map
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 locationDescriptor Ljava/lang/Object;
3 4 1 file Ljava/io/File;
Signature: (Ljava/lang/Object;)Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;
MethodParameters:
Name Flags
locationDescriptor final
private static void reportError(java.lang.String, java.io.File, java.lang.Exception);
descriptor: (Ljava/lang/String;Ljava/io/File;Ljava/lang/Exception;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.currentTimeMillis:()J
lstore 3
start local 3 1: lload 3
getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.lastReportedError:J
lsub
ldc 60000
lcmp
ifle 4
2: ldc "Failed to %s %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 2
invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.reportError:(Ljava/lang/String;Ljava/lang/Exception;)V
3: lload 3
putstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.lastReportedError:J
4: StackMap locals: long
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 msg Ljava/lang/String;
0 5 1 file Ljava/io/File;
0 5 2 e Ljava/lang/Exception;
1 5 3 now J
MethodParameters:
Name Flags
msg final
file final
e final
private static void reportError(java.lang.String, java.lang.Exception);
descriptor: (Ljava/lang/String;Ljava/lang/Exception;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.getLogger:()Ljdk/nashorn/internal/runtime/logging/DebugLogger;
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
ldc "\n"
aastore
dup
iconst_2
aload 1
invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.exceptionToString:(Ljava/lang/Exception;)Ljava/lang/String;
aastore
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.warning:([Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 msg Ljava/lang/String;
0 2 1 e Ljava/lang/Exception;
MethodParameters:
Name Flags
msg final
e final
private static java.lang.String exceptionToString(java.lang.Exception);
descriptor: (Ljava/lang/Exception;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 1
start local 1 1: new java.io.PrintWriter
dup
aload 1
iconst_0
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
astore 2
start local 2 2: aload 0
aload 2
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintWriter;)V
3: aload 2
invokevirtual java.io.PrintWriter.flush:()V
4: aload 1
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 e Ljava/lang/Exception;
1 5 1 sw Ljava/io/StringWriter;
2 5 2 pw Ljava/io/PrintWriter;
MethodParameters:
Name Flags
e final
private static java.io.File createBaseCacheDir();
descriptor: ()Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.MAX_FILES:I
ifeq 1
ldc "nashorn.typeInfo.disabled"
invokestatic jdk.nashorn.internal.runtime.options.Options.getBooleanProperty:(Ljava/lang/String;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.createBaseCacheDirPrivileged:()Ljava/io/File;
3: areturn
4: StackMap locals:
StackMap stack: java.lang.Exception
astore 0
start local 0 5: ldc "Failed to create cache dir"
aload 0
invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.reportError:(Ljava/lang/String;Ljava/lang/Exception;)V
6: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
5 7 0 e Ljava/lang/Exception;
Exception table:
from to target type
2 3 4 Class java.lang.Exception
private static java.io.File createBaseCacheDirPrivileged();
descriptor: ()Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new jdk.nashorn.internal.codegen.OptimisticTypesPersistence$3
dup
invokespecial jdk.nashorn.internal.codegen.OptimisticTypesPersistence$3.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.io.File
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.io.File createCacheDir(java.io.File);
descriptor: (Ljava/io/File;)Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.createCacheDirPrivileged:(Ljava/io/File;)Ljava/io/File;
3: areturn
4: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 5: ldc "Failed to create cache dir"
aload 1
invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.reportError:(Ljava/lang/String;Ljava/lang/Exception;)V
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 baseDir Ljava/io/File;
5 7 1 e Ljava/lang/Exception;
Exception table:
from to target type
2 3 4 Class java.lang.Exception
MethodParameters:
Name Flags
baseDir final
private static java.io.File createCacheDirPrivileged(java.io.File);
descriptor: (Ljava/io/File;)Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new jdk.nashorn.internal.codegen.OptimisticTypesPersistence$4
dup
aload 0
invokespecial jdk.nashorn.internal.codegen.OptimisticTypesPersistence$4.<init>:(Ljava/io/File;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.io.File
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 baseDir Ljava/io/File;
MethodParameters:
Name Flags
baseDir final
private static java.io.File getSystemCacheDir();
descriptor: ()Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=1, args_size=0
0: ldc "os.name"
ldc "generic"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 1: ldc "Mac OS X"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: new java.io.File
dup
new java.io.File
dup
ldc "user.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ldc "Library"
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
ldc "Caches"
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
ldc "Windows"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
4: new java.io.File
dup
ldc "java.io.tmpdir"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
areturn
5: StackMap locals:
StackMap stack:
new java.io.File
dup
ldc "user.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ldc ".cache"
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 6 0 os Ljava/lang/String;
public static java.lang.String getVersionDirName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=11, args_size=0
0: ldc Ljdk/nashorn/internal/codegen/OptimisticTypesPersistence;
ldc "anchor.properties"
invokevirtual java.lang.Class.getResource:(Ljava/lang/String;)Ljava/net/URL;
astore 0
start local 0 1: aload 0
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
astore 1
start local 1 2: aload 1
ldc "jar"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
3: aload 0
invokevirtual java.net.URL.getFile:()Ljava/lang/String;
astore 2
start local 2 4: aload 2
iconst_0
aload 2
bipush 33
invokevirtual java.lang.String.indexOf:(I)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 5: new java.net.URL
dup
aload 3
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 4
start local 4 6: aconst_null
astore 5
aconst_null
astore 6
7: aload 4
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
astore 7
start local 7 8: ldc 131072
newarray 8
astore 8
start local 8 9: ldc "SHA-1"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 9
start local 9 10: StackMap locals: java.net.URL java.lang.String java.lang.String java.lang.String java.net.URL java.lang.Throwable java.lang.Throwable java.io.InputStream byte[] java.security.MessageDigest
StackMap stack:
aload 7
aload 8
invokevirtual java.io.InputStream.read:([B)I
istore 10
start local 10 11: iload 10
iconst_m1
if_icmpne 15
12: invokestatic java.util.Base64.getUrlEncoder:()Ljava/util/Base64$Encoder;
invokevirtual java.util.Base64$Encoder.withoutPadding:()Ljava/util/Base64$Encoder;
aload 9
invokevirtual java.security.MessageDigest.digest:()[B
invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
13: aload 7
ifnull 14
aload 7
invokevirtual java.io.InputStream.close:()V
14: StackMap locals: java.net.URL java.lang.String java.lang.String java.lang.String java.net.URL java.lang.Throwable java.lang.Throwable java.io.InputStream byte[] java.security.MessageDigest int
StackMap stack: java.lang.String
areturn
15: StackMap locals:
StackMap stack:
aload 9
aload 8
iconst_0
iload 10
invokevirtual java.security.MessageDigest.update:([BII)V
end local 10 16: goto 10
end local 9 end local 8 StackMap locals: java.net.URL java.lang.String java.lang.String java.lang.String java.net.URL java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
17: astore 5
18: aload 7
ifnull 19
aload 7
invokevirtual java.io.InputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
19: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 6
aload 5
ifnonnull 21
aload 6
astore 5
goto 22
StackMap locals:
StackMap stack:
21: aload 5
aload 6
if_acmpeq 22
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 5
athrow
end local 4 end local 3 end local 2 23: StackMap locals: java.net.URL java.lang.String
StackMap stack:
aload 1
ldc "file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 32
24: aload 0
invokevirtual java.net.URL.getFile:()Ljava/lang/String;
astore 2
start local 2 25: ldc Ljdk/nashorn/internal/codegen/OptimisticTypesPersistence;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 3
start local 3 26: aload 3
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 4
start local 4 27: aload 2
iconst_0
aload 2
invokevirtual java.lang.String.length:()I
iload 4
isub
iconst_1
isub
ldc "anchor.properties"
invokevirtual java.lang.String.length:()I
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
start local 5 28: new java.io.File
dup
aload 5
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 6
start local 6 29: new java.lang.StringBuilder
dup
ldc "dev-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.text.SimpleDateFormat
dup
ldc "yyyyMMdd-HHmmss"
invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;)V
new java.util.Date
dup
30: aload 6
lconst_0
31: invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.getLastModifiedClassFile:(Ljava/io/File;J)J
invokespecial java.util.Date.<init>:(J)V
invokevirtual java.text.SimpleDateFormat.format:(Ljava/util/Date;)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 6 end local 5 end local 4 end local 3 end local 2 32: StackMap locals:
StackMap stack:
aload 1
ldc "jrt"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 34
33: invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.getJrtVersionDirName:()Ljava/lang/String;
areturn
34: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "unknown protocol"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 35 0 url Ljava/net/URL;
2 35 1 protocol Ljava/lang/String;
4 23 2 jarUrlFile Ljava/lang/String;
5 23 3 filePath Ljava/lang/String;
6 23 4 file Ljava/net/URL;
8 19 7 in Ljava/io/InputStream;
9 17 8 buf [B
10 17 9 digest Ljava/security/MessageDigest;
11 16 10 l I
25 32 2 fileStr Ljava/lang/String;
26 32 3 className Ljava/lang/String;
27 32 4 packageNameLen I
28 32 5 dirStr Ljava/lang/String;
29 32 6 dir Ljava/io/File;
Exception table:
from to target type
8 13 17 any
15 17 17 any
7 14 20 any
15 20 20 any
Exceptions:
throws java.lang.Exception
private static long getLastModifiedClassFile(java.io.File, long);
descriptor: (Ljava/io/File;J)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: lload 1
lstore 3
start local 3 1: aload 0
invokevirtual java.io.File.listFiles:()[Ljava/io/File;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 13
StackMap locals: java.io.File long long top int int java.io.File[]
StackMap stack:
2: aload 8
iload 6
aaload
astore 5
start local 5 3: aload 5
invokevirtual java.io.File.getName:()Ljava/lang/String;
ldc ".class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 8
4: aload 5
invokevirtual java.io.File.lastModified:()J
lstore 9
start local 9 5: lload 9
lload 3
lcmp
ifle 12
6: lload 9
lstore 3
end local 9 7: goto 12
StackMap locals: java.io.File long long java.io.File int int java.io.File[]
StackMap stack:
8: aload 5
invokevirtual java.io.File.isDirectory:()Z
ifeq 12
9: aload 5
lload 3
invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.getLastModifiedClassFile:(Ljava/io/File;J)J
lstore 9
start local 9 10: lload 9
lload 3
lcmp
ifle 12
11: lload 9
lstore 3
end local 9 end local 5 12: StackMap locals: java.io.File long long top int int java.io.File[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
iload 7
if_icmplt 2
14: lload 3
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 dir Ljava/io/File;
0 15 1 max J
1 15 3 currentMax J
3 12 5 f Ljava/io/File;
5 7 9 lastModified J
10 12 9 lastModified J
MethodParameters:
Name Flags
dir final
max final
private static boolean isSymbolicLink(java.io.File);
descriptor: (Ljava/io/File;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic java.nio.file.Files.isSymbolicLink:(Ljava/nio/file/Path;)Z
ifeq 3
1: invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.getLogger:()Ljdk/nashorn/internal/runtime/logging/DebugLogger;
new java.lang.StringBuilder
dup
ldc "Directory "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is a symlink"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.warning:(Ljava/lang/String;)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 file Ljava/io/File;
MethodParameters:
Name Flags
file final
private static java.lang.Object[] createLockArray();
descriptor: ()[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
iconst_2
imul
anewarray java.lang.Object
astore 0
start local 0 1: iconst_0
istore 1
start local 1 2: goto 5
3: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 0
iload 1
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
aastore
4: iinc 1 1
StackMap locals:
StackMap stack:
5: iload 1
aload 0
arraylength
if_icmplt 3
end local 1 6: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 7 0 lockArray [Ljava/lang/Object;
2 6 1 i I
private static java.lang.Object getFileLock(java.io.File);
descriptor: (Ljava/io/File;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.locks:[Ljava/lang/Object;
aload 0
invokevirtual java.io.File.hashCode:()I
ldc 2147483647
iand
getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.locks:[Ljava/lang/Object;
arraylength
irem
aaload
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 file Ljava/io/File;
MethodParameters:
Name Flags
file final
private static jdk.nashorn.internal.runtime.logging.DebugLogger getLogger();
descriptor: ()Ljdk/nashorn/internal/runtime/logging/DebugLogger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic jdk.nashorn.internal.runtime.Context.getContext:()Ljdk/nashorn/internal/runtime/Context;
ldc Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NullPointerException
pop
goto 5
3: StackMap locals:
StackMap stack: java.lang.Exception
astore 0
start local 0 4: aload 0
invokevirtual java.lang.Exception.printStackTrace:()V
end local 0 5: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.logging.DebugLogger.DISABLED_LOGGER:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
areturn
LocalVariableTable:
Start End Slot Name Signature
4 5 0 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.NullPointerException
0 1 3 Class java.lang.Exception
private static void scheduleCleanup();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.MAX_FILES:I
iconst_m1
if_icmpeq 4
getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.scheduledCleanup:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifeq 4
1: getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.cleanupTimer:Ljava/util/Timer;
new jdk.nashorn.internal.codegen.OptimisticTypesPersistence$5
dup
invokespecial jdk.nashorn.internal.codegen.OptimisticTypesPersistence$5.<init>:()V
2: getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.CLEANUP_DELAY:I
i2l
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
3: invokevirtual java.util.Timer.schedule:(Ljava/util/TimerTask;J)V
4: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
private static void doCleanup();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=0
0: invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.getAllRegularFilesInLastModifiedOrder:()[Ljava/nio/file/Path;
astore 0
start local 0 1: aload 0
arraylength
istore 1
start local 1 2: iconst_0
iload 1
getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.MAX_FILES:I
isub
invokestatic java.lang.Math.max:(II)I
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 12
6: StackMap locals: java.nio.file.Path[] int int int int
StackMap stack:
aload 0
iload 4
aaload
invokestatic java.nio.file.Files.deleteIfExists:(Ljava/nio/file/Path;)Z
pop
7: iinc 3 1
8: goto 10
StackMap locals:
StackMap stack: java.lang.Exception
9: pop
10: StackMap locals:
StackMap stack:
aload 0
iload 4
aconst_null
aastore
11: iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 1
if_icmpge 13
iload 3
iload 2
if_icmplt 6
end local 4 13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 14 0 files [Ljava/nio/file/Path;
2 14 1 nFiles I
3 14 2 filesToDelete I
4 14 3 filesDeleted I
5 13 4 i I
Exception table:
from to target type
6 8 9 Class java.lang.Exception
Exceptions:
throws java.io.IOException
private static java.nio.file.Path[] getAllRegularFilesInLastModifiedOrder();
descriptor: ()[Ljava/nio/file/Path;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=0
0: aconst_null
astore 0
aconst_null
astore 1
1: getstatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.baseCacheDir:Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
iconst_0
anewarray java.nio.file.FileVisitOption
invokestatic java.nio.file.Files.walk:(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;
astore 2
start local 2 2: aload 2
3: new jdk.nashorn.internal.codegen.OptimisticTypesPersistence$6
dup
invokespecial jdk.nashorn.internal.codegen.OptimisticTypesPersistence$6.<init>:()V
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
4: new jdk.nashorn.internal.codegen.OptimisticTypesPersistence$7
dup
invokespecial jdk.nashorn.internal.codegen.OptimisticTypesPersistence$7.<init>:()V
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
5: invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
6: new jdk.nashorn.internal.codegen.OptimisticTypesPersistence$8
dup
invokespecial jdk.nashorn.internal.codegen.OptimisticTypesPersistence$8.<init>:()V
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
7: new jdk.nashorn.internal.codegen.OptimisticTypesPersistence$9
dup
invokespecial jdk.nashorn.internal.codegen.OptimisticTypesPersistence$9.<init>:()V
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast java.nio.file.Path[]
8: aload 2
ifnull 9
aload 2
invokeinterface java.util.stream.Stream.close:()V
9: StackMap locals: java.lang.Throwable java.lang.Throwable java.util.stream.Stream
StackMap stack: java.nio.file.Path[]
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 0
11: aload 2
ifnull 12
aload 2
invokeinterface java.util.stream.Stream.close:()V
end local 2 StackMap locals:
StackMap stack:
12: aload 0
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 1
aload 0
ifnonnull 14
aload 1
astore 0
goto 15
StackMap locals:
StackMap stack:
14: aload 0
aload 1
if_acmpeq 15
aload 0
aload 1
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 0
athrow
LocalVariableTable:
Start End Slot Name Signature
2 12 2 filesStream Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
Exception table:
from to target type
2 8 10 any
1 9 13 any
10 13 13 any
Exceptions:
throws java.io.IOException
private static int getMaxFiles();
descriptor: ()I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: ldc "nashorn.typeInfo.maxFiles"
aconst_null
invokestatic jdk.nashorn.internal.runtime.options.Options.getStringProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 1: aload 0
ifnonnull 3
2: iconst_0
ireturn
3: StackMap locals: java.lang.String
StackMap stack:
ldc "unlimited"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_m1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
aload 0
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
invokestatic java.lang.Math.max:(II)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 6 0 str Ljava/lang/String;
private static java.lang.String getJrtVersionDirName();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=0
0: invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.getJrtFileSystem:()Ljava/nio/file/FileSystem;
astore 0
start local 0 1: aload 0
ldc "/modules/jdk.scripting.nashorn"
iconst_0
anewarray java.lang.String
invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 1
start local 1 2: aload 1
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifne 4
3: new java.io.FileNotFoundException
dup
ldc "missing /modules/jdk.scripting.nashorn dir in jrt fs"
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.nio.file.FileSystem java.nio.file.Path
StackMap stack:
ldc "SHA-1"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 2
start local 2 5: aload 1
iconst_0
anewarray java.nio.file.FileVisitOption
invokestatic java.nio.file.Files.walk:(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;
new jdk.nashorn.internal.codegen.OptimisticTypesPersistence$10
dup
aload 2
invokespecial jdk.nashorn.internal.codegen.OptimisticTypesPersistence$10.<init>:(Ljava/security/MessageDigest;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
6: invokestatic java.util.Base64.getUrlEncoder:()Ljava/util/Base64$Encoder;
invokevirtual java.util.Base64$Encoder.withoutPadding:()Ljava/util/Base64$Encoder;
aload 2
invokevirtual java.security.MessageDigest.digest:()[B
invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 7 0 fs Ljava/nio/file/FileSystem;
2 7 1 nashorn Ljava/nio/file/Path;
5 7 2 digest Ljava/security/MessageDigest;
Exceptions:
throws java.lang.Exception
private static java.nio.file.FileSystem getJrtFileSystem();
descriptor: ()Ljava/nio/file/FileSystem;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new jdk.nashorn.internal.codegen.OptimisticTypesPersistence$11
dup
invokespecial jdk.nashorn.internal.codegen.OptimisticTypesPersistence$11.<init>:()V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.nio.file.FileSystem
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "OptimisticTypesPersistence.java"
NestMembers:
jdk.nashorn.internal.codegen.OptimisticTypesPersistence$1 jdk.nashorn.internal.codegen.OptimisticTypesPersistence$10 jdk.nashorn.internal.codegen.OptimisticTypesPersistence$11 jdk.nashorn.internal.codegen.OptimisticTypesPersistence$2 jdk.nashorn.internal.codegen.OptimisticTypesPersistence$3 jdk.nashorn.internal.codegen.OptimisticTypesPersistence$4 jdk.nashorn.internal.codegen.OptimisticTypesPersistence$5 jdk.nashorn.internal.codegen.OptimisticTypesPersistence$6 jdk.nashorn.internal.codegen.OptimisticTypesPersistence$7 jdk.nashorn.internal.codegen.OptimisticTypesPersistence$8 jdk.nashorn.internal.codegen.OptimisticTypesPersistence$9 jdk.nashorn.internal.codegen.OptimisticTypesPersistence$LocationDescriptor jdk.nashorn.internal.codegen.OptimisticTypesPersistence$PathAndTime
InnerClasses:
public Encoder = java.util.Base64$Encoder of java.util.Base64
jdk.nashorn.internal.codegen.OptimisticTypesPersistence$1
jdk.nashorn.internal.codegen.OptimisticTypesPersistence$10
jdk.nashorn.internal.codegen.OptimisticTypesPersistence$11
jdk.nashorn.internal.codegen.OptimisticTypesPersistence$2
jdk.nashorn.internal.codegen.OptimisticTypesPersistence$3
jdk.nashorn.internal.codegen.OptimisticTypesPersistence$4
jdk.nashorn.internal.codegen.OptimisticTypesPersistence$5
jdk.nashorn.internal.codegen.OptimisticTypesPersistence$6
jdk.nashorn.internal.codegen.OptimisticTypesPersistence$7
jdk.nashorn.internal.codegen.OptimisticTypesPersistence$8
jdk.nashorn.internal.codegen.OptimisticTypesPersistence$9
private final LocationDescriptor = jdk.nashorn.internal.codegen.OptimisticTypesPersistence$LocationDescriptor of jdk.nashorn.internal.codegen.OptimisticTypesPersistence
private PathAndTime = jdk.nashorn.internal.codegen.OptimisticTypesPersistence$PathAndTime of jdk.nashorn.internal.codegen.OptimisticTypesPersistence