class jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller extends jdk.nashorn.internal.runtime.Context$ContextCodeInstaller
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller
  super_class: jdk.nashorn.internal.runtime.Context$ContextCodeInstaller
{
  private final jdk.nashorn.internal.runtime.ScriptLoader loader;
    descriptor: Ljdk/nashorn/internal/runtime/ScriptLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int usageCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int bytesDefined;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static final int MAX_USAGES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final int MAX_BYTES_DEFINED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 200000

  private void <init>(jdk.nashorn.internal.runtime.Context, java.security.CodeSource, jdk.nashorn.internal.runtime.ScriptLoader);
    descriptor: (Ljdk/nashorn/internal/runtime/Context;Ljava/security/CodeSource;Ljdk/nashorn/internal/runtime/ScriptLoader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller this
        start local 1 // jdk.nashorn.internal.runtime.Context context
        start local 2 // java.security.CodeSource codeSource
        start local 3 // jdk.nashorn.internal.runtime.ScriptLoader loader
         0: .line 289
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* codeSource */
            invokespecial jdk.nashorn.internal.runtime.Context$ContextCodeInstaller.<init>:(Ljdk/nashorn/internal/runtime/Context;Ljava/security/CodeSource;)V
         1: .line 280
            aload 0 /* this */
            iconst_0
            putfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.usageCount:I
         2: .line 281
            aload 0 /* this */
            iconst_0
            putfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.bytesDefined:I
         3: .line 290
            aload 0 /* this */
            aload 3 /* loader */
            putfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.loader:Ljdk/nashorn/internal/runtime/ScriptLoader;
         4: .line 291
            return
        end local 3 // jdk.nashorn.internal.runtime.ScriptLoader loader
        end local 2 // java.security.CodeSource codeSource
        end local 1 // jdk.nashorn.internal.runtime.Context context
        end local 0 // jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Ljdk/nashorn/internal/runtime/Context$NamedContextCodeInstaller;
            0    5     1     context  Ljdk/nashorn/internal/runtime/Context;
            0    5     2  codeSource  Ljava/security/CodeSource;
            0    5     3      loader  Ljdk/nashorn/internal/runtime/ScriptLoader;
    MethodParameters:
            Name  Flags
      context     final
      codeSource  final
      loader      final

  public java.lang.Class<?> install(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller this
        start local 1 // java.lang.String className
        start local 2 // byte[] bytecode
         0: .line 295
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.usageCount:I
            iconst_1
            iadd
            putfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.usageCount:I
         1: .line 296
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.bytesDefined:I
            aload 2 /* bytecode */
            arraylength
            iadd
            putfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.bytesDefined:I
         2: .line 297
            getstatic jdk.nashorn.internal.runtime.Context.NAMED_INSTALLED_SCRIPT_COUNT:Ljava/util/concurrent/atomic/LongAdder;
            invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
         3: .line 298
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.loader:Ljdk/nashorn/internal/runtime/ScriptLoader;
            aload 1 /* className */
            invokestatic jdk.nashorn.internal.codegen.Compiler.binaryName:(Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* bytecode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.codeSource:Ljava/security/CodeSource;
            invokevirtual jdk.nashorn.internal.runtime.ScriptLoader.installClass:(Ljava/lang/String;[BLjava/security/CodeSource;)Ljava/lang/Class;
            areturn
        end local 2 // byte[] bytecode
        end local 1 // java.lang.String className
        end local 0 // jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljdk/nashorn/internal/runtime/Context$NamedContextCodeInstaller;
            0    4     1  className  Ljava/lang/String;
            0    4     2   bytecode  [B
    Signature: (Ljava/lang/String;[B)Ljava/lang/Class<*>;
    MethodParameters:
           Name  Flags
      className  final
      bytecode   final

  public jdk.nashorn.internal.runtime.CodeInstaller getOnDemandCompilationInstaller();
    descriptor: ()Ljdk/nashorn/internal/runtime/CodeInstaller;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller this
         0: .line 304
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.usageCount:I
            bipush 10
            if_icmpge 2
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.bytesDefined:I
            ldc 200000
            if_icmpge 2
         1: .line 305
            aload 0 /* this */
            areturn
         2: .line 307
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller
            dup
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.context:Ljdk/nashorn/internal/runtime/Context;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.codeSource:Ljava/security/CodeSource;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.context:Ljdk/nashorn/internal/runtime/Context;
            invokevirtual jdk.nashorn.internal.runtime.Context.createNewLoader:()Ljdk/nashorn/internal/runtime/ScriptLoader;
            invokespecial jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.<init>:(Ljdk/nashorn/internal/runtime/Context;Ljava/security/CodeSource;Ljdk/nashorn/internal/runtime/ScriptLoader;)V
            areturn
        end local 0 // jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/runtime/Context$NamedContextCodeInstaller;

  public jdk.nashorn.internal.runtime.CodeInstaller getMultiClassCodeInstaller();
    descriptor: ()Ljdk/nashorn/internal/runtime/CodeInstaller;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller this
         0: .line 314
            aload 0 /* this */
            areturn
        end local 0 // jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Context$NamedContextCodeInstaller;
}
SourceFile: "Context.java"
NestHost: jdk.nashorn.internal.runtime.Context
InnerClasses:
  private abstract ContextCodeInstaller = jdk.nashorn.internal.runtime.Context$ContextCodeInstaller of jdk.nashorn.internal.runtime.Context
  private NamedContextCodeInstaller = jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller of jdk.nashorn.internal.runtime.Context