public final class jdk.nashorn.internal.runtime.RecompilableScriptFunctionData extends jdk.nashorn.internal.runtime.ScriptFunctionData implements jdk.nashorn.internal.runtime.logging.Loggable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
  super_class: jdk.nashorn.internal.runtime.ScriptFunctionData
{
  public static final java.lang.String RECOMPILATION_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Recompilation$"

  private static final java.util.concurrent.ExecutorService astSerializerExecutorService;
    descriptor: Ljava/util/concurrent/ExecutorService;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final int functionNodeId;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String functionName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int lineNumber;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private transient jdk.nashorn.internal.runtime.Source source;
    descriptor: Ljdk/nashorn/internal/runtime/Source;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private volatile transient java.lang.Object cachedAst;
    descriptor: Ljava/lang/Object;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  private final long token;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.nashorn.internal.runtime.AllocationStrategy allocationStrategy;
    descriptor: Ljdk/nashorn/internal/runtime/AllocationStrategy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object endParserState;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private transient jdk.nashorn.internal.runtime.CodeInstaller installer;
    descriptor: Ljdk/nashorn/internal/runtime/CodeInstaller;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private final java.util.Map<java.lang.Integer, jdk.nashorn.internal.runtime.RecompilableScriptFunctionData> nestedFunctions;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;>;

  private jdk.nashorn.internal.runtime.RecompilableScriptFunctionData parent;
    descriptor: Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
    flags: (0x0002) ACC_PRIVATE

  private final int functionFlags;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.lang.invoke.MethodHandles$Lookup LOOKUP;
    descriptor: Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private transient jdk.nashorn.internal.runtime.logging.DebugLogger log;
    descriptor: Ljdk/nashorn/internal/runtime/logging/DebugLogger;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private final java.util.Map<java.lang.String, java.lang.Integer> externalScopeDepths;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;

  private final java.util.Set<java.lang.String> internalSymbols;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

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

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4914839316174633726

  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: .line 83
            ldc Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            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 jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
         3: .line 87
            invokestatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.createAstSerializerExecutorService:()Ljava/util/concurrent/ExecutorService;
            putstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.astSerializerExecutorService:Ljava/util/concurrent/ExecutorService;
         4: .line 134
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            putstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
         5: .line 142
            ldc "*et "
            invokevirtual java.lang.String.length:()I
            putstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.GET_SET_PREFIX_LENGTH:I
         6: .line 144
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.nashorn.internal.ir.FunctionNode, jdk.nashorn.internal.runtime.CodeInstaller, jdk.nashorn.internal.runtime.AllocationStrategy, java.util.Map<java.lang.Integer, jdk.nashorn.internal.runtime.RecompilableScriptFunctionData>, java.util.Map<java.lang.String, java.lang.Integer>, java.util.Set<java.lang.String>);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/runtime/CodeInstaller;Ljdk/nashorn/internal/runtime/AllocationStrategy;Ljava/util/Map;Ljava/util/Map;Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=7
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        start local 2 // jdk.nashorn.internal.runtime.CodeInstaller installer
        start local 3 // jdk.nashorn.internal.runtime.AllocationStrategy allocationStrategy
        start local 4 // java.util.Map nestedFunctions
        start local 5 // java.util.Map externalScopeDepths
        start local 6 // java.util.Set internalSymbols
         0: .line 164
            aload 0 /* this */
            aload 1 /* functionNode */
            invokestatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionName:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljava/lang/String;
         1: .line 165
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            sipush 250
            invokestatic java.lang.Math.min:(II)I
         2: .line 166
            aload 1 /* functionNode */
            invokestatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getDataFlags:(Ljdk/nashorn/internal/ir/FunctionNode;)I
            invokespecial jdk.nashorn.internal.runtime.ScriptFunctionData.<init>:(Ljava/lang/String;II)V
         3: .line 168
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionName:Ljava/lang/String;
         4: .line 169
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getLineNumber:()I
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.lineNumber:I
         5: .line 170
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlags:()I
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsCallee:()Z
            ifeq 6
            ldc 131072
            goto 7
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.runtime.CodeInstaller jdk.nashorn.internal.runtime.AllocationStrategy java.util.Map java.util.Map java.util.Set
      StackMap stack: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData int
         6: iconst_0
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.runtime.CodeInstaller jdk.nashorn.internal.runtime.AllocationStrategy java.util.Map java.util.Map java.util.Set
      StackMap stack: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData int int
         7: ior
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionFlags:I
         8: .line 171
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getId:()I
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
         9: .line 172
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getSource:()Ljdk/nashorn/internal/runtime/Source;
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.source:Ljdk/nashorn/internal/runtime/Source;
        10: .line 173
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getEndParserState:()Ljava/lang/Object;
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.endParserState:Ljava/lang/Object;
        11: .line 174
            aload 0 /* this */
            aload 1 /* functionNode */
            invokestatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.tokenFor:(Ljdk/nashorn/internal/ir/FunctionNode;)J
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.token:J
        12: .line 175
            aload 0 /* this */
            aload 2 /* installer */
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.installer:Ljdk/nashorn/internal/runtime/CodeInstaller;
        13: .line 176
            aload 0 /* this */
            aload 3 /* allocationStrategy */
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.allocationStrategy:Ljdk/nashorn/internal/runtime/AllocationStrategy;
        14: .line 177
            aload 0 /* this */
            aload 4 /* nestedFunctions */
            invokestatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.smallMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.nestedFunctions:Ljava/util/Map;
        15: .line 178
            aload 0 /* this */
            aload 5 /* externalScopeDepths */
            invokestatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.smallMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.externalScopeDepths:Ljava/util/Map;
        16: .line 179
            aload 0 /* this */
            new java.util.HashSet
            dup
            aload 6 /* internalSymbols */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            invokestatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.smallSet:(Ljava/util/Set;)Ljava/util/Set;
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.internalSymbols:Ljava/util/Set;
        17: .line 181
            aload 4 /* nestedFunctions */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 21
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.runtime.CodeInstaller jdk.nashorn.internal.runtime.AllocationStrategy java.util.Map java.util.Map java.util.Set top java.util.Iterator
      StackMap stack:
        18: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
            astore 7 /* nfn */
        start local 7 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData nfn
        19: .line 182
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 20
            aload 7 /* nfn */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getParent:()Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            ifnull 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 183
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.runtime.CodeInstaller jdk.nashorn.internal.runtime.AllocationStrategy java.util.Map java.util.Map java.util.Set jdk.nashorn.internal.runtime.RecompilableScriptFunctionData java.util.Iterator
      StackMap stack:
            aload 7 /* nfn */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.setParent:(Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;)V
        end local 7 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData nfn
        21: .line 181
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.runtime.CodeInstaller jdk.nashorn.internal.runtime.AllocationStrategy java.util.Map java.util.Map java.util.Set top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        22: .line 186
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.createLogger:()V
        23: .line 187
            return
        end local 6 // java.util.Set internalSymbols
        end local 5 // java.util.Map externalScopeDepths
        end local 4 // java.util.Map nestedFunctions
        end local 3 // jdk.nashorn.internal.runtime.AllocationStrategy allocationStrategy
        end local 2 // jdk.nashorn.internal.runtime.CodeInstaller installer
        end local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   24     0                 this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0   24     1         functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
            0   24     2            installer  Ljdk/nashorn/internal/runtime/CodeInstaller;
            0   24     3   allocationStrategy  Ljdk/nashorn/internal/runtime/AllocationStrategy;
            0   24     4      nestedFunctions  Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;>;
            0   24     5  externalScopeDepths  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
            0   24     6      internalSymbols  Ljava/util/Set<Ljava/lang/String;>;
           19   21     7                  nfn  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
    Signature: (Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/runtime/CodeInstaller;Ljdk/nashorn/internal/runtime/AllocationStrategy;Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
                     Name  Flags
      functionNode         final
      installer            final
      allocationStrategy   final
      nestedFunctions      final
      externalScopeDepths  final
      internalSymbols      final

  private static <K, V> java.util.Map<K, V> smallMap(java.util.Map<K, V>);
    descriptor: (Ljava/util/Map;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.Map map
         0: .line 190
            aload 0 /* map */
            ifnull 1
            aload 0 /* map */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 2
         1: .line 191
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            areturn
         2: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* map */
            invokeinterface java.util.Map.size:()I
            iconst_1
            if_icmpne 5
         3: .line 193
            aload 0 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
         4: .line 194
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            areturn
        end local 1 // java.util.Map$Entry entry
         5: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* map */
            areturn
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0    map  Ljava/util/Map<TK;TV;>;
            4    5     1  entry  Ljava/util/Map$Entry<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/Map<TK;TV;>;)Ljava/util/Map<TK;TV;>;
    MethodParameters:
      Name  Flags
      map   final

  private static <T> java.util.Set<T> smallSet(java.util.Set<T>);
    descriptor: (Ljava/util/Set;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Set set
         0: .line 201
            aload 0 /* set */
            ifnull 1
            aload 0 /* set */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 202
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         2: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* set */
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmpne 4
         3: .line 204
            aload 0 /* set */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            areturn
         4: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* set */
            areturn
        end local 0 // java.util.Set set
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   set  Ljava/util/Set<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Set<TT;>;)Ljava/util/Set<TT;>;
    MethodParameters:
      Name  Flags
      set   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.RecompilableScriptFunctionData this
         0: .line 212
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  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=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.runtime.Context ctxt
         0: .line 217
            aload 1 /* ctxt */
            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;
            areturn
        end local 1 // jdk.nashorn.internal.runtime.Context ctxt
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    1     1  ctxt  Ljdk/nashorn/internal/runtime/Context;
    MethodParameters:
      Name  Flags
      ctxt  final

  public boolean hasInternalSymbol(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // java.lang.String symbolName
         0: .line 230
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.internalSymbols:Ljava/util/Set;
            aload 1 /* symbolName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String symbolName
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    1     1  symbolName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      symbolName  final

  public int getExternalSymbolDepth(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // java.lang.String symbolName
         0: .line 239
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.externalScopeDepths:Ljava/util/Map;
            aload 1 /* symbolName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* depth */
        start local 2 // java.lang.Integer depth
         1: .line 240
            aload 2 /* depth */
            ifnonnull 2
            iconst_m1
            goto 3
      StackMap locals: java.lang.Integer
      StackMap stack:
         2: aload 2 /* depth */
            invokevirtual java.lang.Integer.intValue:()I
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // java.lang.Integer depth
        end local 1 // java.lang.String symbolName
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    4     1  symbolName  Ljava/lang/String;
            1    4     2       depth  Ljava/lang/Integer;
    MethodParameters:
            Name  Flags
      symbolName  final

  public java.util.Set<java.lang.String> getExternalSymbolNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 248
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.externalScopeDepths:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.lang.Object getEndParserState();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 257
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.endParserState:Ljava/lang/Object;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  public jdk.nashorn.internal.runtime.RecompilableScriptFunctionData getParent();
    descriptor: ()Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 268
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.parent:Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  void setParent(jdk.nashorn.internal.runtime.RecompilableScriptFunctionData);
    descriptor: (Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData parent
         0: .line 272
            aload 0 /* this */
            aload 1 /* parent */
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.parent:Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
         1: .line 273
            return
        end local 1 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData parent
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    2     1  parent  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
    MethodParameters:
        Name  Flags
      parent  final

  java.lang.String toSource();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 277
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.source:Ljdk/nashorn/internal/runtime/Source;
            ifnull 2
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.token:J
            lconst_0
            lcmp
            ifeq 2
         1: .line 278
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.source:Ljdk/nashorn/internal/runtime/Source;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.token:J
            invokestatic jdk.nashorn.internal.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.token:J
            invokestatic jdk.nashorn.internal.parser.Token.descLength:(J)I
            invokevirtual jdk.nashorn.internal.runtime.Source.getString:(II)Ljava/lang/String;
            areturn
         2: .line 281
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "function "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.name:Ljava/lang/String;
            ifnonnull 3
            ldc ""
            goto 4
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         3: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.name:Ljava/lang/String;
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
      StackMap stack: java.lang.StringBuilder java.lang.String
         4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "() { [native code] }"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  public void initTransients(jdk.nashorn.internal.runtime.Source, jdk.nashorn.internal.runtime.CodeInstaller);
    descriptor: (Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/runtime/CodeInstaller;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.runtime.Source src
        start local 2 // jdk.nashorn.internal.runtime.CodeInstaller inst
         0: .line 291
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.source:Ljdk/nashorn/internal/runtime/Source;
            ifnonnull 8
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.installer:Ljdk/nashorn/internal/runtime/CodeInstaller;
            ifnonnull 8
         1: .line 292
            aload 0 /* this */
            aload 1 /* src */
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.source:Ljdk/nashorn/internal/runtime/Source;
         2: .line 293
            aload 0 /* this */
            aload 2 /* inst */
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.installer:Ljdk/nashorn/internal/runtime/CodeInstaller;
         3: .line 294
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.nestedFunctions:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData jdk.nashorn.internal.runtime.Source jdk.nashorn.internal.runtime.CodeInstaller top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
            astore 3 /* nested */
        start local 3 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData nested
         5: .line 295
            aload 3 /* nested */
            aload 1 /* src */
            aload 2 /* inst */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.initTransients:(Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/runtime/CodeInstaller;)V
        end local 3 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData nested
         6: .line 294
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 297
            goto 10
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData jdk.nashorn.internal.runtime.Source jdk.nashorn.internal.runtime.CodeInstaller
      StackMap stack:
         8: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.source:Ljdk/nashorn/internal/runtime/Source;
            aload 1 /* src */
            if_acmpne 9
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.installer:Ljdk/nashorn/internal/runtime/CodeInstaller;
            aload 2 /* inst */
            invokeinterface jdk.nashorn.internal.runtime.CodeInstaller.isCompatibleWith:(Ljdk/nashorn/internal/runtime/CodeInstaller;)Z
            ifne 10
         9: .line 299
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        10: .line 301
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.nashorn.internal.runtime.CodeInstaller inst
        end local 1 // jdk.nashorn.internal.runtime.Source src
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0   11     1     src  Ljdk/nashorn/internal/runtime/Source;
            0   11     2    inst  Ljdk/nashorn/internal/runtime/CodeInstaller;
            5    6     3  nested  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
    MethodParameters:
      Name  Flags
      src   final
      inst  final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 305
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.runtime.ScriptFunctionData.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 64
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  public java.lang.String toStringVerbose();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 310
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 312
            aload 1 /* sb */
            ldc "fnId="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 314
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.source:Ljdk/nashorn/internal/runtime/Source;
            ifnull 7
         3: .line 315
            aload 1 /* sb */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.source:Ljdk/nashorn/internal/runtime/Source;
            invokevirtual jdk.nashorn.internal.runtime.Source.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 316
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         5: .line 317
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.lineNumber:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         6: .line 318
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 321
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.runtime.ScriptFunctionData.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 1 // java.lang.StringBuilder sb
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            1    8     1    sb  Ljava/lang/StringBuilder;

  public java.lang.String getFunctionName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 326
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionName:Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  public boolean inDynamicContext();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 331
            aload 0 /* this */
            ldc 65536
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getFunctionFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  private static java.lang.String functionName(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode fn
         0: .line 335
            aload 0 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isAnonymous:()Z
            ifeq 2
         1: .line 336
            ldc ""
            areturn
         2: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getKind:()Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            astore 1 /* kind */
        start local 1 // jdk.nashorn.internal.ir.FunctionNode$Kind kind
         3: .line 339
            aload 1 /* kind */
            getstatic jdk.nashorn.internal.ir.FunctionNode$Kind.GETTER:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            if_acmpeq 4
            aload 1 /* kind */
            getstatic jdk.nashorn.internal.ir.FunctionNode$Kind.SETTER:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            if_acmpne 6
         4: .line 340
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode$Kind
      StackMap stack:
            aload 0 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getIdent:()Ljdk/nashorn/internal/ir/IdentNode;
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.decode:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         5: .line 341
            aload 2 /* name */
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.GET_SET_PREFIX_LENGTH:I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String name
         6: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getIdent:()Ljdk/nashorn/internal/ir/IdentNode;
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
            areturn
        end local 1 // jdk.nashorn.internal.ir.FunctionNode$Kind kind
        end local 0 // jdk.nashorn.internal.ir.FunctionNode fn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    fn  Ljdk/nashorn/internal/ir/FunctionNode;
            3    7     1  kind  Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            5    6     2  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      fn    final

  private static long tokenFor(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode fn
         0: .line 347
            aload 0 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFirstToken:()J
            invokestatic jdk.nashorn.internal.parser.Token.descPosition:(J)I
            istore 1 /* position */
        start local 1 // int position
         1: .line 348
            aload 0 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getLastToken:()J
            invokestatic jdk.nashorn.internal.parser.Token.withDelimiter:(J)J
            lstore 2 /* lastToken */
        start local 2 // long lastToken
         2: .line 350
            lload 2 /* lastToken */
            invokestatic jdk.nashorn.internal.parser.Token.descPosition:(J)I
            iload 1 /* position */
            isub
            lload 2 /* lastToken */
            invokestatic jdk.nashorn.internal.parser.Token.descType:(J)Ljdk/nashorn/internal/parser/TokenType;
            getstatic jdk.nashorn.internal.parser.TokenType.EOL:Ljdk/nashorn/internal/parser/TokenType;
            if_acmpne 3
            iconst_0
            goto 4
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode int long
      StackMap stack: int
         3: lload 2 /* lastToken */
            invokestatic jdk.nashorn.internal.parser.Token.descLength:(J)I
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode int long
      StackMap stack: int int
         4: iadd
            istore 4 /* length */
        start local 4 // int length
         5: .line 352
            getstatic jdk.nashorn.internal.parser.TokenType.FUNCTION:Ljdk/nashorn/internal/parser/TokenType;
            iload 1 /* position */
            iload 4 /* length */
            invokestatic jdk.nashorn.internal.parser.Token.toDesc:(Ljdk/nashorn/internal/parser/TokenType;II)J
            lreturn
        end local 4 // int length
        end local 2 // long lastToken
        end local 1 // int position
        end local 0 // jdk.nashorn.internal.ir.FunctionNode fn
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0         fn  Ljdk/nashorn/internal/ir/FunctionNode;
            1    6     1   position  I
            2    6     2  lastToken  J
            5    6     4     length  I
    MethodParameters:
      Name  Flags
      fn    final

  private static int getDataFlags(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode functionNode
         0: .line 356
            iconst_4
            istore 1 /* flags */
        start local 1 // int flags
         1: .line 357
            aload 0 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isStrict:()Z
            ifeq 3
         2: .line 358
            iload 1 /* flags */
            iconst_1
            ior
            istore 1 /* flags */
         3: .line 360
      StackMap locals: int
      StackMap stack:
            aload 0 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsCallee:()Z
            ifeq 5
         4: .line 361
            iload 1 /* flags */
            bipush 8
            ior
            istore 1 /* flags */
         5: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.usesThis:()Z
            ifne 6
            aload 0 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.hasEval:()Z
            ifeq 7
         6: .line 364
      StackMap locals:
      StackMap stack:
            iload 1 /* flags */
            bipush 16
            ior
            istore 1 /* flags */
         7: .line 366
      StackMap locals:
      StackMap stack:
            aload 0 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isVarArg:()Z
            ifeq 9
         8: .line 367
            iload 1 /* flags */
            bipush 32
            ior
            istore 1 /* flags */
         9: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getKind:()Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            getstatic jdk.nashorn.internal.ir.FunctionNode$Kind.GETTER:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            if_acmpeq 10
            aload 0 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getKind:()Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            getstatic jdk.nashorn.internal.ir.FunctionNode$Kind.SETTER:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            if_acmpne 11
        10: .line 370
      StackMap locals:
      StackMap stack:
            iload 1 /* flags */
            bipush 64
            ior
            istore 1 /* flags */
        11: .line 372
      StackMap locals:
      StackMap stack:
            aload 0 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isMethod:()Z
            ifne 12
            aload 0 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isClassConstructor:()Z
            ifeq 13
        12: .line 373
      StackMap locals:
      StackMap stack:
            iload 1 /* flags */
            sipush 128
            ior
            istore 1 /* flags */
        13: .line 375
      StackMap locals:
      StackMap stack:
            iload 1 /* flags */
            ireturn
        end local 1 // int flags
        end local 0 // jdk.nashorn.internal.ir.FunctionNode functionNode
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0  functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
            1   14     1         flags  I
    MethodParameters:
              Name  Flags
      functionNode  final

  jdk.nashorn.internal.runtime.PropertyMap getAllocatorMap(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/PropertyMap;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject prototype
         0: .line 380
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.allocationStrategy:Ljdk/nashorn/internal/runtime/AllocationStrategy;
            aload 1 /* prototype */
            invokevirtual jdk.nashorn.internal.runtime.AllocationStrategy.getAllocatorMap:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/PropertyMap;
            areturn
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject prototype
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    1     1  prototype  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
           Name  Flags
      prototype  final

  jdk.nashorn.internal.runtime.ScriptObject allocate(jdk.nashorn.internal.runtime.PropertyMap);
    descriptor: (Ljdk/nashorn/internal/runtime/PropertyMap;)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.runtime.PropertyMap map
         0: .line 385
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.allocationStrategy:Ljdk/nashorn/internal/runtime/AllocationStrategy;
            aload 1 /* map */
            invokevirtual jdk.nashorn.internal.runtime.AllocationStrategy.allocate:(Ljdk/nashorn/internal/runtime/PropertyMap;)Ljdk/nashorn/internal/runtime/ScriptObject;
            areturn
        end local 1 // jdk.nashorn.internal.runtime.PropertyMap map
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    1     1   map  Ljdk/nashorn/internal/runtime/PropertyMap;
    MethodParameters:
      Name  Flags
      map   final

  jdk.nashorn.internal.ir.FunctionNode reparse();
    descriptor: ()Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0000) 
    Code:
      stack=9, locals=6, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 389
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getCachedAst:()Ljdk/nashorn/internal/ir/FunctionNode;
            astore 1 /* cachedFunction */
        start local 1 // jdk.nashorn.internal.ir.FunctionNode cachedFunction
         1: .line 390
            aload 1 /* cachedFunction */
            ifnull 4
         2: .line 391
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 3
            aload 1 /* cachedFunction */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isCached:()Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 392
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode
      StackMap stack:
            aload 1 /* cachedFunction */
            areturn
         4: .line 395
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.token:J
            invokestatic jdk.nashorn.internal.parser.Token.descPosition:(J)I
            istore 2 /* descPosition */
        start local 2 // int descPosition
         5: .line 396
            invokestatic jdk.nashorn.internal.runtime.Context.getContextTrusted:()Ljdk/nashorn/internal/runtime/Context;
            astore 3 /* context */
        start local 3 // jdk.nashorn.internal.runtime.Context context
         6: .line 397
            new jdk.nashorn.internal.parser.Parser
            dup
         7: .line 398
            aload 3 /* context */
            invokevirtual jdk.nashorn.internal.runtime.Context.getEnv:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
         8: .line 399
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.source:Ljdk/nashorn/internal/runtime/Source;
         9: .line 400
            new jdk.nashorn.internal.runtime.Context$ThrowErrorManager
            dup
            invokespecial jdk.nashorn.internal.runtime.Context$ThrowErrorManager.<init>:()V
        10: .line 401
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.isStrict:()Z
        11: .line 404
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.lineNumber:I
            iconst_1
            isub
        12: .line 405
            aload 3 /* context */
            ldc Ljdk/nashorn/internal/parser/Parser;
            invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
        13: .line 397
            invokespecial jdk.nashorn.internal.parser.Parser.<init>:(Ljdk/nashorn/internal/runtime/ScriptEnvironment;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/runtime/ErrorManager;ZILjdk/nashorn/internal/runtime/logging/DebugLogger;)V
            astore 4 /* parser */
        start local 4 // jdk.nashorn.internal.parser.Parser parser
        14: .line 407
            aload 0 /* this */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getFunctionFlag:(I)Z
            ifeq 16
        15: .line 408
            aload 4 /* parser */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionName:Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.parser.Parser.setFunctionName:(Ljava/lang/String;)V
        16: .line 410
      StackMap locals: int jdk.nashorn.internal.runtime.Context jdk.nashorn.internal.parser.Parser
      StackMap stack:
            aload 4 /* parser */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.parser.Parser.setReparsedFunction:(Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;)V
        17: .line 412
            aload 4 /* parser */
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.PROGRAM:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
            iload 2 /* descPosition */
        18: .line 413
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.token:J
            invokestatic jdk.nashorn.internal.parser.Token.descLength:(J)I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.flags:I
        19: .line 412
            invokevirtual jdk.nashorn.internal.parser.Parser.parse:(Ljava/lang/String;III)Ljdk/nashorn/internal/ir/FunctionNode;
            astore 5 /* program */
        start local 5 // jdk.nashorn.internal.ir.FunctionNode program
        20: .line 416
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.isProgram:()Z
            ifeq 21
            aload 5 /* program */
            goto 22
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode
      StackMap stack:
        21: aload 0 /* this */
            aload 5 /* program */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.extractFunctionFromScript:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.FunctionNode
        22: aconst_null
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionName:Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.setName:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/String;)Ljdk/nashorn/internal/ir/FunctionNode;
            areturn
        end local 5 // jdk.nashorn.internal.ir.FunctionNode program
        end local 4 // jdk.nashorn.internal.parser.Parser parser
        end local 3 // jdk.nashorn.internal.runtime.Context context
        end local 2 // int descPosition
        end local 1 // jdk.nashorn.internal.ir.FunctionNode cachedFunction
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            1   23     1  cachedFunction  Ljdk/nashorn/internal/ir/FunctionNode;
            5   23     2    descPosition  I
            6   23     3         context  Ljdk/nashorn/internal/runtime/Context;
           14   23     4          parser  Ljdk/nashorn/internal/parser/Parser;
           20   23     5         program  Ljdk/nashorn/internal/ir/FunctionNode;

  private jdk.nashorn.internal.ir.FunctionNode getCachedAst();
    descriptor: ()Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 420
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.cachedAst:Ljava/lang/Object;
            astore 1 /* lCachedAst */
        start local 1 // java.lang.Object lCachedAst
         1: .line 422
            aload 1 /* lCachedAst */
            instanceof java.lang.ref.Reference
            ifeq 5
         2: .line 423
            aload 1 /* lCachedAst */
            checkcast java.lang.ref.Reference
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            astore 2 /* fn */
        start local 2 // jdk.nashorn.internal.ir.FunctionNode fn
         3: .line 424
            aload 2 /* fn */
            ifnull 15
         4: .line 426
            aload 0 /* this */
            aload 2 /* fn */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.cloneSymbols:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
            areturn
        end local 2 // jdk.nashorn.internal.ir.FunctionNode fn
         5: .line 429
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* lCachedAst */
            instanceof jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst
            ifeq 15
         6: .line 430
            aload 1 /* lCachedAst */
            checkcast jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst
            astore 2 /* serializedAst */
        start local 2 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst serializedAst
         7: .line 432
            aload 2 /* serializedAst */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst.cachedAst:Ljava/lang/ref/Reference;
            ifnonnull 8
            aconst_null
            goto 9
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst
      StackMap stack:
         8: aload 2 /* serializedAst */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst.cachedAst:Ljava/lang/ref/Reference;
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.FunctionNode
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.FunctionNode
         9: astore 3 /* cachedFn */
        start local 3 // jdk.nashorn.internal.ir.FunctionNode cachedFn
        10: .line 433
            aload 3 /* cachedFn */
            ifnull 12
        11: .line 435
            aload 0 /* this */
            aload 3 /* cachedFn */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.cloneSymbols:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
            areturn
        12: .line 437
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode
      StackMap stack:
            aload 0 /* this */
            aload 2 /* serializedAst */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst.serializedAst:[B
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.deserialize:([B)Ljdk/nashorn/internal/ir/FunctionNode;
            astore 4 /* deserializedFn */
        start local 4 // jdk.nashorn.internal.ir.FunctionNode deserializedFn
        13: .line 439
            aload 2 /* serializedAst */
            new java.lang.ref.SoftReference
            dup
            aload 4 /* deserializedFn */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst.cachedAst:Ljava/lang/ref/Reference;
        14: .line 440
            aload 4 /* deserializedFn */
            areturn
        end local 4 // jdk.nashorn.internal.ir.FunctionNode deserializedFn
        end local 3 // jdk.nashorn.internal.ir.FunctionNode cachedFn
        end local 2 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst serializedAst
        15: .line 443
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.Object lCachedAst
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0            this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            1   16     1      lCachedAst  Ljava/lang/Object;
            3    5     2              fn  Ljdk/nashorn/internal/ir/FunctionNode;
            7   15     2   serializedAst  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData$SerializedAst;
           10   15     3        cachedFn  Ljdk/nashorn/internal/ir/FunctionNode;
           13   15     4  deserializedFn  Ljdk/nashorn/internal/ir/FunctionNode;

  public void setCachedAst(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode astToCache
         0: .line 451
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 1
            aload 1 /* astToCache */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getId:()I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 452
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.cachedAst:Ljava/lang/Object;
            instanceof jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 454
      StackMap locals:
      StackMap stack:
            aload 1 /* astToCache */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isSplit:()Z
            istore 2 /* isSplit */
        start local 2 // boolean isSplit
         3: .line 457
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 4
            iload 2 /* isSplit */
            ifeq 4
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.cachedAst:Ljava/lang/Object;
            ifnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 459
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* astToCache */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.cloneSymbols:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
            astore 3 /* symbolClonedAst */
        start local 3 // jdk.nashorn.internal.ir.FunctionNode symbolClonedAst
         5: .line 460
            new java.lang.ref.SoftReference
            dup
            aload 3 /* symbolClonedAst */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            astore 4 /* ref */
        start local 4 // java.lang.ref.Reference ref
         6: .line 461
            aload 0 /* this */
            aload 4 /* ref */
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.cachedAst:Ljava/lang/Object;
         7: .line 464
            iload 2 /* isSplit */
            ifeq 9
         8: .line 465
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.astSerializerExecutorService:Ljava/util/concurrent/ExecutorService;
            aload 0 /* this */
            aload 3 /* symbolClonedAst */
            aload 4 /* ref */
            invokedynamic run(Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/ref/Reference;)Ljava/lang/Runnable;
              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:
                  ()V
                  jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.lambda$0(Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/ref/Reference;)V (7)
                  ()V
            invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
         9: .line 469
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode java.lang.ref.Reference
      StackMap stack:
            return
        end local 4 // java.lang.ref.Reference ref
        end local 3 // jdk.nashorn.internal.ir.FunctionNode symbolClonedAst
        end local 2 // boolean isSplit
        end local 1 // jdk.nashorn.internal.ir.FunctionNode astToCache
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0   10     1       astToCache  Ljdk/nashorn/internal/ir/FunctionNode;
            3   10     2          isSplit  Z
            5   10     3  symbolClonedAst  Ljdk/nashorn/internal/ir/FunctionNode;
            6   10     4              ref  Ljava/lang/ref/Reference<Ljdk/nashorn/internal/ir/FunctionNode;>;
    MethodParameters:
            Name  Flags
      astToCache  final

  private static java.util.concurrent.ExecutorService createAstSerializerExecutorService();
    descriptor: ()Ljava/util/concurrent/ExecutorService;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=2, args_size=0
         0: .line 481
            iconst_1
            ldc "nashorn.serialize.threads"
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.availableProcessors:()I
            iconst_2
            idiv
            invokestatic jdk.nashorn.internal.runtime.options.Options.getIntProperty:(Ljava/lang/String;I)I
            invokestatic java.lang.Math.max:(II)I
            istore 0 /* threads */
        start local 0 // int threads
         1: .line 482
            new java.util.concurrent.ThreadPoolExecutor
            dup
            iload 0 /* threads */
            iload 0 /* threads */
            lconst_1
            getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
            new java.util.concurrent.LinkedBlockingDeque
            dup
            invokespecial java.util.concurrent.LinkedBlockingDeque.<init>:()V
         2: .line 483
            invokedynamic newThread()Ljava/util/concurrent/ThreadFactory;
              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/Runnable;)Ljava/lang/Thread;
                  jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.lambda$1(Ljava/lang/Runnable;)Ljava/lang/Thread; (6)
                  (Ljava/lang/Runnable;)Ljava/lang/Thread;
         3: .line 482
            invokespecial java.util.concurrent.ThreadPoolExecutor.<init>:(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
            astore 1 /* service */
        start local 1 // java.util.concurrent.ThreadPoolExecutor service
         4: .line 489
            aload 1 /* service */
            iconst_1
            invokevirtual java.util.concurrent.ThreadPoolExecutor.allowCoreThreadTimeOut:(Z)V
         5: .line 490
            aload 1 /* service */
            areturn
        end local 1 // java.util.concurrent.ThreadPoolExecutor service
        end local 0 // int threads
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1    6     0  threads  I
            4    6     1  service  Ljava/util/concurrent/ThreadPoolExecutor;

  private jdk.nashorn.internal.ir.FunctionNode deserialize(byte[]);
    descriptor: ([B)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // byte[] serializedAst
         0: .line 513
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.installer:Ljdk/nashorn/internal/runtime/CodeInstaller;
            invokeinterface jdk.nashorn.internal.runtime.CodeInstaller.getContext:()Ljdk/nashorn/internal/runtime/Context;
            invokevirtual jdk.nashorn.internal.runtime.Context.getEnv:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            astore 2 /* env */
        start local 2 // jdk.nashorn.internal.runtime.ScriptEnvironment env
         1: .line 514
            aload 2 /* env */
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._timing:Ljdk/nashorn/internal/runtime/Timing;
            astore 3 /* timing */
        start local 3 // jdk.nashorn.internal.runtime.Timing timing
         2: .line 515
            invokestatic java.lang.System.nanoTime:()J
            lstore 4 /* t1 */
        start local 4 // long t1
         3: .line 517
            aload 1 /* serializedAst */
            invokestatic jdk.nashorn.internal.runtime.AstDeserializer.deserialize:([B)Ljdk/nashorn/internal/ir/FunctionNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.source:Ljdk/nashorn/internal/runtime/Source;
            new jdk.nashorn.internal.codegen.Namespace
            dup
            aload 2 /* env */
            invokevirtual jdk.nashorn.internal.runtime.ScriptEnvironment.getNamespace:()Ljdk/nashorn/internal/codegen/Namespace;
            invokespecial jdk.nashorn.internal.codegen.Namespace.<init>:(Ljdk/nashorn/internal/codegen/Namespace;)V
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.initializeDeserialized:(Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/codegen/Namespace;)Ljdk/nashorn/internal/ir/FunctionNode;
            astore 7
         4: .line 519
            aload 3 /* timing */
            ldc "'Deserialize'"
            invokestatic java.lang.System.nanoTime:()J
            lload 4 /* t1 */
            lsub
            invokevirtual jdk.nashorn.internal.runtime.Timing.accumulateTime:(Ljava/lang/String;J)V
         5: .line 517
            aload 7
            areturn
         6: .line 518
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData byte[] jdk.nashorn.internal.runtime.ScriptEnvironment jdk.nashorn.internal.runtime.Timing long
      StackMap stack: java.lang.Throwable
            astore 6
         7: .line 519
            aload 3 /* timing */
            ldc "'Deserialize'"
            invokestatic java.lang.System.nanoTime:()J
            lload 4 /* t1 */
            lsub
            invokevirtual jdk.nashorn.internal.runtime.Timing.accumulateTime:(Ljava/lang/String;J)V
         8: .line 520
            aload 6
            athrow
        end local 4 // long t1
        end local 3 // jdk.nashorn.internal.runtime.Timing timing
        end local 2 // jdk.nashorn.internal.runtime.ScriptEnvironment env
        end local 1 // byte[] serializedAst
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    9     1  serializedAst  [B
            1    9     2            env  Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            2    9     3         timing  Ljdk/nashorn/internal/runtime/Timing;
            3    9     4             t1  J
      Exception table:
        from    to  target  type
           3     4       6  any
    MethodParameters:
               Name  Flags
      serializedAst  final

  private jdk.nashorn.internal.ir.FunctionNode cloneSymbols(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode fn
         0: .line 524
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            astore 2 /* symbolReplacements */
        start local 2 // java.util.IdentityHashMap symbolReplacements
         1: .line 525
            aload 1 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isCached:()Z
            istore 3 /* cached */
        start local 3 // boolean cached
         2: .line 530
            aload 1 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isSplit:()Z
            ifeq 3
            iload 3 /* cached */
            ifne 3
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
            goto 4
      StackMap locals: java.util.IdentityHashMap int
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: java.util.Set
         4: astore 4 /* blockDefinedSymbols */
        start local 4 // java.util.Set blockDefinedSymbols
         5: .line 531
            aload 1 /* fn */
            new jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$1
            dup
            aload 0 /* this */
            aload 2 /* symbolReplacements */
            aload 4 /* blockDefinedSymbols */
            iload 3 /* cached */
            invokespecial jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$1.<init>:(Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;Ljava/util/IdentityHashMap;Ljava/util/Set;Z)V
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            astore 5 /* newFn */
        start local 5 // jdk.nashorn.internal.ir.FunctionNode newFn
         6: .line 602
            aload 4 /* blockDefinedSymbols */
            ifnull 20
         7: .line 604
            aconst_null
            astore 6 /* newBody */
        start local 6 // jdk.nashorn.internal.ir.Block newBody
         8: .line 605
            aload 2 /* symbolReplacements */
            invokevirtual java.util.IdentityHashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 19
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData jdk.nashorn.internal.ir.FunctionNode java.util.IdentityHashMap int java.util.Set jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.Block top java.util.Iterator
      StackMap stack:
         9: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Symbol
            astore 7 /* symbol */
        start local 7 // jdk.nashorn.internal.ir.Symbol symbol
        10: .line 606
            aload 4 /* blockDefinedSymbols */
            aload 7 /* symbol */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 19
        11: .line 607
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 12
            aload 7 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 608
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData jdk.nashorn.internal.ir.FunctionNode java.util.IdentityHashMap int java.util.Set jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.Symbol java.util.Iterator
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.externalScopeDepths:Ljava/util/Map;
            aload 7 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 610
      StackMap locals:
      StackMap stack:
            aload 7 /* symbol */
            aload 7 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getFlags:()I
            bipush -4
            iand
            iconst_1
            ior
            invokevirtual jdk.nashorn.internal.ir.Symbol.setFlags:(I)Ljdk/nashorn/internal/ir/Symbol;
            pop
        14: .line 611
            aload 6 /* newBody */
            ifnonnull 17
        15: .line 612
            aload 5 /* newFn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.internal.ir.Block.copyWithNewSymbols:()Ljdk/nashorn/internal/ir/Block;
            astore 6 /* newBody */
        16: .line 613
            aload 5 /* newFn */
            aconst_null
            aload 6 /* newBody */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.setBody:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/FunctionNode;
            astore 5 /* newFn */
        17: .line 615
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 18
            aload 6 /* newBody */
            aload 7 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
            ifnull 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 616
      StackMap locals:
      StackMap stack:
            aload 6 /* newBody */
            aload 7 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Block.putSymbol:(Ljdk/nashorn/internal/ir/Symbol;)V
        end local 7 // jdk.nashorn.internal.ir.Symbol symbol
        19: .line 605
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData jdk.nashorn.internal.ir.FunctionNode java.util.IdentityHashMap int java.util.Set jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.Block top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 6 // jdk.nashorn.internal.ir.Block newBody
        20: .line 620
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData jdk.nashorn.internal.ir.FunctionNode java.util.IdentityHashMap int java.util.Set jdk.nashorn.internal.ir.FunctionNode
      StackMap stack:
            aload 5 /* newFn */
            aconst_null
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.setCached:(Ljdk/nashorn/internal/ir/LexicalContext;)Ljdk/nashorn/internal/ir/FunctionNode;
            areturn
        end local 5 // jdk.nashorn.internal.ir.FunctionNode newFn
        end local 4 // java.util.Set blockDefinedSymbols
        end local 3 // boolean cached
        end local 2 // java.util.IdentityHashMap symbolReplacements
        end local 1 // jdk.nashorn.internal.ir.FunctionNode fn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   21     0                 this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0   21     1                   fn  Ljdk/nashorn/internal/ir/FunctionNode;
            1   21     2   symbolReplacements  Ljava/util/IdentityHashMap<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/ir/Symbol;>;
            2   21     3               cached  Z
            5   21     4  blockDefinedSymbols  Ljava/util/Set<Ljdk/nashorn/internal/ir/Symbol;>;
            6   21     5                newFn  Ljdk/nashorn/internal/ir/FunctionNode;
            8   20     6              newBody  Ljdk/nashorn/internal/ir/Block;
           10   19     7               symbol  Ljdk/nashorn/internal/ir/Symbol;
    MethodParameters:
      Name  Flags
      fn    final

  private boolean getFunctionFlag(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // int flag
         0: .line 624
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionFlags:I
            iload 1 /* flag */
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int flag
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    2     1  flag  I
    MethodParameters:
      Name  Flags
      flag  final

  private boolean isProgram();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 628
            aload 0 /* this */
            sipush 8192
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getFunctionFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  jdk.nashorn.internal.codegen.TypeMap typeMap(java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodType;)Ljdk/nashorn/internal/codegen/TypeMap;
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // java.lang.invoke.MethodType fnCallSiteType
         0: .line 632
            aload 1 /* fnCallSiteType */
            ifnonnull 2
         1: .line 633
            aconst_null
            areturn
         2: .line 636
      StackMap locals:
      StackMap stack:
            aload 1 /* fnCallSiteType */
            invokestatic jdk.nashorn.internal.runtime.CompiledFunction.isVarArgsType:(Ljava/lang/invoke/MethodType;)Z
            ifeq 4
         3: .line 637
            aconst_null
            areturn
         4: .line 640
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.codegen.TypeMap
            dup
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
            aload 0 /* this */
            aload 1 /* fnCallSiteType */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.explicitParams:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodType;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.needsCallee:()Z
            invokespecial jdk.nashorn.internal.codegen.TypeMap.<init>:(ILjava/lang/invoke/MethodType;Z)V
            areturn
        end local 1 // java.lang.invoke.MethodType fnCallSiteType
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    5     1  fnCallSiteType  Ljava/lang/invoke/MethodType;
    MethodParameters:
                Name  Flags
      fnCallSiteType  final

  private static jdk.nashorn.internal.runtime.ScriptObject newLocals(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject runtimeScope
         0: .line 644
            invokestatic jdk.nashorn.internal.objects.Global.newEmptyInstance:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 1 /* locals */
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject locals
         1: .line 645
            aload 1 /* locals */
            aload 0 /* runtimeScope */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setProto:(Ljdk/nashorn/internal/runtime/ScriptObject;)V
         2: .line 646
            aload 1 /* locals */
            areturn
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject locals
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject runtimeScope
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  runtimeScope  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    3     1        locals  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
              Name  Flags
      runtimeScope  final

  private jdk.nashorn.internal.codegen.Compiler getCompiler(jdk.nashorn.internal.ir.FunctionNode, java.lang.invoke.MethodType, jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/codegen/Compiler;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode fn
        start local 2 // java.lang.invoke.MethodType actualCallSiteType
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject runtimeScope
         0: .line 650
            aload 0 /* this */
            aload 1 /* fn */
            aload 2 /* actualCallSiteType */
            aload 3 /* runtimeScope */
            invokestatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.newLocals:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptObject;
            aconst_null
            aconst_null
            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 // jdk.nashorn.internal.runtime.ScriptObject runtimeScope
        end local 2 // java.lang.invoke.MethodType actualCallSiteType
        end local 1 // jdk.nashorn.internal.ir.FunctionNode fn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    1     1                  fn  Ljdk/nashorn/internal/ir/FunctionNode;
            0    1     2  actualCallSiteType  Ljava/lang/invoke/MethodType;
            0    1     3        runtimeScope  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
                    Name  Flags
      fn                  final
      actualCallSiteType  final
      runtimeScope        final

  private jdk.nashorn.internal.runtime.CodeInstaller getInstallerForNewCode();
    descriptor: ()Ljdk/nashorn/internal/runtime/CodeInstaller;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 660
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.installer:Ljdk/nashorn/internal/runtime/CodeInstaller;
            invokeinterface jdk.nashorn.internal.runtime.CodeInstaller.getContext:()Ljdk/nashorn/internal/runtime/Context;
            invokevirtual jdk.nashorn.internal.runtime.Context.getEnv:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            astore 1 /* env */
        start local 1 // jdk.nashorn.internal.runtime.ScriptEnvironment env
         1: .line 661
            aload 1 /* env */
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._optimistic_types:Z
            ifne 2
            aload 1 /* env */
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._loader_per_compile:Z
            ifeq 3
      StackMap locals: jdk.nashorn.internal.runtime.ScriptEnvironment
      StackMap stack:
         2: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.installer:Ljdk/nashorn/internal/runtime/CodeInstaller;
            invokeinterface jdk.nashorn.internal.runtime.CodeInstaller.getOnDemandCompilationInstaller:()Ljdk/nashorn/internal/runtime/CodeInstaller;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.installer:Ljdk/nashorn/internal/runtime/CodeInstaller;
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.CodeInstaller
         4: areturn
        end local 1 // jdk.nashorn.internal.runtime.ScriptEnvironment env
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            1    5     1   env  Ljdk/nashorn/internal/runtime/ScriptEnvironment;

  jdk.nashorn.internal.codegen.Compiler getCompiler(jdk.nashorn.internal.ir.FunctionNode, java.lang.invoke.MethodType, jdk.nashorn.internal.runtime.ScriptObject, java.util.Map<java.lang.Integer, jdk.nashorn.internal.codegen.types.Type>, int[]);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/util/Map;[I)Ljdk/nashorn/internal/codegen/Compiler;
    flags: (0x0000) 
    Code:
      stack=9, locals=9, args_size=6
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        start local 2 // java.lang.invoke.MethodType actualCallSiteType
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject runtimeScope
        start local 4 // java.util.Map invalidatedProgramPoints
        start local 5 // int[] continuationEntryPoints
         0: .line 667
            aload 0 /* this */
            aload 2 /* actualCallSiteType */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.typeMap:(Ljava/lang/invoke/MethodType;)Ljdk/nashorn/internal/codegen/TypeMap;
            astore 6 /* typeMap */
        start local 6 // jdk.nashorn.internal.codegen.TypeMap typeMap
         1: .line 668
            aload 6 /* typeMap */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: jdk.nashorn.internal.codegen.TypeMap
      StackMap stack:
         2: aload 6 /* typeMap */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
            invokevirtual jdk.nashorn.internal.codegen.TypeMap.getParameterTypes:(I)[Ljdk/nashorn/internal/codegen/types/Type;
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.types.Type[]
         3: astore 7 /* paramTypes */
        start local 7 // jdk.nashorn.internal.codegen.types.Type[] paramTypes
         4: .line 669
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.source:Ljdk/nashorn/internal/runtime/Source;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
            aload 7 /* paramTypes */
            invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.getLocationDescriptor:(Ljdk/nashorn/internal/runtime/Source;I[Ljdk/nashorn/internal/codegen/types/Type;)Ljava/lang/Object;
            astore 8 /* typeInformationFile */
        start local 8 // java.lang.Object typeInformationFile
         5: .line 671
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getInstallerForNewCode:()Ljdk/nashorn/internal/runtime/CodeInstaller;
         6: .line 672
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getSource:()Ljdk/nashorn/internal/runtime/Source;
         7: .line 673
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.isStrict:()Z
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isStrict:()Z
            ior
         8: .line 674
            aload 0 /* this */
         9: .line 675
            aload 6 /* typeMap */
        10: .line 676
            aload 4 /* invalidatedProgramPoints */
            aload 8 /* typeInformationFile */
            invokestatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getEffectiveInvalidatedProgramPoints:(Ljava/util/Map;Ljava/lang/Object;)Ljava/util/Map;
        11: .line 677
            aload 8 /* typeInformationFile */
        12: .line 678
            aload 5 /* continuationEntryPoints */
        13: .line 679
            aload 3 /* runtimeScope */
        14: .line 670
            invokestatic jdk.nashorn.internal.codegen.Compiler.forOnDemandCompilation:(Ljdk/nashorn/internal/runtime/CodeInstaller;Ljdk/nashorn/internal/runtime/Source;ZLjdk/nashorn/internal/runtime/RecompilableScriptFunctionData;Ljdk/nashorn/internal/codegen/TypeMap;Ljava/util/Map;Ljava/lang/Object;[ILjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/codegen/Compiler;
            areturn
        end local 8 // java.lang.Object typeInformationFile
        end local 7 // jdk.nashorn.internal.codegen.types.Type[] paramTypes
        end local 6 // jdk.nashorn.internal.codegen.TypeMap typeMap
        end local 5 // int[] continuationEntryPoints
        end local 4 // java.util.Map invalidatedProgramPoints
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject runtimeScope
        end local 2 // java.lang.invoke.MethodType actualCallSiteType
        end local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   15     0                      this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0   15     1              functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
            0   15     2        actualCallSiteType  Ljava/lang/invoke/MethodType;
            0   15     3              runtimeScope  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   15     4  invalidatedProgramPoints  Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;
            0   15     5   continuationEntryPoints  [I
            1   15     6                   typeMap  Ljdk/nashorn/internal/codegen/TypeMap;
            4   15     7                paramTypes  [Ljdk/nashorn/internal/codegen/types/Type;
            5   15     8       typeInformationFile  Ljava/lang/Object;
    Signature: (Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;[I)Ljdk/nashorn/internal/codegen/Compiler;
    MethodParameters:
                          Name  Flags
      functionNode              final
      actualCallSiteType        final
      runtimeScope              final
      invalidatedProgramPoints  final
      continuationEntryPoints   final

  private static java.util.Map<java.lang.Integer, jdk.nashorn.internal.codegen.types.Type> getEffectiveInvalidatedProgramPoints(java.util.Map<java.lang.Integer, jdk.nashorn.internal.codegen.types.Type>, );
    descriptor: (Ljava/util/Map;Ljava/lang/Object;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.Map invalidatedProgramPoints
        start local 1 // java.lang.Object typeInformationFile
         0: .line 694
            aload 0 /* invalidatedProgramPoints */
            ifnull 2
         1: .line 695
            aload 0 /* invalidatedProgramPoints */
            areturn
         2: .line 697
      StackMap locals:
      StackMap stack:
            aload 1 /* typeInformationFile */
            invokestatic jdk.nashorn.internal.codegen.OptimisticTypesPersistence.load:(Ljava/lang/Object;)Ljava/util/Map;
            astore 2 /* loadedProgramPoints */
        start local 2 // java.util.Map loadedProgramPoints
         3: .line 698
            aload 2 /* loadedProgramPoints */
            ifnull 4
            aload 2 /* loadedProgramPoints */
            goto 5
      StackMap locals: java.util.Map
      StackMap stack:
         4: new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
      StackMap locals:
      StackMap stack: java.util.Map
         5: areturn
        end local 2 // java.util.Map loadedProgramPoints
        end local 1 // java.lang.Object typeInformationFile
        end local 0 // java.util.Map invalidatedProgramPoints
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    6     0  invalidatedProgramPoints  Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;
            0    6     1       typeInformationFile  Ljava/lang/Object;
            3    6     2       loadedProgramPoints  Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;
    Signature: (Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;Ljava/lang/Object;)Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;
    MethodParameters:
                          Name  Flags
      invalidatedProgramPoints  final
      typeInformationFile       final

  private jdk.nashorn.internal.runtime.FunctionInitializer compileTypeSpecialization(java.lang.invoke.MethodType, jdk.nashorn.internal.runtime.ScriptObject, boolean);
    descriptor: (Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;Z)Ljdk/nashorn/internal/runtime/FunctionInitializer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // java.lang.invoke.MethodType actualCallSiteType
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject runtimeScope
        start local 3 // boolean persist
         0: .line 706
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.isEnabled:()Z
            ifeq 2
         1: .line 707
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "Parameter type specialization of '"
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionName:Ljava/lang/String;
            aastore
            dup
            iconst_2
            ldc "' signature: "
            aastore
            dup
            iconst_3
            aload 1 /* actualCallSiteType */
            aastore
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
         2: .line 710
      StackMap locals:
      StackMap stack:
            iload 3 /* persist */
            ifeq 3
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.usePersistentCodeCache:()Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* persistentCache */
        start local 4 // boolean persistentCache
         5: .line 711
            aconst_null
            astore 5 /* cacheKey */
        start local 5 // java.lang.String cacheKey
         6: .line 712
            iload 4 /* persistentCache */
            ifeq 17
         7: .line 713
            aload 0 /* this */
            aload 1 /* actualCallSiteType */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.typeMap:(Ljava/lang/invoke/MethodType;)Ljdk/nashorn/internal/codegen/TypeMap;
            astore 6 /* typeMap */
        start local 6 // jdk.nashorn.internal.codegen.TypeMap typeMap
         8: .line 714
            aload 6 /* typeMap */
            ifnonnull 9
            aconst_null
            goto 10
      StackMap locals: int java.lang.String jdk.nashorn.internal.codegen.TypeMap
      StackMap stack:
         9: aload 6 /* typeMap */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
            invokevirtual jdk.nashorn.internal.codegen.TypeMap.getParameterTypes:(I)[Ljdk/nashorn/internal/codegen/types/Type;
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.types.Type[]
        10: astore 7 /* paramTypes */
        start local 7 // jdk.nashorn.internal.codegen.types.Type[] paramTypes
        11: .line 715
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 7 /* paramTypes */
            invokestatic jdk.nashorn.internal.runtime.CodeStore.getCacheKey:(Ljava/lang/Object;[Ljdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String;
            astore 5 /* cacheKey */
        12: .line 716
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getInstallerForNewCode:()Ljdk/nashorn/internal/runtime/CodeInstaller;
            astore 8 /* newInstaller */
        start local 8 // jdk.nashorn.internal.runtime.CodeInstaller newInstaller
        13: .line 717
            aload 8 /* newInstaller */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.source:Ljdk/nashorn/internal/runtime/Source;
            aload 5 /* cacheKey */
            invokeinterface jdk.nashorn.internal.runtime.CodeInstaller.loadScript:(Ljdk/nashorn/internal/runtime/Source;Ljava/lang/String;)Ljdk/nashorn/internal/runtime/StoredScript;
            astore 9 /* script */
        start local 9 // jdk.nashorn.internal.runtime.StoredScript script
        14: .line 719
            aload 9 /* script */
            ifnull 17
        15: .line 720
            aload 9 /* script */
            invokevirtual jdk.nashorn.internal.runtime.StoredScript.getCompilationId:()I
            invokestatic jdk.nashorn.internal.codegen.Compiler.updateCompilationId:(I)V
        16: .line 721
            aload 9 /* script */
            aload 0 /* this */
            aload 8 /* newInstaller */
            invokevirtual jdk.nashorn.internal.runtime.StoredScript.installFunction:(Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;Ljdk/nashorn/internal/runtime/CodeInstaller;)Ljdk/nashorn/internal/runtime/FunctionInitializer;
            areturn
        end local 9 // jdk.nashorn.internal.runtime.StoredScript script
        end local 8 // jdk.nashorn.internal.runtime.CodeInstaller newInstaller
        end local 7 // jdk.nashorn.internal.codegen.types.Type[] paramTypes
        end local 6 // jdk.nashorn.internal.codegen.TypeMap typeMap
        17: .line 725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.reparse:()Ljdk/nashorn/internal/ir/FunctionNode;
            astore 6 /* fn */
        start local 6 // jdk.nashorn.internal.ir.FunctionNode fn
        18: .line 726
            aload 0 /* this */
            aload 6 /* fn */
            aload 1 /* actualCallSiteType */
            aload 2 /* runtimeScope */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getCompiler:(Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/codegen/Compiler;
            astore 7 /* compiler */
        start local 7 // jdk.nashorn.internal.codegen.Compiler compiler
        19: .line 727
            aload 7 /* compiler */
            aload 6 /* fn */
        20: .line 728
            aload 6 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isCached:()Z
            ifeq 21
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_ALL_CACHED:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            goto 22
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData java.lang.invoke.MethodType jdk.nashorn.internal.runtime.ScriptObject int int java.lang.String jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.codegen.Compiler
      StackMap stack: jdk.nashorn.internal.codegen.Compiler jdk.nashorn.internal.ir.FunctionNode
        21: getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_ALL:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        22: .line 727
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData java.lang.invoke.MethodType jdk.nashorn.internal.runtime.ScriptObject int int java.lang.String jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.codegen.Compiler
      StackMap stack: jdk.nashorn.internal.codegen.Compiler jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            invokevirtual jdk.nashorn.internal.codegen.Compiler.compile:(Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)Ljdk/nashorn/internal/ir/FunctionNode;
            astore 8 /* compiledFn */
        start local 8 // jdk.nashorn.internal.ir.FunctionNode compiledFn
        23: .line 730
            iload 3 /* persist */
            ifeq 25
            aload 8 /* compiledFn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.hasApplyToCallSpecialization:()Z
            ifne 25
        24: .line 731
            aload 7 /* compiler */
            aload 5 /* cacheKey */
            aload 8 /* compiledFn */
            invokevirtual jdk.nashorn.internal.codegen.Compiler.persistClassInfo:(Ljava/lang/String;Ljdk/nashorn/internal/ir/FunctionNode;)V
        25: .line 733
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode
      StackMap stack:
            new jdk.nashorn.internal.runtime.FunctionInitializer
            dup
            aload 8 /* compiledFn */
            aload 7 /* compiler */
            invokevirtual jdk.nashorn.internal.codegen.Compiler.getInvalidatedProgramPoints:()Ljava/util/Map;
            invokespecial jdk.nashorn.internal.runtime.FunctionInitializer.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;Ljava/util/Map;)V
            areturn
        end local 8 // jdk.nashorn.internal.ir.FunctionNode compiledFn
        end local 7 // jdk.nashorn.internal.codegen.Compiler compiler
        end local 6 // jdk.nashorn.internal.ir.FunctionNode fn
        end local 5 // java.lang.String cacheKey
        end local 4 // boolean persistentCache
        end local 3 // boolean persist
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject runtimeScope
        end local 1 // java.lang.invoke.MethodType actualCallSiteType
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   26     0                this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0   26     1  actualCallSiteType  Ljava/lang/invoke/MethodType;
            0   26     2        runtimeScope  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   26     3             persist  Z
            5   26     4     persistentCache  Z
            6   26     5            cacheKey  Ljava/lang/String;
            8   17     6             typeMap  Ljdk/nashorn/internal/codegen/TypeMap;
           11   17     7          paramTypes  [Ljdk/nashorn/internal/codegen/types/Type;
           13   17     8        newInstaller  Ljdk/nashorn/internal/runtime/CodeInstaller;
           14   17     9              script  Ljdk/nashorn/internal/runtime/StoredScript;
           18   26     6                  fn  Ljdk/nashorn/internal/ir/FunctionNode;
           19   26     7            compiler  Ljdk/nashorn/internal/codegen/Compiler;
           23   26     8          compiledFn  Ljdk/nashorn/internal/ir/FunctionNode;
    MethodParameters:
                    Name  Flags
      actualCallSiteType  final
      runtimeScope        final
      persist             final

  boolean usePersistentCodeCache();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 737
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.installer:Ljdk/nashorn/internal/runtime/CodeInstaller;
            ifnull 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.installer:Ljdk/nashorn/internal/runtime/CodeInstaller;
            invokeinterface jdk.nashorn.internal.runtime.CodeInstaller.getContext:()Ljdk/nashorn/internal/runtime/Context;
            invokevirtual jdk.nashorn.internal.runtime.Context.getEnv:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._persistent_cache:Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  private java.lang.invoke.MethodType explicitParams(java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // java.lang.invoke.MethodType callSiteType
         0: .line 741
            aload 1 /* callSiteType */
            invokestatic jdk.nashorn.internal.runtime.CompiledFunction.isVarArgsType:(Ljava/lang/invoke/MethodType;)Z
            ifeq 2
         1: .line 742
            aconst_null
            areturn
         2: .line 745
      StackMap locals:
      StackMap stack:
            aload 1 /* callSiteType */
            iconst_0
            iconst_2
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
            astore 2 /* noCalleeThisType */
        start local 2 // java.lang.invoke.MethodType noCalleeThisType
         3: .line 746
            aload 2 /* noCalleeThisType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 3 /* callSiteParamCount */
        start local 3 // int callSiteParamCount
         4: .line 750
            aload 2 /* noCalleeThisType */
            invokevirtual java.lang.invoke.MethodType.parameterArray:()[Ljava/lang/Class;
            astore 4 /* paramTypes */
        start local 4 // java.lang.Class[] paramTypes
         5: .line 751
            iconst_0
            istore 5 /* changed */
        start local 5 // boolean changed
         6: .line 752
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 13
         8: .line 753
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData java.lang.invoke.MethodType java.lang.invoke.MethodType int java.lang.Class[] int int
      StackMap stack:
            aload 4 /* paramTypes */
            iload 6 /* i */
            aaload
            astore 7 /* paramType */
        start local 7 // java.lang.Class paramType
         9: .line 754
            aload 7 /* paramType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 12
            aload 7 /* paramType */
            ldc Ljava/lang/Object;
            if_acmpeq 12
        10: .line 755
            aload 4 /* paramTypes */
            iload 6 /* i */
            ldc Ljava/lang/Object;
            aastore
        11: .line 756
            iconst_1
            istore 5 /* changed */
        end local 7 // java.lang.Class paramType
        12: .line 752
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            aload 4 /* paramTypes */
            arraylength
            if_icmplt 8
        end local 6 // int i
        14: .line 759
            iload 5 /* changed */
            ifeq 15
            aload 2 /* noCalleeThisType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            aload 4 /* paramTypes */
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 2 /* noCalleeThisType */
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodType
        16: astore 6 /* generalized */
        start local 6 // java.lang.invoke.MethodType generalized
        17: .line 761
            iload 3 /* callSiteParamCount */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getArity:()I
            if_icmpge 19
        18: .line 762
            aload 6 /* generalized */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getArity:()I
            iload 3 /* callSiteParamCount */
            isub
            ldc Ljava/lang/Object;
            invokestatic java.util.Collections.nCopies:(ILjava/lang/Object;)Ljava/util/List;
            invokevirtual java.lang.invoke.MethodType.appendParameterTypes:(Ljava/util/List;)Ljava/lang/invoke/MethodType;
            areturn
        19: .line 764
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            aload 6 /* generalized */
            areturn
        end local 6 // java.lang.invoke.MethodType generalized
        end local 5 // boolean changed
        end local 4 // java.lang.Class[] paramTypes
        end local 3 // int callSiteParamCount
        end local 2 // java.lang.invoke.MethodType noCalleeThisType
        end local 1 // java.lang.invoke.MethodType callSiteType
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   20     0                this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0   20     1        callSiteType  Ljava/lang/invoke/MethodType;
            3   20     2    noCalleeThisType  Ljava/lang/invoke/MethodType;
            4   20     3  callSiteParamCount  I
            5   20     4          paramTypes  [Ljava/lang/Class;
            6   20     5             changed  Z
            7   14     6                   i  I
            9   12     7           paramType  Ljava/lang/Class<*>;
           17   20     6         generalized  Ljava/lang/invoke/MethodType;
    MethodParameters:
              Name  Flags
      callSiteType  final

  private jdk.nashorn.internal.ir.FunctionNode extractFunctionFromScript(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode script
         0: .line 768
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* fns */
        start local 2 // java.util.Set fns
         1: .line 769
            aload 1 /* script */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            new jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$2
            dup
            aload 0 /* this */
            aload 2 /* fns */
            invokespecial jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$2.<init>:(Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;Ljava/util/Set;)V
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         2: .line 776
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 3
            aload 2 /* fns */
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            ldc "got back more than one method in recompilation"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 777
      StackMap locals: java.util.Set
      StackMap stack:
            aload 2 /* fns */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            astore 3 /* f */
        start local 3 // jdk.nashorn.internal.ir.FunctionNode f
         4: .line 778
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 5
            aload 3 /* f */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getId:()I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
            if_icmpeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 779
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getFunctionFlag:(I)Z
            ifne 7
            aload 3 /* f */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isDeclared:()Z
            ifeq 7
         6: .line 780
            aload 3 /* f */
            aconst_null
            iconst_2
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.clearFlag:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
            areturn
         7: .line 782
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            areturn
        end local 3 // jdk.nashorn.internal.ir.FunctionNode f
        end local 2 // java.util.Set fns
        end local 1 // jdk.nashorn.internal.ir.FunctionNode script
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    8     1  script  Ljdk/nashorn/internal/ir/FunctionNode;
            1    8     2     fns  Ljava/util/Set<Ljdk/nashorn/internal/ir/FunctionNode;>;
            4    8     3       f  Ljdk/nashorn/internal/ir/FunctionNode;
    MethodParameters:
        Name  Flags
      script  final

  private void logLookup(boolean, java.lang.invoke.MethodType);
    descriptor: (ZLjava/lang/invoke/MethodType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // boolean shouldLog
        start local 2 // java.lang.invoke.MethodType targetType
         0: .line 786
            iload 1 /* shouldLog */
            ifeq 2
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.isEnabled:()Z
            ifeq 2
         1: .line 787
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "Looking up "
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionName:Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.logging.DebugLogger.quote:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_2
            ldc " type="
            aastore
            dup
            iconst_3
            aload 2 /* targetType */
            aastore
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
         2: .line 789
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.invoke.MethodType targetType
        end local 1 // boolean shouldLog
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    3     1   shouldLog  Z
            0    3     2  targetType  Ljava/lang/invoke/MethodType;
    MethodParameters:
            Name  Flags
      shouldLog   final
      targetType  final

  private java.lang.invoke.MethodHandle lookup(jdk.nashorn.internal.runtime.FunctionInitializer, boolean);
    descriptor: (Ljdk/nashorn/internal/runtime/FunctionInitializer;Z)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.runtime.FunctionInitializer fnInit
        start local 2 // boolean shouldLog
         0: .line 792
            aload 1 /* fnInit */
            invokevirtual jdk.nashorn.internal.runtime.FunctionInitializer.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 3 /* type */
        start local 3 // java.lang.invoke.MethodType type
         1: .line 793
            aload 0 /* this */
            iload 2 /* shouldLog */
            aload 3 /* type */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.logLookup:(ZLjava/lang/invoke/MethodType;)V
         2: .line 794
            aload 0 /* this */
            aload 1 /* fnInit */
            invokevirtual jdk.nashorn.internal.runtime.FunctionInitializer.getCode:()Ljava/lang/Class;
            aload 3 /* type */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.lookupCodeMethod:(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // boolean shouldLog
        end local 1 // jdk.nashorn.internal.runtime.FunctionInitializer fnInit
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    3     1     fnInit  Ljdk/nashorn/internal/runtime/FunctionInitializer;
            0    3     2  shouldLog  Z
            1    3     3       type  Ljava/lang/invoke/MethodType;
    MethodParameters:
           Name  Flags
      fnInit     final
      shouldLog  final

  java.lang.invoke.MethodHandle lookup(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode fn
         0: .line 798
            new jdk.nashorn.internal.codegen.FunctionSignature
            dup
            aload 1 /* fn */
            invokespecial jdk.nashorn.internal.codegen.FunctionSignature.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;)V
            invokevirtual jdk.nashorn.internal.codegen.FunctionSignature.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 2 /* type */
        start local 2 // java.lang.invoke.MethodType type
         1: .line 799
            aload 0 /* this */
            iconst_1
            aload 2 /* type */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.logLookup:(ZLjava/lang/invoke/MethodType;)V
         2: .line 800
            aload 0 /* this */
            aload 1 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getCode:()Ljava/lang/Class;
            aload 2 /* type */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.lookupCodeMethod:(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // jdk.nashorn.internal.ir.FunctionNode fn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    3     1    fn  Ljdk/nashorn/internal/ir/FunctionNode;
            1    3     2  type  Ljava/lang/invoke/MethodType;
    MethodParameters:
      Name  Flags
      fn    final

  java.lang.invoke.MethodHandle lookupCodeMethod(java.lang.Class<?>, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // java.lang.Class codeClass
        start local 2 // java.lang.invoke.MethodType targetType
         0: .line 804
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            aload 1 /* codeClass */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionName:Ljava/lang/String;
            aload 2 /* targetType */
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.findStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // java.lang.invoke.MethodType targetType
        end local 1 // java.lang.Class codeClass
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    1     1   codeClass  Ljava/lang/Class<*>;
            0    1     2  targetType  Ljava/lang/invoke/MethodType;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
            Name  Flags
      codeClass   final
      targetType  final

  public void initializeCode(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
         0: .line 816
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.code:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifeq 1
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getId:()I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
            if_icmpne 1
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.isInitializing:(Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;Ljdk/nashorn/internal/ir/FunctionNode;)Z
            ifne 2
         1: .line 817
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.name:Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 819
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.lookup:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljava/lang/invoke/MethodHandle;
            aconst_null
            aconst_null
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlags:()I
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.addCode:(Ljava/lang/invoke/MethodHandle;Ljava/util/Map;Ljava/lang/invoke/MethodType;I)Ljdk/nashorn/internal/runtime/CompiledFunction;
            pop
         3: .line 820
            return
        end local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    4     1  functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
    MethodParameters:
              Name  Flags
      functionNode  final

  void initializeCode(jdk.nashorn.internal.runtime.FunctionInitializer);
    descriptor: (Ljdk/nashorn/internal/runtime/FunctionInitializer;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.runtime.FunctionInitializer initializer
         0: .line 827
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* initializer */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.lookup:(Ljdk/nashorn/internal/runtime/FunctionInitializer;Z)Ljava/lang/invoke/MethodHandle;
            aconst_null
            aconst_null
            aload 1 /* initializer */
            invokevirtual jdk.nashorn.internal.runtime.FunctionInitializer.getFlags:()I
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.addCode:(Ljava/lang/invoke/MethodHandle;Ljava/util/Map;Ljava/lang/invoke/MethodType;I)Ljdk/nashorn/internal/runtime/CompiledFunction;
            pop
         1: .line 828
            return
        end local 1 // jdk.nashorn.internal.runtime.FunctionInitializer initializer
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    2     1  initializer  Ljdk/nashorn/internal/runtime/FunctionInitializer;
    MethodParameters:
             Name  Flags
      initializer  final

  private jdk.nashorn.internal.runtime.CompiledFunction addCode(java.lang.invoke.MethodHandle, java.util.Map<java.lang.Integer, jdk.nashorn.internal.codegen.types.Type>, java.lang.invoke.MethodType, int);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/util/Map;Ljava/lang/invoke/MethodType;I)Ljdk/nashorn/internal/runtime/CompiledFunction;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // java.lang.invoke.MethodHandle target
        start local 2 // java.util.Map invalidatedProgramPoints
        start local 3 // java.lang.invoke.MethodType callSiteType
        start local 4 // int fnFlags
         0: .line 832
            new jdk.nashorn.internal.runtime.CompiledFunction
            dup
            aload 1 /* target */
            aload 0 /* this */
            aload 2 /* invalidatedProgramPoints */
            aload 3 /* callSiteType */
            iload 4 /* fnFlags */
            invokespecial jdk.nashorn.internal.runtime.CompiledFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;Ljava/util/Map;Ljava/lang/invoke/MethodType;I)V
            astore 5 /* cfn */
        start local 5 // jdk.nashorn.internal.runtime.CompiledFunction cfn
         1: .line 833
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 5 /* cfn */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.noDuplicateCode:(Ljdk/nashorn/internal/runtime/CompiledFunction;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            ldc "duplicate code"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 834
      StackMap locals: jdk.nashorn.internal.runtime.CompiledFunction
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.code:Ljava/util/LinkedList;
            aload 5 /* cfn */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 835
            aload 5 /* cfn */
            areturn
        end local 5 // jdk.nashorn.internal.runtime.CompiledFunction cfn
        end local 4 // int fnFlags
        end local 3 // java.lang.invoke.MethodType callSiteType
        end local 2 // java.util.Map invalidatedProgramPoints
        end local 1 // java.lang.invoke.MethodHandle target
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    4     0                      this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    4     1                    target  Ljava/lang/invoke/MethodHandle;
            0    4     2  invalidatedProgramPoints  Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;
            0    4     3              callSiteType  Ljava/lang/invoke/MethodType;
            0    4     4                   fnFlags  I
            1    4     5                       cfn  Ljdk/nashorn/internal/runtime/CompiledFunction;
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;Ljava/lang/invoke/MethodType;I)Ljdk/nashorn/internal/runtime/CompiledFunction;
    MethodParameters:
                          Name  Flags
      target                    final
      invalidatedProgramPoints  final
      callSiteType              final
      fnFlags                   final

  private jdk.nashorn.internal.runtime.CompiledFunction addCode(jdk.nashorn.internal.runtime.FunctionInitializer, java.lang.invoke.MethodType);
    descriptor: (Ljdk/nashorn/internal/runtime/FunctionInitializer;Ljava/lang/invoke/MethodType;)Ljdk/nashorn/internal/runtime/CompiledFunction;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.runtime.FunctionInitializer fnInit
        start local 2 // java.lang.invoke.MethodType callSiteType
         0: .line 849
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.isVariableArity:()Z
            ifeq 2
         1: .line 850
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* fnInit */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.lookup:(Ljdk/nashorn/internal/runtime/FunctionInitializer;Z)Ljava/lang/invoke/MethodHandle;
            aload 1 /* fnInit */
            invokevirtual jdk.nashorn.internal.runtime.FunctionInitializer.getInvalidatedProgramPoints:()Ljava/util/Map;
            aload 2 /* callSiteType */
            aload 1 /* fnInit */
            invokevirtual jdk.nashorn.internal.runtime.FunctionInitializer.getFlags:()I
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.addCode:(Ljava/lang/invoke/MethodHandle;Ljava/util/Map;Ljava/lang/invoke/MethodType;I)Ljdk/nashorn/internal/runtime/CompiledFunction;
            areturn
         2: .line 853
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* fnInit */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.lookup:(Ljdk/nashorn/internal/runtime/FunctionInitializer;Z)Ljava/lang/invoke/MethodHandle;
            astore 3 /* handle */
        start local 3 // java.lang.invoke.MethodHandle handle
         3: .line 854
            aload 3 /* handle */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 4 /* fromType */
        start local 4 // java.lang.invoke.MethodType fromType
         4: .line 855
            aload 4 /* fromType */
            invokestatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.needsCallee:(Ljava/lang/invoke/MethodType;)Z
            ifeq 5
            aload 2 /* callSiteType */
            iconst_0
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
            goto 6
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType
      StackMap stack:
         5: aload 2 /* callSiteType */
            iconst_0
            iconst_1
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodType
         6: astore 5 /* toType */
        start local 5 // java.lang.invoke.MethodType toType
         7: .line 856
            aload 5 /* toType */
            aload 4 /* fromType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 5 /* toType */
         8: .line 858
            aload 5 /* toType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 6 /* toCount */
        start local 6 // int toCount
         9: .line 859
            aload 4 /* fromType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 7 /* fromCount */
        start local 7 // int fromCount
        10: .line 860
            iload 7 /* fromCount */
            iload 6 /* toCount */
            invokestatic java.lang.Math.min:(II)I
            istore 8 /* minCount */
        start local 8 // int minCount
        11: .line 861
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        12: goto 19
        13: .line 862
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData jdk.nashorn.internal.runtime.FunctionInitializer java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodType java.lang.invoke.MethodType int int int int
      StackMap stack:
            aload 4 /* fromType */
            iload 9 /* i */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            astore 10 /* fromParam */
        start local 10 // java.lang.Class fromParam
        14: .line 863
            aload 5 /* toType */
            iload 9 /* i */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            astore 11 /* toParam */
        start local 11 // java.lang.Class toParam
        15: .line 867
            aload 10 /* fromParam */
            aload 11 /* toParam */
            if_acmpeq 18
            aload 10 /* fromParam */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 18
            aload 11 /* toParam */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 18
        16: .line 868
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 17
            aload 10 /* fromParam */
            aload 11 /* toParam */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 869
      StackMap locals: java.lang.Class java.lang.Class
      StackMap stack:
            aload 5 /* toType */
            iload 9 /* i */
            aload 10 /* fromParam */
            invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 5 /* toType */
        end local 11 // java.lang.Class toParam
        end local 10 // java.lang.Class fromParam
        18: .line 861
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 9 /* i */
            iload 8 /* minCount */
            if_icmplt 13
        end local 9 // int i
        20: .line 872
            iload 7 /* fromCount */
            iload 6 /* toCount */
            if_icmple 23
        21: .line 873
            aload 5 /* toType */
            aload 4 /* fromType */
            invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
            iload 6 /* toCount */
            iload 7 /* fromCount */
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            invokevirtual java.lang.invoke.MethodType.appendParameterTypes:(Ljava/util/List;)Ljava/lang/invoke/MethodType;
            astore 5 /* toType */
        22: .line 874
            goto 25
      StackMap locals:
      StackMap stack:
        23: iload 7 /* fromCount */
            iload 6 /* toCount */
            if_icmpge 25
        24: .line 875
            aload 5 /* toType */
            iload 7 /* fromCount */
            iload 6 /* toCount */
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
            astore 5 /* toType */
        25: .line 878
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* fnInit */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.lookup:(Ljdk/nashorn/internal/runtime/FunctionInitializer;Z)Ljava/lang/invoke/MethodHandle;
            aload 5 /* toType */
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            aload 1 /* fnInit */
            invokevirtual jdk.nashorn.internal.runtime.FunctionInitializer.getInvalidatedProgramPoints:()Ljava/util/Map;
            aload 2 /* callSiteType */
            aload 1 /* fnInit */
            invokevirtual jdk.nashorn.internal.runtime.FunctionInitializer.getFlags:()I
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.addCode:(Ljava/lang/invoke/MethodHandle;Ljava/util/Map;Ljava/lang/invoke/MethodType;I)Ljdk/nashorn/internal/runtime/CompiledFunction;
            areturn
        end local 8 // int minCount
        end local 7 // int fromCount
        end local 6 // int toCount
        end local 5 // java.lang.invoke.MethodType toType
        end local 4 // java.lang.invoke.MethodType fromType
        end local 3 // java.lang.invoke.MethodHandle handle
        end local 2 // java.lang.invoke.MethodType callSiteType
        end local 1 // jdk.nashorn.internal.runtime.FunctionInitializer fnInit
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0          this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0   26     1        fnInit  Ljdk/nashorn/internal/runtime/FunctionInitializer;
            0   26     2  callSiteType  Ljava/lang/invoke/MethodType;
            3   26     3        handle  Ljava/lang/invoke/MethodHandle;
            4   26     4      fromType  Ljava/lang/invoke/MethodType;
            7   26     5        toType  Ljava/lang/invoke/MethodType;
            9   26     6       toCount  I
           10   26     7     fromCount  I
           11   26     8      minCount  I
           12   20     9             i  I
           14   18    10     fromParam  Ljava/lang/Class<*>;
           15   18    11       toParam  Ljava/lang/Class<*>;
    MethodParameters:
              Name  Flags
      fnInit        final
      callSiteType  final

  public java.lang.Class<?> getReturnType(java.lang.invoke.MethodType, jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // java.lang.invoke.MethodType callSiteType
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject runtimeScope
         0: .line 895
            aload 0 /* this */
            aload 1 /* callSiteType */
            aload 2 /* runtimeScope */
            getstatic jdk.nashorn.internal.runtime.CompiledFunction.NO_FUNCTIONS:Ljava/util/Collection;
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getBest:(Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/util/Collection;)Ljdk/nashorn/internal/runtime/CompiledFunction;
            invokevirtual jdk.nashorn.internal.runtime.CompiledFunction.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            areturn
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject runtimeScope
        end local 1 // java.lang.invoke.MethodType callSiteType
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    1     1  callSiteType  Ljava/lang/invoke/MethodType;
            0    1     2  runtimeScope  Ljdk/nashorn/internal/runtime/ScriptObject;
    Signature: (Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;)Ljava/lang/Class<*>;
    MethodParameters:
              Name  Flags
      callSiteType  final
      runtimeScope  final

  synchronized jdk.nashorn.internal.runtime.CompiledFunction getBest(java.lang.invoke.MethodType, jdk.nashorn.internal.runtime.ScriptObject, java.util.Collection<jdk.nashorn.internal.runtime.CompiledFunction>, boolean);
    descriptor: (Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/util/Collection;Z)Ljdk/nashorn/internal/runtime/CompiledFunction;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // java.lang.invoke.MethodType callSiteType
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject runtimeScope
        start local 3 // java.util.Collection forbidden
        start local 4 // boolean linkLogicOkay
         0: .line 900
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            aload 1 /* callSiteType */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.isValidCallSite:(Ljava/lang/invoke/MethodType;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            aload 1 /* callSiteType */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 902
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* callSiteType */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.pickFunction:(Ljava/lang/invoke/MethodType;Z)Ljdk/nashorn/internal/runtime/CompiledFunction;
            astore 5 /* existingBest */
        start local 5 // jdk.nashorn.internal.runtime.CompiledFunction existingBest
         2: .line 903
            aload 5 /* existingBest */
            ifnonnull 4
         3: .line 904
            aload 0 /* this */
            aload 1 /* callSiteType */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.pickFunction:(Ljava/lang/invoke/MethodType;Z)Ljdk/nashorn/internal/runtime/CompiledFunction;
            astore 5 /* existingBest */
         4: .line 906
      StackMap locals: jdk.nashorn.internal.runtime.CompiledFunction
      StackMap stack:
            aload 5 /* existingBest */
            ifnonnull 6
         5: .line 907
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* callSiteType */
            aload 2 /* runtimeScope */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.compileTypeSpecialization:(Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;Z)Ljdk/nashorn/internal/runtime/FunctionInitializer;
            aload 1 /* callSiteType */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.addCode:(Ljdk/nashorn/internal/runtime/FunctionInitializer;Ljava/lang/invoke/MethodType;)Ljdk/nashorn/internal/runtime/CompiledFunction;
            astore 5 /* existingBest */
         6: .line 910
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 7
            aload 5 /* existingBest */
            ifnonnull 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 914
      StackMap locals:
      StackMap stack:
            aload 5 /* existingBest */
            invokevirtual jdk.nashorn.internal.runtime.CompiledFunction.isApplyToCall:()Z
            ifeq 12
         8: .line 915
            aload 0 /* this */
            aload 1 /* callSiteType */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.lookupExactApplyToCall:(Ljava/lang/invoke/MethodType;)Ljdk/nashorn/internal/runtime/CompiledFunction;
            astore 6 /* best */
        start local 6 // jdk.nashorn.internal.runtime.CompiledFunction best
         9: .line 916
            aload 6 /* best */
            ifnull 11
        10: .line 917
            aload 6 /* best */
            areturn
        11: .line 924
      StackMap locals: jdk.nashorn.internal.runtime.CompiledFunction
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* callSiteType */
            aload 2 /* runtimeScope */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.compileTypeSpecialization:(Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;Z)Ljdk/nashorn/internal/runtime/FunctionInitializer;
            aload 1 /* callSiteType */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.addCode:(Ljdk/nashorn/internal/runtime/FunctionInitializer;Ljava/lang/invoke/MethodType;)Ljdk/nashorn/internal/runtime/CompiledFunction;
            astore 5 /* existingBest */
        end local 6 // jdk.nashorn.internal.runtime.CompiledFunction best
        12: .line 927
      StackMap locals:
      StackMap stack:
            aload 5 /* existingBest */
            areturn
        end local 5 // jdk.nashorn.internal.runtime.CompiledFunction existingBest
        end local 4 // boolean linkLogicOkay
        end local 3 // java.util.Collection forbidden
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject runtimeScope
        end local 1 // java.lang.invoke.MethodType callSiteType
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0   13     1   callSiteType  Ljava/lang/invoke/MethodType;
            0   13     2   runtimeScope  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   13     3      forbidden  Ljava/util/Collection<Ljdk/nashorn/internal/runtime/CompiledFunction;>;
            0   13     4  linkLogicOkay  Z
            2   13     5   existingBest  Ljdk/nashorn/internal/runtime/CompiledFunction;
            9   12     6           best  Ljdk/nashorn/internal/runtime/CompiledFunction;
    Signature: (Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/util/Collection<Ljdk/nashorn/internal/runtime/CompiledFunction;>;Z)Ljdk/nashorn/internal/runtime/CompiledFunction;
    MethodParameters:
               Name  Flags
      callSiteType   final
      runtimeScope   final
      forbidden      final
      linkLogicOkay  final

  public boolean needsCallee();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 932
            aload 0 /* this */
            ldc 131072
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getFunctionFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  public int getFunctionFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 940
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionFlags:I
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  java.lang.invoke.MethodType getGenericType();
    descriptor: ()Ljava/lang/invoke/MethodType;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 946
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.isVariableArity:()Z
            ifeq 2
         1: .line 947
            iconst_2
            iconst_1
            invokestatic java.lang.invoke.MethodType.genericMethodType:(IZ)Ljava/lang/invoke/MethodType;
            areturn
         2: .line 949
      StackMap locals:
      StackMap stack:
            iconst_2
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getArity:()I
            iadd
            invokestatic java.lang.invoke.MethodType.genericMethodType:(I)Ljava/lang/invoke/MethodType;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  public int getFunctionNodeId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 957
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  public jdk.nashorn.internal.runtime.Source getSource();
    descriptor: ()Ljdk/nashorn/internal/runtime/Source;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 965
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.source:Ljdk/nashorn/internal/runtime/Source;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  public jdk.nashorn.internal.runtime.RecompilableScriptFunctionData getScriptFunctionData(int);
    descriptor: (I)Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // int functionId
         0: .line 977
            iload 1 /* functionId */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
            if_icmpne 2
         1: .line 978
            aload 0 /* this */
            areturn
         2: .line 982
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.nestedFunctions:Ljava/util/Map;
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.nestedFunctions:Ljava/util/Map;
            iload 1 /* functionId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
         4: astore 2 /* data */
        start local 2 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData data
         5: .line 983
            aload 2 /* data */
            ifnull 7
         6: .line 984
            aload 2 /* data */
            areturn
         7: .line 986
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.nestedFunctions:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData int jdk.nashorn.internal.runtime.RecompilableScriptFunctionData top java.util.Iterator
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
            astore 3 /* ndata */
        start local 3 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData ndata
         9: .line 987
            aload 3 /* ndata */
            iload 1 /* functionId */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getScriptFunctionData:(I)Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            astore 2 /* data */
        10: .line 988
            aload 2 /* data */
            ifnull 12
        11: .line 989
            aload 2 /* data */
            areturn
        end local 3 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData ndata
        12: .line 986
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        13: .line 992
            aconst_null
            areturn
        end local 2 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData data
        end local 1 // int functionId
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0   14     1  functionId  I
            5   14     2        data  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            9   12     3       ndata  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
    MethodParameters:
            Name  Flags
      functionId  final

  public boolean isGlobalSymbol(jdk.nashorn.internal.ir.FunctionNode, java.lang.String);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        start local 2 // java.lang.String symbolName
         0: .line 1005
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getId:()I
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getScriptFunctionData:(I)Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            astore 3 /* data */
        start local 3 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData data
         1: .line 1006
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 2
            aload 3 /* data */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1009
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
      StackMap stack:
            aload 3 /* data */
            aload 2 /* symbolName */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.hasInternalSymbol:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1010
            iconst_0
            ireturn
         4: .line 1012
      StackMap locals:
      StackMap stack:
            aload 3 /* data */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getParent:()Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            astore 3 /* data */
         5: .line 1013
            aload 3 /* data */
            ifnonnull 2
         6: .line 1015
            iconst_1
            ireturn
        end local 3 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData data
        end local 2 // java.lang.String symbolName
        end local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    7     1  functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
            0    7     2    symbolName  Ljava/lang/String;
            1    7     3          data  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
    MethodParameters:
              Name  Flags
      functionNode  final
      symbolName    final

  public jdk.nashorn.internal.ir.FunctionNode restoreFlags(jdk.nashorn.internal.ir.LexicalContext, jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        start local 2 // jdk.nashorn.internal.ir.FunctionNode fn
         0: .line 1027
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 1
            aload 2 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getId:()I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionNodeId:I
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1028
      StackMap locals:
      StackMap stack:
            aload 2 /* fn */
            aload 1 /* lc */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.functionFlags:I
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.setFlags:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
            astore 3 /* newFn */
        start local 3 // jdk.nashorn.internal.ir.FunctionNode newFn
         2: .line 1031
            aload 3 /* newFn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.hasNestedEval:()Z
            ifeq 5
         3: .line 1032
            getstatic jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.$assertionsDisabled:Z
            ifne 4
            aload 3 /* newFn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.hasScopeBlock:()Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 1033
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode
      StackMap stack:
            aload 3 /* newFn */
            aload 1 /* lc */
            aload 3 /* newFn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            aconst_null
            invokevirtual jdk.nashorn.internal.ir.Block.setNeedsScope:(Ljdk/nashorn/internal/ir/LexicalContext;)Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.setBody:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/FunctionNode;
            astore 3 /* newFn */
         5: .line 1035
      StackMap locals:
      StackMap stack:
            aload 3 /* newFn */
            areturn
        end local 3 // jdk.nashorn.internal.ir.FunctionNode newFn
        end local 2 // jdk.nashorn.internal.ir.FunctionNode fn
        end local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    6     1     lc  Ljdk/nashorn/internal/ir/LexicalContext;
            0    6     2     fn  Ljdk/nashorn/internal/ir/FunctionNode;
            2    6     3  newFn  Ljdk/nashorn/internal/ir/FunctionNode;
    MethodParameters:
      Name  Flags
      lc    final
      fn    final

  private boolean noDuplicateCode(jdk.nashorn.internal.runtime.CompiledFunction);
    descriptor: (Ljdk/nashorn/internal/runtime/CompiledFunction;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // jdk.nashorn.internal.runtime.CompiledFunction compiledFunction
         0: .line 1040
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.code:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData jdk.nashorn.internal.runtime.CompiledFunction top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.CompiledFunction
            astore 2 /* cf */
        start local 2 // jdk.nashorn.internal.runtime.CompiledFunction cf
         2: .line 1041
            aload 2 /* cf */
            invokevirtual jdk.nashorn.internal.runtime.CompiledFunction.type:()Ljava/lang/invoke/MethodType;
            aload 1 /* compiledFunction */
            invokevirtual jdk.nashorn.internal.runtime.CompiledFunction.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1042
            iconst_0
            ireturn
        end local 2 // jdk.nashorn.internal.runtime.CompiledFunction cf
         4: .line 1040
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1045
            iconst_1
            ireturn
        end local 1 // jdk.nashorn.internal.runtime.CompiledFunction compiledFunction
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    6     1  compiledFunction  Ljdk/nashorn/internal/runtime/CompiledFunction;
            2    4     2                cf  Ljdk/nashorn/internal/runtime/CompiledFunction;
    MethodParameters:
                  Name  Flags
      compiledFunction  final

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // java.io.ObjectOutputStream out
         0: .line 1049
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.cachedAst:Ljava/lang/Object;
            astore 2 /* localCachedAst */
        start local 2 // java.lang.Object localCachedAst
         1: .line 1050
            aload 1 /* out */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         2: .line 1052
            aload 2 /* localCachedAst */
            instanceof jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst
            ifeq 5
         3: .line 1053
            aload 1 /* out */
            aload 2 /* localCachedAst */
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         4: .line 1054
            goto 6
         5: .line 1055
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* out */
            aconst_null
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         6: .line 1057
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object localCachedAst
        end local 1 // java.io.ObjectOutputStream out
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    7     1             out  Ljava/io/ObjectOutputStream;
            1    7     2  localCachedAst  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   final

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
        start local 1 // java.io.ObjectInputStream in
         0: .line 1060
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 1061
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.cachedAst:Ljava/lang/Object;
         2: .line 1062
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.createLogger:()V
         3: .line 1063
            return
        end local 1 // java.io.ObjectInputStream in
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            0    4     1    in  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      in    final

  private void createLogger();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 1066
            aload 0 /* this */
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.Context.getContextTrusted:()Ljdk/nashorn/internal/runtime/Context;
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.initLogger:(Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
         1: .line 1067
            return
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  private void lambda$0(jdk.nashorn.internal.ir.FunctionNode, java.lang.ref.Reference);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/ref/Reference;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
         0: .line 466
            aload 0 /* this */
            new jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst
            dup
            aload 1
            aload 2
            invokespecial jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/ref/Reference;)V
            putfield jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.cachedAst:Ljava/lang/Object;
         1: .line 467
            return
        end local 0 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;

  private static java.lang.Thread lambda$1(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Ljava/lang/Thread;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.Runnable r
         0: .line 484
            new java.lang.Thread
            dup
            aload 0 /* r */
            ldc "Nashorn AST Serializer"
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;Ljava/lang/String;)V
            astore 1 /* t */
        start local 1 // java.lang.Thread t
         1: .line 485
            aload 1 /* t */
            iconst_1
            invokevirtual java.lang.Thread.setDaemon:(Z)V
         2: .line 486
            aload 1 /* t */
            iconst_4
            invokevirtual java.lang.Thread.setPriority:(I)V
         3: .line 487
            aload 1 /* t */
            areturn
        end local 1 // java.lang.Thread t
        end local 0 // java.lang.Runnable r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     r  Ljava/lang/Runnable;
            1    4     1     t  Ljava/lang/Thread;
}
SourceFile: "RecompilableScriptFunctionData.java"
NestMembers:
  jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$1  jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$2  jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public CompilationPhases = jdk.nashorn.internal.codegen.Compiler$CompilationPhases of jdk.nashorn.internal.codegen.Compiler
  public final Kind = jdk.nashorn.internal.ir.FunctionNode$Kind of jdk.nashorn.internal.ir.FunctionNode
  public ThrowErrorManager = jdk.nashorn.internal.runtime.Context$ThrowErrorManager of jdk.nashorn.internal.runtime.Context
  jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$1
  jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$2
  private SerializedAst = jdk.nashorn.internal.runtime.RecompilableScriptFunctionData$SerializedAst of jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.runtime.logging.Logger(name = "recompile")