public abstract class jdk.nashorn.internal.runtime.CodeStore implements jdk.nashorn.internal.runtime.logging.Loggable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.nashorn.internal.runtime.CodeStore
  super_class: java.lang.Object
{
  private jdk.nashorn.internal.runtime.logging.DebugLogger log;
    descriptor: Ljdk/nashorn/internal/runtime/logging/DebugLogger;
    flags: (0x0002) ACC_PRIVATE

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.CodeStore this
         0: .line 59
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            return
        end local 0 // jdk.nashorn.internal.runtime.CodeStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/CodeStore;

  public jdk.nashorn.internal.runtime.logging.DebugLogger initLogger(jdk.nashorn.internal.runtime.Context);
    descriptor: (Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.CodeStore this
        start local 1 // jdk.nashorn.internal.runtime.Context context
         0: .line 64
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            putfield jdk.nashorn.internal.runtime.CodeStore.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
         1: .line 65
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.CodeStore.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            areturn
        end local 1 // jdk.nashorn.internal.runtime.Context context
        end local 0 // jdk.nashorn.internal.runtime.CodeStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/nashorn/internal/runtime/CodeStore;
            0    2     1  context  Ljdk/nashorn/internal/runtime/Context;
    MethodParameters:
         Name  Flags
      context  final

  public jdk.nashorn.internal.runtime.logging.DebugLogger getLogger();
    descriptor: ()Ljdk/nashorn/internal/runtime/logging/DebugLogger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.CodeStore this
         0: .line 70
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.CodeStore.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.CodeStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/CodeStore;

  public static jdk.nashorn.internal.runtime.CodeStore newCodeStore(jdk.nashorn.internal.runtime.Context);
    descriptor: (Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/CodeStore;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Context context
         0: .line 81
            new jdk.nashorn.internal.runtime.CodeStore$DirectoryCodeStore
            dup
            aload 0 /* context */
            invokespecial jdk.nashorn.internal.runtime.CodeStore$DirectoryCodeStore.<init>:(Ljdk/nashorn/internal/runtime/Context;)V
            astore 1 /* store */
        start local 1 // jdk.nashorn.internal.runtime.CodeStore store
         1: .line 82
            aload 1 /* store */
            aload 0 /* context */
            invokevirtual jdk.nashorn.internal.runtime.CodeStore.initLogger:(Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            pop
         2: .line 83
            aload 1 /* store */
         3: areturn
        end local 1 // jdk.nashorn.internal.runtime.CodeStore store
         4: .line 84
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         5: .line 85
            aload 0 /* context */
            ldc Ljdk/nashorn/internal/runtime/CodeStore;
            invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "failed to create cache directory "
            aastore
            dup
            iconst_1
            aload 1 /* e */
            aastore
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.warning:([Ljava/lang/Object;)V
         6: .line 86
            aconst_null
            areturn
        end local 1 // java.io.IOException e
        end local 0 // jdk.nashorn.internal.runtime.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0  context  Ljdk/nashorn/internal/runtime/Context;
            1    4     1    store  Ljdk/nashorn/internal/runtime/CodeStore;
            5    7     1        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.io.IOException
    MethodParameters:
         Name  Flags
      context  final

  public jdk.nashorn.internal.runtime.StoredScript store(java.lang.String, jdk.nashorn.internal.runtime.Source, java.lang.String, java.util.Map<java.lang.String, byte[]>, java.util.Map<java.lang.Integer, jdk.nashorn.internal.runtime.FunctionInitializer>, [], int);
    descriptor: (Ljava/lang/String;Ljdk/nashorn/internal/runtime/Source;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;[Ljava/lang/Object;I)Ljdk/nashorn/internal/runtime/StoredScript;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=8, args_size=8
        start local 0 // jdk.nashorn.internal.runtime.CodeStore this
        start local 1 // java.lang.String functionKey
        start local 2 // jdk.nashorn.internal.runtime.Source source
        start local 3 // java.lang.String mainClassName
        start local 4 // java.util.Map classBytes
        start local 5 // java.util.Map initializers
        start local 6 // java.lang.Object[] constants
        start local 7 // int compilationId
         0: .line 111
            aload 0 /* this */
            aload 1 /* functionKey */
            aload 2 /* source */
            aload 0 /* this */
            aload 2 /* source */
            aload 3 /* mainClassName */
            aload 4 /* classBytes */
            aload 5 /* initializers */
            aload 6 /* constants */
            iload 7 /* compilationId */
            invokevirtual jdk.nashorn.internal.runtime.CodeStore.storedScriptFor:(Ljdk/nashorn/internal/runtime/Source;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;[Ljava/lang/Object;I)Ljdk/nashorn/internal/runtime/StoredScript;
            invokevirtual jdk.nashorn.internal.runtime.CodeStore.store:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/runtime/StoredScript;)Ljdk/nashorn/internal/runtime/StoredScript;
            areturn
        end local 7 // int compilationId
        end local 6 // java.lang.Object[] constants
        end local 5 // java.util.Map initializers
        end local 4 // java.util.Map classBytes
        end local 3 // java.lang.String mainClassName
        end local 2 // jdk.nashorn.internal.runtime.Source source
        end local 1 // java.lang.String functionKey
        end local 0 // jdk.nashorn.internal.runtime.CodeStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Ljdk/nashorn/internal/runtime/CodeStore;
            0    1     1    functionKey  Ljava/lang/String;
            0    1     2         source  Ljdk/nashorn/internal/runtime/Source;
            0    1     3  mainClassName  Ljava/lang/String;
            0    1     4     classBytes  Ljava/util/Map<Ljava/lang/String;[B>;
            0    1     5   initializers  Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/runtime/FunctionInitializer;>;
            0    1     6      constants  [Ljava/lang/Object;
            0    1     7  compilationId  I
    Signature: (Ljava/lang/String;Ljdk/nashorn/internal/runtime/Source;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;[B>;Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/runtime/FunctionInitializer;>;[Ljava/lang/Object;I)Ljdk/nashorn/internal/runtime/StoredScript;
    MethodParameters:
               Name  Flags
      functionKey    final
      source         final
      mainClassName  final
      classBytes     final
      initializers   final
      constants      final
      compilationId  final

  public abstract jdk.nashorn.internal.runtime.StoredScript store(java.lang.String, jdk.nashorn.internal.runtime.Source, jdk.nashorn.internal.runtime.StoredScript);
    descriptor: (Ljava/lang/String;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/runtime/StoredScript;)Ljdk/nashorn/internal/runtime/StoredScript;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      functionKey  final
      source       final
      script       final

  public abstract jdk.nashorn.internal.runtime.StoredScript load(jdk.nashorn.internal.runtime.Source, java.lang.String);
    descriptor: (Ljdk/nashorn/internal/runtime/Source;Ljava/lang/String;)Ljdk/nashorn/internal/runtime/StoredScript;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      source       final
      functionKey  final

  public jdk.nashorn.internal.runtime.StoredScript storedScriptFor(jdk.nashorn.internal.runtime.Source, java.lang.String, java.util.Map<java.lang.String, byte[]>, java.util.Map<java.lang.Integer, jdk.nashorn.internal.runtime.FunctionInitializer>, [], int);
    descriptor: (Ljdk/nashorn/internal/runtime/Source;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;[Ljava/lang/Object;I)Ljdk/nashorn/internal/runtime/StoredScript;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=7
        start local 0 // jdk.nashorn.internal.runtime.CodeStore this
        start local 1 // jdk.nashorn.internal.runtime.Source source
        start local 2 // java.lang.String mainClassName
        start local 3 // java.util.Map classBytes
        start local 4 // java.util.Map initializers
        start local 5 // java.lang.Object[] constants
        start local 6 // int compilationId
         0: .line 151
            aload 5 /* constants */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 6
      StackMap locals: jdk.nashorn.internal.runtime.CodeStore jdk.nashorn.internal.runtime.Source java.lang.String java.util.Map java.util.Map java.lang.Object[] int top int int java.lang.Object[]
      StackMap stack:
         1: aload 10
            iload 8
            aaload
            astore 7 /* constant */
        start local 7 // java.lang.Object constant
         2: .line 153
            aload 7 /* constant */
            instanceof java.io.Serializable
            ifne 5
         3: .line 154
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.CodeStore.getLogger:()Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "cannot store "
            aastore
            dup
            iconst_1
            aload 1 /* source */
            aastore
            dup
            iconst_2
            ldc " non serializable constant "
            aastore
            dup
            iconst_3
            aload 7 /* constant */
            aastore
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.warning:([Ljava/lang/Object;)V
         4: .line 155
            aconst_null
            areturn
        end local 7 // java.lang.Object constant
         5: .line 151
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
         6: iload 8
            iload 9
            if_icmplt 1
         7: .line 158
            new jdk.nashorn.internal.runtime.StoredScript
            dup
            iload 6 /* compilationId */
            aload 2 /* mainClassName */
            aload 3 /* classBytes */
            aload 4 /* initializers */
            aload 5 /* constants */
            invokespecial jdk.nashorn.internal.runtime.StoredScript.<init>:(ILjava/lang/String;Ljava/util/Map;Ljava/util/Map;[Ljava/lang/Object;)V
            areturn
        end local 6 // int compilationId
        end local 5 // java.lang.Object[] constants
        end local 4 // java.util.Map initializers
        end local 3 // java.util.Map classBytes
        end local 2 // java.lang.String mainClassName
        end local 1 // jdk.nashorn.internal.runtime.Source source
        end local 0 // jdk.nashorn.internal.runtime.CodeStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Ljdk/nashorn/internal/runtime/CodeStore;
            0    8     1         source  Ljdk/nashorn/internal/runtime/Source;
            0    8     2  mainClassName  Ljava/lang/String;
            0    8     3     classBytes  Ljava/util/Map<Ljava/lang/String;[B>;
            0    8     4   initializers  Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/runtime/FunctionInitializer;>;
            0    8     5      constants  [Ljava/lang/Object;
            0    8     6  compilationId  I
            2    5     7       constant  Ljava/lang/Object;
    Signature: (Ljdk/nashorn/internal/runtime/Source;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;[B>;Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/runtime/FunctionInitializer;>;[Ljava/lang/Object;I)Ljdk/nashorn/internal/runtime/StoredScript;
    MethodParameters:
               Name  Flags
      source         final
      mainClassName  final
      classBytes     final
      initializers   final
      constants      final
      compilationId  final

  public static java.lang.String getCacheKey(java.lang.Object, jdk.nashorn.internal.codegen.types.Type[]);
    descriptor: (Ljava/lang/Object;[Ljdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.lang.Object functionId
        start local 1 // jdk.nashorn.internal.codegen.types.Type[] paramTypes
         0: .line 168
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* functionId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         1: .line 169
            aload 1 /* paramTypes */
            ifnull 8
            aload 1 /* paramTypes */
            arraylength
            ifle 8
         2: .line 170
            aload 2 /* b */
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 171
            aload 1 /* paramTypes */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: java.lang.Object jdk.nashorn.internal.codegen.types.Type[] java.lang.StringBuilder top int int jdk.nashorn.internal.codegen.types.Type[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* t */
        start local 3 // jdk.nashorn.internal.codegen.types.Type t
         5: .line 172
            aload 2 /* b */
            aload 3 /* t */
            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 3 // jdk.nashorn.internal.codegen.types.Type t
         6: .line 171
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 175
      StackMap locals: java.lang.Object jdk.nashorn.internal.codegen.types.Type[] java.lang.StringBuilder
      StackMap stack:
            aload 2 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder b
        end local 1 // jdk.nashorn.internal.codegen.types.Type[] paramTypes
        end local 0 // java.lang.Object functionId
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0  functionId  Ljava/lang/Object;
            0    9     1  paramTypes  [Ljdk/nashorn/internal/codegen/types/Type;
            1    9     2           b  Ljava/lang/StringBuilder;
            5    6     3           t  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
            Name  Flags
      functionId  final
      paramTypes  final
}
SourceFile: "CodeStore.java"
NestMembers:
  jdk.nashorn.internal.runtime.CodeStore$DirectoryCodeStore  jdk.nashorn.internal.runtime.CodeStore$DirectoryCodeStore$1  jdk.nashorn.internal.runtime.CodeStore$DirectoryCodeStore$2  jdk.nashorn.internal.runtime.CodeStore$DirectoryCodeStore$3
InnerClasses:
  public DirectoryCodeStore = jdk.nashorn.internal.runtime.CodeStore$DirectoryCodeStore of jdk.nashorn.internal.runtime.CodeStore
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.runtime.logging.Logger(name = "codestore")