public class jdk.nashorn.internal.runtime.ScriptFunction extends jdk.nashorn.internal.runtime.ScriptObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.ScriptFunction
  super_class: jdk.nashorn.internal.runtime.ScriptObject
{
  public static final java.lang.invoke.MethodHandle G$PROTOTYPE;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.invoke.MethodHandle S$PROTOTYPE;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.invoke.MethodHandle G$LENGTH;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.invoke.MethodHandle G$NAME;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.invoke.MethodHandle INVOKE_SYNC;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static final java.lang.invoke.MethodHandle ALLOCATE;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle WRAPFILTER;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle SCRIPTFUNCTION_GLOBALFILTER;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final jdk.nashorn.internal.codegen.CompilerConstants$Call GET_SCOPE;
    descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle IS_FUNCTION_MH;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle IS_APPLY_FUNCTION;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle IS_NONSTRICT_FUNCTION;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle ADD_ZEROTH_ELEMENT;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle WRAP_THIS;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.nashorn.internal.runtime.PropertyMap anonmap$;
    descriptor: Ljdk/nashorn/internal/runtime/PropertyMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.nashorn.internal.runtime.PropertyMap strictmodemap$;
    descriptor: Ljdk/nashorn/internal/runtime/PropertyMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.nashorn.internal.runtime.PropertyMap boundfunctionmap$;
    descriptor: Ljdk/nashorn/internal/runtime/PropertyMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.nashorn.internal.runtime.PropertyMap map$;
    descriptor: Ljdk/nashorn/internal/runtime/PropertyMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Object LAZY_PROTOTYPE;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.security.AccessControlContext GET_LOOKUP_PERMISSION_CONTEXT;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  protected jdk.nashorn.internal.runtime.PropertyMap allocatorMap;
    descriptor: Ljdk/nashorn/internal/runtime/PropertyMap;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.Object prototype;
    descriptor: Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED

  private static java.util.concurrent.atomic.LongAdder constructorCount;
    descriptor: Ljava/util/concurrent/atomic/LongAdder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.util.concurrent.atomic.LongAdder invokes;
    descriptor: Ljava/util/concurrent/atomic/LongAdder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.util.concurrent.atomic.LongAdder allocations;
    descriptor: Ljava/util/concurrent/atomic/LongAdder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  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=10, locals=1, args_size=0
         0: .line 69
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            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.ScriptFunction.$assertionsDisabled:Z
         3: .line 74
            ldc "G$prototype"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.G$PROTOTYPE:Ljava/lang/invoke/MethodHandle;
         4: .line 79
            ldc "S$prototype"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.S$PROTOTYPE:Ljava/lang/invoke/MethodHandle;
         5: .line 84
            ldc "G$length"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.G$LENGTH:Ljava/lang/invoke/MethodHandle;
         6: .line 89
            ldc "G$name"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.G$NAME:Ljava/lang/invoke/MethodHandle;
         7: .line 94
            ldc "invokeSync"
            ldc Ljava/lang/Object;
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_3
            ldc [Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.INVOKE_SYNC:Ljava/lang/invoke/MethodHandle;
         8: .line 99
            ldc "allocate"
            ldc Ljava/lang/Object;
            iconst_0
            anewarray java.lang.Class
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.findOwnMH_V:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.ALLOCATE:Ljava/lang/invoke/MethodHandle;
         9: .line 101
            ldc "wrapFilter"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.WRAPFILTER:Ljava/lang/invoke/MethodHandle;
        10: .line 103
            ldc "globalFilter"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.SCRIPTFUNCTION_GLOBALFILTER:Ljava/lang/invoke/MethodHandle;
        11: .line 108
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            ldc "getScope"
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            iconst_0
            anewarray java.lang.Class
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.virtualCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.GET_SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        12: .line 110
            ldc "isFunctionMH"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.IS_FUNCTION_MH:Ljava/lang/invoke/MethodHandle;
        13: .line 112
            ldc "isApplyFunction"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.IS_APPLY_FUNCTION:Ljava/lang/invoke/MethodHandle;
        14: .line 114
            ldc "isNonStrictFunction"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.IS_NONSTRICT_FUNCTION:Ljava/lang/invoke/MethodHandle;
        15: .line 116
            ldc "addZerothElement"
            ldc [Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.ADD_ZEROTH_ELEMENT:Ljava/lang/invoke/MethodHandle;
        16: .line 118
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            ldc "wrapThis"
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.type:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            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;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.WRAP_THIS:Ljava/lang/invoke/MethodHandle;
        17: .line 131
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.LAZY_PROTOTYPE:Ljava/lang/Object;
        18: .line 133
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
        19: .line 134
            ldc "dynalink.getLookup"
            aastore
            invokestatic jdk.nashorn.internal.runtime.AccessControlContextFactory.createAccessControlContext:([Ljava/lang/String;)Ljava/security/AccessControlContext;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.GET_LOOKUP_PERMISSION_CONTEXT:Ljava/security/AccessControlContext;
        20: .line 152
            invokestatic jdk.nashorn.internal.runtime.PropertyMap.newMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.anonmap$:Ljdk/nashorn/internal/runtime/PropertyMap;
        21: .line 153
            new java.util.ArrayList
            dup
            iconst_3
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 0 /* properties */
        start local 0 // java.util.ArrayList properties
        22: .line 154
            aload 0 /* properties */
            ldc "prototype"
            bipush 6
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.G$PROTOTYPE:Ljava/lang/invoke/MethodHandle;
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.S$PROTOTYPE:Ljava/lang/invoke/MethodHandle;
            invokestatic jdk.nashorn.internal.runtime.AccessorProperty.create:(Ljava/lang/Object;ILjava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/nashorn/internal/runtime/AccessorProperty;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        23: .line 155
            aload 0 /* properties */
            ldc "length"
            bipush 7
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.G$LENGTH:Ljava/lang/invoke/MethodHandle;
            aconst_null
            invokestatic jdk.nashorn.internal.runtime.AccessorProperty.create:(Ljava/lang/Object;ILjava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/nashorn/internal/runtime/AccessorProperty;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        24: .line 156
            aload 0 /* properties */
            ldc "name"
            bipush 7
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.G$NAME:Ljava/lang/invoke/MethodHandle;
            aconst_null
            invokestatic jdk.nashorn.internal.runtime.AccessorProperty.create:(Ljava/lang/Object;ILjava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/nashorn/internal/runtime/AccessorProperty;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        25: .line 157
            aload 0 /* properties */
            invokestatic jdk.nashorn.internal.runtime.PropertyMap.newMap:(Ljava/util/Collection;)Ljdk/nashorn/internal/runtime/PropertyMap;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.map$:Ljdk/nashorn/internal/runtime/PropertyMap;
        26: .line 158
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.map$:Ljdk/nashorn/internal/runtime/PropertyMap;
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.createStrictModeMap:(Ljdk/nashorn/internal/runtime/PropertyMap;)Ljdk/nashorn/internal/runtime/PropertyMap;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.strictmodemap$:Ljdk/nashorn/internal/runtime/PropertyMap;
        27: .line 159
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.strictmodemap$:Ljdk/nashorn/internal/runtime/PropertyMap;
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.createBoundFunctionMap:(Ljdk/nashorn/internal/runtime/PropertyMap;)Ljdk/nashorn/internal/runtime/PropertyMap;
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.boundfunctionmap$:Ljdk/nashorn/internal/runtime/PropertyMap;
        end local 0 // java.util.ArrayList properties
        28: .line 772
            getstatic jdk.nashorn.internal.runtime.Context.DEBUG:Z
            ifeq 32
        29: .line 773
            new java.util.concurrent.atomic.LongAdder
            dup
            invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.constructorCount:Ljava/util/concurrent/atomic/LongAdder;
        30: .line 774
            new java.util.concurrent.atomic.LongAdder
            dup
            invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.invokes:Ljava/util/concurrent/atomic/LongAdder;
        31: .line 775
            new java.util.concurrent.atomic.LongAdder
            dup
            invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
            putstatic jdk.nashorn.internal.runtime.ScriptFunction.allocations:Ljava/util/concurrent/atomic/LongAdder;
        32: .line 777
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot        Name  Signature
           22   28     0  properties  Ljava/util/ArrayList<Ljdk/nashorn/internal/runtime/Property;>;

  private static jdk.nashorn.internal.runtime.PropertyMap createStrictModeMap(jdk.nashorn.internal.runtime.PropertyMap);
    descriptor: (Ljdk/nashorn/internal/runtime/PropertyMap;)Ljdk/nashorn/internal/runtime/PropertyMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.PropertyMap map
         0: .line 138
            aload 0 /* map */
            astore 1 /* newMap */
        start local 1 // jdk.nashorn.internal.runtime.PropertyMap newMap
         1: .line 140
            aload 1 /* newMap */
            aload 1 /* newMap */
            ldc "arguments"
            bipush 6
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.newUserAccessors:(Ljava/lang/Object;I)Ljdk/nashorn/internal/runtime/UserAccessorProperty;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.addPropertyNoHistory:(Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 1 /* newMap */
         2: .line 141
            aload 1 /* newMap */
            aload 1 /* newMap */
            ldc "caller"
            bipush 6
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.newUserAccessors:(Ljava/lang/Object;I)Ljdk/nashorn/internal/runtime/UserAccessorProperty;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.addPropertyNoHistory:(Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 1 /* newMap */
         3: .line 142
            aload 1 /* newMap */
            areturn
        end local 1 // jdk.nashorn.internal.runtime.PropertyMap newMap
        end local 0 // jdk.nashorn.internal.runtime.PropertyMap map
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0     map  Ljdk/nashorn/internal/runtime/PropertyMap;
            1    4     1  newMap  Ljdk/nashorn/internal/runtime/PropertyMap;
    MethodParameters:
      Name  Flags
      map   final

  private static jdk.nashorn.internal.runtime.PropertyMap createBoundFunctionMap(jdk.nashorn.internal.runtime.PropertyMap);
    descriptor: (Ljdk/nashorn/internal/runtime/PropertyMap;)Ljdk/nashorn/internal/runtime/PropertyMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.PropertyMap strictModeMap
         0: .line 148
            aload 0 /* strictModeMap */
            aload 0 /* strictModeMap */
            ldc "prototype"
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.deleteProperty:(Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/PropertyMap;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.PropertyMap strictModeMap
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  strictModeMap  Ljdk/nashorn/internal/runtime/PropertyMap;
    MethodParameters:
               Name  Flags
      strictModeMap  final

  private static boolean isStrict(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int flags
         0: .line 163
            iload 0 /* flags */
            iconst_1
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int flags
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  flags  I
    MethodParameters:
       Name  Flags
      flags  final

  private static jdk.nashorn.internal.runtime.PropertyMap getMap(boolean);
    descriptor: (Z)Ljdk/nashorn/internal/runtime/PropertyMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // boolean strict
         0: .line 168
            iload 0 /* strict */
            ifeq 1
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.strictmodemap$:Ljdk/nashorn/internal/runtime/PropertyMap;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic jdk.nashorn.internal.runtime.ScriptFunction.map$:Ljdk/nashorn/internal/runtime/PropertyMap;
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.PropertyMap
         2: areturn
        end local 0 // boolean strict
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  strict  Z
    MethodParameters:
        Name  Flags
      strict  final

  private void <init>(jdk.nashorn.internal.runtime.ScriptFunctionData, jdk.nashorn.internal.runtime.PropertyMap, jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.objects.Global);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptFunctionData;Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/objects/Global;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // jdk.nashorn.internal.runtime.ScriptFunctionData data
        start local 2 // jdk.nashorn.internal.runtime.PropertyMap map
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject scope
        start local 4 // jdk.nashorn.internal.objects.Global global
         0: .line 202
            aload 0 /* this */
            aload 2 /* map */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.<init>:(Ljdk/nashorn/internal/runtime/PropertyMap;)V
         1: .line 204
            getstatic jdk.nashorn.internal.runtime.Context.DEBUG:Z
            ifeq 3
         2: .line 205
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.constructorCount:Ljava/util/concurrent/atomic/LongAdder;
            invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
         3: .line 208
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction jdk.nashorn.internal.runtime.ScriptFunctionData jdk.nashorn.internal.runtime.PropertyMap jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.objects.Global
      StackMap stack:
            aload 0 /* this */
            aload 1 /* data */
            putfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
         4: .line 209
            aload 0 /* this */
            aload 3 /* scope */
            putfield jdk.nashorn.internal.runtime.ScriptFunction.scope:Ljdk/nashorn/internal/runtime/ScriptObject;
         5: .line 210
            aload 0 /* this */
            aload 4 /* global */
            invokevirtual jdk.nashorn.internal.objects.Global.getFunctionPrototype:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.setInitialProto:(Ljdk/nashorn/internal/runtime/ScriptObject;)V
         6: .line 211
            aload 0 /* this */
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.LAZY_PROTOTYPE:Ljava/lang/Object;
            putfield jdk.nashorn.internal.runtime.ScriptFunction.prototype:Ljava/lang/Object;
         7: .line 215
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.objectSpill:[Ljava/lang/Object;
            ifnull 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.isStrict:()Z
            ifne 9
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.isBoundFunction:()Z
            ifeq 12
         9: .line 217
      StackMap locals:
      StackMap stack:
            aload 4 /* global */
            invokevirtual jdk.nashorn.internal.objects.Global.getTypeErrorThrower:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            astore 5 /* typeErrorThrower */
        start local 5 // jdk.nashorn.internal.runtime.ScriptFunction typeErrorThrower
        10: .line 218
            aload 0 /* this */
            ldc "arguments"
            aload 5 /* typeErrorThrower */
            aload 5 /* typeErrorThrower */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.initUserAccessors:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)V
        11: .line 219
            aload 0 /* this */
            ldc "caller"
            aload 5 /* typeErrorThrower */
            aload 5 /* typeErrorThrower */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.initUserAccessors:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)V
        end local 5 // jdk.nashorn.internal.runtime.ScriptFunction typeErrorThrower
        12: .line 221
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.nashorn.internal.objects.Global global
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject scope
        end local 2 // jdk.nashorn.internal.runtime.PropertyMap map
        end local 1 // jdk.nashorn.internal.runtime.ScriptFunctionData data
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0   13     1              data  Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            0   13     2               map  Ljdk/nashorn/internal/runtime/PropertyMap;
            0   13     3             scope  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   13     4            global  Ljdk/nashorn/internal/objects/Global;
           10   12     5  typeErrorThrower  Ljdk/nashorn/internal/runtime/ScriptFunction;
    MethodParameters:
        Name  Flags
      data    final
      map     final
      scope   final
      global  final

  private void <init>(java.lang.String, java.lang.invoke.MethodHandle, jdk.nashorn.internal.runtime.PropertyMap, jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.Specialization[], int, jdk.nashorn.internal.objects.Global);
    descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;[Ljdk/nashorn/internal/runtime/Specialization;ILjdk/nashorn/internal/objects/Global;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=8
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // java.lang.String name
        start local 2 // java.lang.invoke.MethodHandle methodHandle
        start local 3 // jdk.nashorn.internal.runtime.PropertyMap map
        start local 4 // jdk.nashorn.internal.runtime.ScriptObject scope
        start local 5 // jdk.nashorn.internal.runtime.Specialization[] specs
        start local 6 // int flags
        start local 7 // jdk.nashorn.internal.objects.Global global
         0: .line 242
            aload 0 /* this */
            new jdk.nashorn.internal.runtime.FinalScriptFunctionData
            dup
            aload 1 /* name */
            aload 2 /* methodHandle */
            aload 5 /* specs */
            iload 6 /* flags */
            invokespecial jdk.nashorn.internal.runtime.FinalScriptFunctionData.<init>:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;[Ljdk/nashorn/internal/runtime/Specialization;I)V
            aload 3 /* map */
            aload 4 /* scope */
            aload 7 /* global */
            invokespecial jdk.nashorn.internal.runtime.ScriptFunction.<init>:(Ljdk/nashorn/internal/runtime/ScriptFunctionData;Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/objects/Global;)V
         1: .line 243
            return
        end local 7 // jdk.nashorn.internal.objects.Global global
        end local 6 // int flags
        end local 5 // jdk.nashorn.internal.runtime.Specialization[] specs
        end local 4 // jdk.nashorn.internal.runtime.ScriptObject scope
        end local 3 // jdk.nashorn.internal.runtime.PropertyMap map
        end local 2 // java.lang.invoke.MethodHandle methodHandle
        end local 1 // java.lang.String name
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    2     1          name  Ljava/lang/String;
            0    2     2  methodHandle  Ljava/lang/invoke/MethodHandle;
            0    2     3           map  Ljdk/nashorn/internal/runtime/PropertyMap;
            0    2     4         scope  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    2     5         specs  [Ljdk/nashorn/internal/runtime/Specialization;
            0    2     6         flags  I
            0    2     7        global  Ljdk/nashorn/internal/objects/Global;
    MethodParameters:
              Name  Flags
      name          final
      methodHandle  final
      map           final
      scope         final
      specs         final
      flags         final
      global        final

  private void <init>(java.lang.String, java.lang.invoke.MethodHandle, jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.Specialization[], int);
    descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/ScriptObject;[Ljdk/nashorn/internal/runtime/Specialization;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // java.lang.String name
        start local 2 // java.lang.invoke.MethodHandle methodHandle
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject scope
        start local 4 // jdk.nashorn.internal.runtime.Specialization[] specs
        start local 5 // int flags
         0: .line 261
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* methodHandle */
            iload 5 /* flags */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.isStrict:(I)Z
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.getMap:(Z)Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 3 /* scope */
            aload 4 /* specs */
            iload 5 /* flags */
            invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
            invokespecial jdk.nashorn.internal.runtime.ScriptFunction.<init>:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;[Ljdk/nashorn/internal/runtime/Specialization;ILjdk/nashorn/internal/objects/Global;)V
         1: .line 262
            return
        end local 5 // int flags
        end local 4 // jdk.nashorn.internal.runtime.Specialization[] specs
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject scope
        end local 2 // java.lang.invoke.MethodHandle methodHandle
        end local 1 // java.lang.String name
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    2     1          name  Ljava/lang/String;
            0    2     2  methodHandle  Ljava/lang/invoke/MethodHandle;
            0    2     3         scope  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    2     4         specs  [Ljdk/nashorn/internal/runtime/Specialization;
            0    2     5         flags  I
    MethodParameters:
              Name  Flags
      name          final
      methodHandle  final
      scope         final
      specs         final
      flags         final

  protected void <init>(java.lang.String, java.lang.invoke.MethodHandle, jdk.nashorn.internal.runtime.Specialization[]);
    descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodHandle;[Ljdk/nashorn/internal/runtime/Specialization;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // java.lang.String name
        start local 2 // java.lang.invoke.MethodHandle invokeHandle
        start local 3 // jdk.nashorn.internal.runtime.Specialization[] specs
         0: .line 274
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* invokeHandle */
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.map$:Ljdk/nashorn/internal/runtime/PropertyMap;
            aconst_null
            aload 3 /* specs */
            bipush 6
            invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
            invokespecial jdk.nashorn.internal.runtime.ScriptFunction.<init>:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;[Ljdk/nashorn/internal/runtime/Specialization;ILjdk/nashorn/internal/objects/Global;)V
         1: .line 275
            return
        end local 3 // jdk.nashorn.internal.runtime.Specialization[] specs
        end local 2 // java.lang.invoke.MethodHandle invokeHandle
        end local 1 // java.lang.String name
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    2     1          name  Ljava/lang/String;
            0    2     2  invokeHandle  Ljava/lang/invoke/MethodHandle;
            0    2     3         specs  [Ljdk/nashorn/internal/runtime/Specialization;
    MethodParameters:
              Name  Flags
      name          final
      invokeHandle  final
      specs         final

  protected void <init>(java.lang.String, java.lang.invoke.MethodHandle, jdk.nashorn.internal.runtime.PropertyMap, jdk.nashorn.internal.runtime.Specialization[]);
    descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/PropertyMap;[Ljdk/nashorn/internal/runtime/Specialization;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // java.lang.String name
        start local 2 // java.lang.invoke.MethodHandle invokeHandle
        start local 3 // jdk.nashorn.internal.runtime.PropertyMap map
        start local 4 // jdk.nashorn.internal.runtime.Specialization[] specs
         0: .line 288
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* invokeHandle */
            aload 3 /* map */
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.map$:Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.addAll:(Ljdk/nashorn/internal/runtime/PropertyMap;)Ljdk/nashorn/internal/runtime/PropertyMap;
            aconst_null
            aload 4 /* specs */
            bipush 6
            invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
            invokespecial jdk.nashorn.internal.runtime.ScriptFunction.<init>:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;[Ljdk/nashorn/internal/runtime/Specialization;ILjdk/nashorn/internal/objects/Global;)V
         1: .line 289
            return
        end local 4 // jdk.nashorn.internal.runtime.Specialization[] specs
        end local 3 // jdk.nashorn.internal.runtime.PropertyMap map
        end local 2 // java.lang.invoke.MethodHandle invokeHandle
        end local 1 // java.lang.String name
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    2     1          name  Ljava/lang/String;
            0    2     2  invokeHandle  Ljava/lang/invoke/MethodHandle;
            0    2     3           map  Ljdk/nashorn/internal/runtime/PropertyMap;
            0    2     4         specs  [Ljdk/nashorn/internal/runtime/Specialization;
    MethodParameters:
              Name  Flags
      name          final
      invokeHandle  final
      map           final
      specs         final

  public static jdk.nashorn.internal.runtime.ScriptFunction create(java.lang.Object[], int, jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: ([Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // java.lang.Object[] constants
        start local 1 // int index
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject scope
         0: .line 303
            aload 0 /* constants */
            iload 1 /* index */
            aaload
            checkcast jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
            astore 3 /* data */
        start local 3 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData data
         1: .line 304
            new jdk.nashorn.internal.runtime.ScriptFunction
            dup
            aload 3 /* data */
            aload 3 /* data */
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.isStrict:()Z
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.getMap:(Z)Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 2 /* scope */
            invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
            invokespecial jdk.nashorn.internal.runtime.ScriptFunction.<init>:(Ljdk/nashorn/internal/runtime/ScriptFunctionData;Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/objects/Global;)V
            areturn
        end local 3 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData data
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject scope
        end local 1 // int index
        end local 0 // java.lang.Object[] constants
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  constants  [Ljava/lang/Object;
            0    2     1      index  I
            0    2     2      scope  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    2     3       data  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
    MethodParameters:
           Name  Flags
      constants  final
      index      final
      scope      final

  public static jdk.nashorn.internal.runtime.ScriptFunction create(java.lang.Object[], int);
    descriptor: ([Ljava/lang/Object;I)Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object[] constants
        start local 1 // int index
         0: .line 317
            aload 0 /* constants */
            iload 1 /* index */
            aconst_null
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.create:([Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
            areturn
        end local 1 // int index
        end local 0 // java.lang.Object[] constants
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  constants  [Ljava/lang/Object;
            0    1     1      index  I
    MethodParameters:
           Name  Flags
      constants  final
      index      final

  public static jdk.nashorn.internal.runtime.ScriptFunction createAnonymous();
    descriptor: ()Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 326
            new jdk.nashorn.internal.runtime.ScriptFunction
            dup
            ldc ""
            getstatic jdk.nashorn.internal.runtime.GlobalFunctions.ANONYMOUS:Ljava/lang/invoke/MethodHandle;
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.anonmap$:Ljdk/nashorn/internal/runtime/PropertyMap;
            aconst_null
            invokespecial jdk.nashorn.internal.runtime.ScriptFunction.<init>:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/PropertyMap;[Ljdk/nashorn/internal/runtime/Specialization;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static jdk.nashorn.internal.runtime.ScriptFunction createBuiltin(java.lang.String, java.lang.invoke.MethodHandle, jdk.nashorn.internal.runtime.Specialization[], int);
    descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodHandle;[Ljdk/nashorn/internal/runtime/Specialization;I)Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // java.lang.String name
        start local 1 // java.lang.invoke.MethodHandle methodHandle
        start local 2 // jdk.nashorn.internal.runtime.Specialization[] specs
        start local 3 // int flags
         0: .line 331
            new jdk.nashorn.internal.runtime.ScriptFunction
            dup
            aload 0 /* name */
            aload 1 /* methodHandle */
            aconst_null
            aload 2 /* specs */
            iload 3 /* flags */
            invokespecial jdk.nashorn.internal.runtime.ScriptFunction.<init>:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/ScriptObject;[Ljdk/nashorn/internal/runtime/Specialization;I)V
            astore 4 /* func */
        start local 4 // jdk.nashorn.internal.runtime.ScriptFunction func
         1: .line 332
            aload 4 /* func */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.setPrototype:(Ljava/lang/Object;)V
         2: .line 334
            aload 4 /* func */
            aload 4 /* func */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            ldc "prototype"
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.deleteOwnProperty:(Ljdk/nashorn/internal/runtime/Property;)Z
            pop
         3: .line 336
            aload 4 /* func */
            areturn
        end local 4 // jdk.nashorn.internal.runtime.ScriptFunction func
        end local 3 // int flags
        end local 2 // jdk.nashorn.internal.runtime.Specialization[] specs
        end local 1 // java.lang.invoke.MethodHandle methodHandle
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          name  Ljava/lang/String;
            0    4     1  methodHandle  Ljava/lang/invoke/MethodHandle;
            0    4     2         specs  [Ljdk/nashorn/internal/runtime/Specialization;
            0    4     3         flags  I
            1    4     4          func  Ljdk/nashorn/internal/runtime/ScriptFunction;
    MethodParameters:
              Name  Flags
      name          final
      methodHandle  final
      specs         final
      flags         final

  public static jdk.nashorn.internal.runtime.ScriptFunction createBuiltin(java.lang.String, java.lang.invoke.MethodHandle, jdk.nashorn.internal.runtime.Specialization[]);
    descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodHandle;[Ljdk/nashorn/internal/runtime/Specialization;)Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.invoke.MethodHandle methodHandle
        start local 2 // jdk.nashorn.internal.runtime.Specialization[] specs
         0: .line 349
            aload 0 /* name */
            aload 1 /* methodHandle */
            aload 2 /* specs */
            iconst_2
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.createBuiltin:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;[Ljdk/nashorn/internal/runtime/Specialization;I)Ljdk/nashorn/internal/runtime/ScriptFunction;
            areturn
        end local 2 // jdk.nashorn.internal.runtime.Specialization[] specs
        end local 1 // java.lang.invoke.MethodHandle methodHandle
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          name  Ljava/lang/String;
            0    1     1  methodHandle  Ljava/lang/invoke/MethodHandle;
            0    1     2         specs  [Ljdk/nashorn/internal/runtime/Specialization;
    MethodParameters:
              Name  Flags
      name          final
      methodHandle  final
      specs         final

  public static jdk.nashorn.internal.runtime.ScriptFunction createBuiltin(java.lang.String, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodHandle;)Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.invoke.MethodHandle methodHandle
         0: .line 360
            aload 0 /* name */
            aload 1 /* methodHandle */
            aconst_null
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.createBuiltin:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;[Ljdk/nashorn/internal/runtime/Specialization;)Ljdk/nashorn/internal/runtime/ScriptFunction;
            areturn
        end local 1 // java.lang.invoke.MethodHandle methodHandle
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          name  Ljava/lang/String;
            0    1     1  methodHandle  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
              Name  Flags
      name          final
      methodHandle  final

  public static jdk.nashorn.internal.runtime.ScriptFunction createStrictBuiltin(java.lang.String, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodHandle;)Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.invoke.MethodHandle methodHandle
         0: .line 371
            aload 0 /* name */
            aload 1 /* methodHandle */
            aconst_null
            iconst_3
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.createBuiltin:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;[Ljdk/nashorn/internal/runtime/Specialization;I)Ljdk/nashorn/internal/runtime/ScriptFunction;
            areturn
        end local 1 // java.lang.invoke.MethodHandle methodHandle
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          name  Ljava/lang/String;
            0    1     1  methodHandle  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
              Name  Flags
      name          final
      methodHandle  final

  public final jdk.nashorn.internal.runtime.ScriptFunction createBound(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // java.lang.Object self
        start local 2 // java.lang.Object[] args
         0: .line 402
            new jdk.nashorn.internal.runtime.ScriptFunction$Bound
            dup
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 0 /* this */
            aload 1 /* self */
            aload 2 /* args */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.makeBoundFunctionData:(Ljdk/nashorn/internal/runtime/ScriptFunction;Ljava/lang/Object;[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getTargetFunction:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            invokespecial jdk.nashorn.internal.runtime.ScriptFunction$Bound.<init>:(Ljdk/nashorn/internal/runtime/ScriptFunctionData;Ljdk/nashorn/internal/runtime/ScriptFunction;)V
            areturn
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.Object self
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    1     1  self  Ljava/lang/Object;
            0    1     2  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      self  final
      args  final

  public final jdk.nashorn.internal.runtime.ScriptFunction createSynchronized(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // java.lang.Object sync
         0: .line 413
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.INVOKE_SYNC:Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            dup
            iconst_1
            aload 1 /* sync */
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
        start local 2 // java.lang.invoke.MethodHandle mh
         1: .line 414
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getName:()Ljava/lang/String;
            aload 2 /* mh */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.createBuiltin:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;)Ljdk/nashorn/internal/runtime/ScriptFunction;
            areturn
        end local 2 // java.lang.invoke.MethodHandle mh
        end local 1 // java.lang.Object sync
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    2     1  sync  Ljava/lang/Object;
            1    2     2    mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      sync  final

  public java.lang.String getClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 419
            ldc "Function"
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  public boolean isInstance(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject instance
         0: .line 428
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getTargetFunction:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getPrototype:()Ljava/lang/Object;
            astore 2 /* basePrototype */
        start local 2 // java.lang.Object basePrototype
         1: .line 429
            aload 2 /* basePrototype */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifne 3
         2: .line 430
            ldc "prototype.not.an.object"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getTargetFunction:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* basePrototype */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
         3: .line 433
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* instance */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 3 /* proto */
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject proto
         4: goto 8
         5: .line 434
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 3 /* proto */
            aload 2 /* basePrototype */
            if_acmpne 7
         6: .line 435
            iconst_1
            ireturn
         7: .line 433
      StackMap locals:
      StackMap stack:
            aload 3 /* proto */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 3 /* proto */
      StackMap locals:
      StackMap stack:
         8: aload 3 /* proto */
            ifnonnull 5
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject proto
         9: .line 439
            iconst_0
            ireturn
        end local 2 // java.lang.Object basePrototype
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject instance
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0   10     1       instance  Ljdk/nashorn/internal/runtime/ScriptObject;
            1   10     2  basePrototype  Ljava/lang/Object;
            4    9     3          proto  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
          Name  Flags
      instance  final

  protected jdk.nashorn.internal.runtime.ScriptFunction getTargetFunction();
    descriptor: ()Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 452
            aload 0 /* this */
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  final boolean isBoundFunction();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 456
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getTargetFunction:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            aload 0 /* this */
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  public final void setArity(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // int arity
         0: .line 465
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            iload 1 /* arity */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.setArity:(I)V
         1: .line 466
            return
        end local 1 // int arity
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    2     1  arity  I
    MethodParameters:
       Name  Flags
      arity  final

  public final boolean isStrict();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 474
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.isStrict:()Z
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  public boolean hasAllVarsInScope();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 482
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            instanceof jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
            ifeq 3
         1: .line 483
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            checkcast jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getFunctionFlags:()I
            bipush 96
            iand
            ifeq 3
         2: .line 482
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  public final boolean needsWrappedThis();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 493
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.needsWrappedThis:()Z
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  private static boolean needsWrappedThis(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object fn
         0: .line 497
            aload 0 /* fn */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifeq 1
            aload 0 /* fn */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.needsWrappedThis:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.Object fn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    fn  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      fn    final

  final java.lang.Object invoke(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0090) ACC_FINAL, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // java.lang.Object self
        start local 2 // java.lang.Object[] arguments
         0: .line 510
            getstatic jdk.nashorn.internal.runtime.Context.DEBUG:Z
            ifeq 2
         1: .line 511
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.invokes:Ljava/util/concurrent/atomic/LongAdder;
            invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
         2: .line 513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 0 /* this */
            aload 1 /* self */
            aload 2 /* arguments */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.invoke:(Ljdk/nashorn/internal/runtime/ScriptFunction;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Object self
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    3     1       self  Ljava/lang/Object;
            0    3     2  arguments  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
           Name  Flags
      self       final
      arguments  final

  final java.lang.Object construct(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0090) ACC_FINAL, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // java.lang.Object[] arguments
         0: .line 525
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 0 /* this */
            aload 1 /* arguments */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.construct:(Ljdk/nashorn/internal/runtime/ScriptFunction;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object[] arguments
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    1     1  arguments  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
           Name  Flags
      arguments  final

  private java.lang.Object allocate();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 537
            getstatic jdk.nashorn.internal.runtime.Context.DEBUG:Z
            ifeq 2
         1: .line 538
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.allocations:Ljava/util/concurrent/atomic/LongAdder;
            invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
         2: .line 541
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.isBoundFunction:()Z
            ifeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getAllocatorPrototype:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 1 /* prototype */
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject prototype
         4: .line 544
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 0 /* this */
            aload 1 /* prototype */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getAllocatorMap:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.allocate:(Ljdk/nashorn/internal/runtime/PropertyMap;)Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 2 /* object */
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject object
         5: .line 546
            aload 2 /* object */
            ifnull 7
         6: .line 547
            aload 2 /* object */
            aload 1 /* prototype */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setInitialProto:(Ljdk/nashorn/internal/runtime/ScriptObject;)V
         7: .line 550
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 2 /* object */
            areturn
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject object
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject prototype
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            4    8     1  prototype  Ljdk/nashorn/internal/runtime/ScriptObject;
            5    8     2     object  Ljdk/nashorn/internal/runtime/ScriptObject;

  private jdk.nashorn.internal.runtime.PropertyMap getAllocatorMap(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/PropertyMap;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject prototype
         0: .line 559
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.allocatorMap:Ljdk/nashorn/internal/runtime/PropertyMap;
            ifnull 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.allocatorMap:Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* prototype */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.isInvalidSharedMapFor:(Ljdk/nashorn/internal/runtime/ScriptObject;)Z
            ifeq 2
         1: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 1 /* prototype */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.getAllocatorMap:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/PropertyMap;
            putfield jdk.nashorn.internal.runtime.ScriptFunction.allocatorMap:Ljdk/nashorn/internal/runtime/PropertyMap;
         2: .line 564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.allocatorMap:Ljdk/nashorn/internal/runtime/PropertyMap;
            areturn
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject prototype
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    3     1  prototype  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
           Name  Flags
      prototype  final

  private jdk.nashorn.internal.runtime.ScriptObject getAllocatorPrototype();
    descriptor: ()Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 572
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getPrototype:()Ljava/lang/Object;
            astore 1 /* prototype */
        start local 1 // java.lang.Object prototype
         1: .line 573
            aload 1 /* prototype */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 3
         2: .line 574
            aload 1 /* prototype */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            areturn
         3: .line 576
      StackMap locals: java.lang.Object
      StackMap stack:
            invokestatic jdk.nashorn.internal.objects.Global.objectPrototype:()Ljdk/nashorn/internal/runtime/ScriptObject;
            areturn
        end local 1 // java.lang.Object prototype
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            1    4     1  prototype  Ljava/lang/Object;

  public final java.lang.String safeToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 581
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.toSource:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  public final java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 586
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  public final java.lang.String toSource();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 597
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.toSource:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  public final java.lang.Object getPrototype();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 606
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.prototype:Ljava/lang/Object;
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.LAZY_PROTOTYPE:Ljava/lang/Object;
            if_acmpne 2
         1: .line 607
            aload 0 /* this */
            new jdk.nashorn.internal.runtime.PrototypeObject
            dup
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.runtime.PrototypeObject.<init>:(Ljdk/nashorn/internal/runtime/ScriptFunction;)V
            putfield jdk.nashorn.internal.runtime.ScriptFunction.prototype:Ljava/lang/Object;
         2: .line 609
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.prototype:Ljava/lang/Object;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  public final void setPrototype(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // java.lang.Object newPrototype
         0: .line 618
            aload 1 /* newPrototype */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 2
            aload 1 /* newPrototype */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.prototype:Ljava/lang/Object;
            if_acmpeq 2
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.allocatorMap:Ljdk/nashorn/internal/runtime/PropertyMap;
            ifnull 2
         1: .line 620
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.internal.runtime.ScriptFunction.allocatorMap:Ljdk/nashorn/internal/runtime/PropertyMap;
         2: .line 622
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newPrototype */
            putfield jdk.nashorn.internal.runtime.ScriptFunction.prototype:Ljava/lang/Object;
         3: .line 623
            return
        end local 1 // java.lang.Object newPrototype
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    4     1  newPrototype  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      newPrototype  final

  public final java.lang.invoke.MethodHandle getBoundInvokeHandle(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // java.lang.Object self
         0: .line 633
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.scope:Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.getGenericInvoker:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljava/lang/invoke/MethodHandle;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.bindToCalleeIfNeeded:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            aload 1 /* self */
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.bindTo:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.Object self
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    1     1  self  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      self  final

  private java.lang.invoke.MethodHandle bindToCalleeIfNeeded(java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // java.lang.invoke.MethodHandle methodHandle
         0: .line 646
            aload 1 /* methodHandle */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunctionData.needsCallee:(Ljava/lang/invoke/MethodHandle;)Z
            ifeq 1
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 1 /* methodHandle */
            aload 0 /* this */
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.bindTo:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* methodHandle */
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandle
         2: areturn
        end local 1 // java.lang.invoke.MethodHandle methodHandle
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    3     1  methodHandle  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
              Name  Flags
      methodHandle  final

  public final java.lang.String getDocumentation();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 656
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.getDocumentation:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  public final java.lang.String getDocumentationKey();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 665
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.getDocumentationKey:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  public final void setDocumentationKey(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // java.lang.String docKey
         0: .line 674
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 1 /* docKey */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.setDocumentationKey:(Ljava/lang/String;)V
         1: .line 675
            return
        end local 1 // java.lang.String docKey
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    2     1  docKey  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      docKey  final

  public final java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 683
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.getName:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  public final jdk.nashorn.internal.runtime.ScriptObject getScope();
    descriptor: ()Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
         0: .line 692
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.scope:Ljdk/nashorn/internal/runtime/ScriptObject;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptFunction;

  public static java.lang.Object G$prototype(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object self
         0: .line 703
            aload 0 /* self */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifeq 2
         1: .line 704
            aload 0 /* self */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getPrototype:()Ljava/lang/Object;
            goto 3
         2: .line 705
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
         3: .line 703
      StackMap locals:
      StackMap stack: java.lang.Object
            areturn
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  self  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      self  final

  public static void S$prototype(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object prototype
         0: .line 716
            aload 0 /* self */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifeq 2
         1: .line 717
            aload 0 /* self */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            aload 1 /* prototype */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.setPrototype:(Ljava/lang/Object;)V
         2: .line 719
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object prototype
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       self  Ljava/lang/Object;
            0    3     1  prototype  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      self       final
      prototype  final

  public static int G$length(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object self
         0: .line 728
            aload 0 /* self */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifeq 2
         1: .line 729
            aload 0 /* self */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.getArity:()I
            ireturn
         2: .line 732
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  self  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      self  final

  public static java.lang.Object G$name(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object self
         0: .line 742
            aload 0 /* self */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifeq 2
         1: .line 743
            aload 0 /* self */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getName:()Ljava/lang/String;
            areturn
         2: .line 746
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            areturn
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  self  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      self  final

  public static jdk.nashorn.internal.runtime.ScriptObject getPrototype(jdk.nashorn.internal.runtime.ScriptFunction);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction constructor
         0: .line 756
            aload 0 /* constructor */
            ifnull 4
         1: .line 757
            aload 0 /* constructor */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getPrototype:()Ljava/lang/Object;
            astore 1 /* proto */
        start local 1 // java.lang.Object proto
         2: .line 758
            aload 1 /* proto */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 4
         3: .line 759
            aload 1 /* proto */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            areturn
        end local 1 // java.lang.Object proto
         4: .line 763
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction constructor
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0  constructor  Ljdk/nashorn/internal/runtime/ScriptFunction;
            2    4     1        proto  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      constructor  final

  public static long getConstructorCount();
    descriptor: ()J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 783
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.constructorCount:Ljava/util/concurrent/atomic/LongAdder;
            invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static long getInvokes();
    descriptor: ()J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 790
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.invokes:Ljava/util/concurrent/atomic/LongAdder;
            invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static long getAllocations();
    descriptor: ()J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 797
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.allocations:Ljava/util/concurrent/atomic/LongAdder;
            invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected jdk.dynalink.linker.GuardedInvocation findNewMethod(jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkRequest);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // jdk.dynalink.linker.LinkRequest request
         0: .line 802
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 3 /* type */
        start local 3 // java.lang.invoke.MethodType type
         1: .line 803
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.$assertionsDisabled:Z
            ifne 3
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            ldc Ljava/lang/Object;
            if_acmpne 2
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isOptimistic:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 3
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 804
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 3 /* type */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.scope:Ljdk/nashorn/internal/runtime/ScriptObject;
            getstatic jdk.nashorn.internal.runtime.CompiledFunction.NO_FUNCTIONS:Ljava/util/Collection;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.getBestConstructor:(Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/util/Collection;)Ljdk/nashorn/internal/runtime/CompiledFunction;
            astore 4 /* cf */
        start local 4 // jdk.nashorn.internal.runtime.CompiledFunction cf
         4: .line 805
            aload 4 /* cf */
            invokevirtual jdk.nashorn.internal.runtime.CompiledFunction.createConstructorInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
            astore 5 /* bestCtorInv */
        start local 5 // jdk.dynalink.linker.GuardedInvocation bestCtorInv
         5: .line 807
            new jdk.dynalink.linker.GuardedInvocation
            dup
            aload 5 /* bestCtorInv */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
            aload 3 /* type */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.pairArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            aload 4 /* cf */
            invokevirtual jdk.nashorn.internal.runtime.CompiledFunction.getFlags:()I
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.getFunctionGuard:(Ljdk/nashorn/internal/runtime/ScriptFunction;I)Ljava/lang/invoke/MethodHandle;
            aload 5 /* bestCtorInv */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getSwitchPoints:()[Ljava/lang/invoke/SwitchPoint;
            aconst_null
            invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;[Ljava/lang/invoke/SwitchPoint;Ljava/lang/Class;)V
            areturn
        end local 5 // jdk.dynalink.linker.GuardedInvocation bestCtorInv
        end local 4 // jdk.nashorn.internal.runtime.CompiledFunction cf
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // jdk.dynalink.linker.LinkRequest request
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    6     1         desc  Ljdk/dynalink/CallSiteDescriptor;
            0    6     2      request  Ljdk/dynalink/linker/LinkRequest;
            1    6     3         type  Ljava/lang/invoke/MethodType;
            4    6     4           cf  Ljdk/nashorn/internal/runtime/CompiledFunction;
            5    6     5  bestCtorInv  Ljdk/dynalink/linker/GuardedInvocation;
    MethodParameters:
         Name  Flags
      desc     final
      request  final

  private static java.lang.Object wrapFilter(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 811
            aload 0 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifne 1
            aload 0 /* obj */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunctionData.isPrimitiveThis:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 812
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            areturn
         2: .line 814
      StackMap locals:
      StackMap stack:
            invokestatic jdk.nashorn.internal.runtime.Context.getGlobal:()Ljdk/nashorn/internal/objects/Global;
            aload 0 /* obj */
            invokevirtual jdk.nashorn.internal.objects.Global.wrapAsObject:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   final

  private static java.lang.Object globalFilter(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object object
         0: .line 820
            invokestatic jdk.nashorn.internal.runtime.Context.getGlobal:()Ljdk/nashorn/internal/objects/Global;
            areturn
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  object  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      object  final

  private static jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic getLinkLogic(, java.lang.Class<? extends jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Class linkLogicClass
         0: .line 836
            aload 1 /* linkLogicClass */
            ifnonnull 2
         1: .line 837
            getstatic jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic.EMPTY_INSTANCE:Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;
            areturn
         2: .line 840
      StackMap locals:
      StackMap stack:
            invokestatic jdk.nashorn.internal.runtime.Context.getContextTrusted:()Ljdk/nashorn/internal/runtime/Context;
            invokevirtual jdk.nashorn.internal.runtime.Context.getEnv:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._optimistic_types:Z
            ifne 4
         3: .line 841
            aconst_null
            areturn
         4: .line 844
      StackMap locals:
      StackMap stack:
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.wrapFilter:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* wrappedSelf */
        start local 2 // java.lang.Object wrappedSelf
         5: .line 845
            aload 2 /* wrappedSelf */
            instanceof jdk.nashorn.internal.runtime.OptimisticBuiltins
            ifeq 9
         6: .line 846
            aload 2 /* wrappedSelf */
            aload 0 /* self */
            if_acmpeq 8
            aload 2 /* wrappedSelf */
            checkcast jdk.nashorn.internal.runtime.OptimisticBuiltins
            invokeinterface jdk.nashorn.internal.runtime.OptimisticBuiltins.hasPerInstanceAssumptions:()Z
            ifeq 8
         7: .line 847
            aconst_null
            areturn
         8: .line 849
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* wrappedSelf */
            checkcast jdk.nashorn.internal.runtime.OptimisticBuiltins
            aload 1 /* linkLogicClass */
            invokeinterface jdk.nashorn.internal.runtime.OptimisticBuiltins.getLinkLogic:(Ljava/lang/Class;)Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;
            areturn
         9: .line 851
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Object wrappedSelf
        end local 1 // java.lang.Class linkLogicClass
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            self  Ljava/lang/Object;
            0   10     1  linkLogicClass  Ljava/lang/Class<+Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;>;
            5   10     2     wrappedSelf  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;Ljava/lang/Class<+Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;>;)Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;
    MethodParameters:
                Name  Flags
      self            final
      linkLogicClass  final

  protected jdk.dynalink.linker.GuardedInvocation findCallMethod(jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkRequest);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=21, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // jdk.dynalink.linker.LinkRequest request
         0: .line 870
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 3 /* type */
        start local 3 // java.lang.invoke.MethodType type
         1: .line 872
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getName:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         2: .line 873
            aload 2 /* request */
            invokeinterface jdk.dynalink.linker.LinkRequest.isCallSiteUnstable:()Z
            istore 5 /* isUnstable */
        start local 5 // boolean isUnstable
         3: .line 874
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isScope:(Ljdk/dynalink/CallSiteDescriptor;)Z
            istore 6 /* scopeCall */
        start local 6 // boolean scopeCall
         4: .line 875
            iload 6 /* scopeCall */
            ifne 5
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.isBuiltin:()Z
            ifeq 5
            ldc "call"
            aload 4 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.invoke.MethodType java.lang.String int int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* isCall */
        start local 7 // boolean isCall
         7: .line 876
            iload 6 /* scopeCall */
            ifne 8
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.isBuiltin:()Z
            ifeq 8
            ldc "apply"
            aload 4 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
            iconst_1
            goto 9
      StackMap locals: int
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 8 /* isApply */
        start local 8 // boolean isApply
        10: .line 878
            iload 7 /* isCall */
            iload 8 /* isApply */
            ior
            istore 9 /* isApplyOrCall */
        start local 9 // boolean isApplyOrCall
        11: .line 880
            iload 5 /* isUnstable */
            ifeq 22
            iload 9 /* isApplyOrCall */
            ifne 22
        12: .line 884
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_3
            if_icmpne 15
            aload 3 /* type */
            iconst_2
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            ldc [Ljava/lang/Object;
            if_acmpne 15
        13: .line 886
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.APPLY:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.methodHandle:()Ljava/lang/invoke/MethodHandle;
            astore 10 /* handle */
        start local 10 // java.lang.invoke.MethodHandle handle
        14: .line 887
            goto 16
        end local 10 // java.lang.invoke.MethodHandle handle
        15: .line 889
      StackMap locals: int int
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.APPLY:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.methodHandle:()Ljava/lang/invoke/MethodHandle;
            ldc [Ljava/lang/Object;
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_2
            isub
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.asCollector:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
            astore 10 /* handle */
        start local 10 // java.lang.invoke.MethodHandle handle
        16: .line 894
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            new jdk.dynalink.linker.GuardedInvocation
            dup
        17: .line 895
            aload 10 /* handle */
        18: .line 896
            aconst_null
        19: .line 897
            aconst_null
        20: .line 898
            ldc Ljava/lang/ClassCastException;
        21: .line 894
            invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/SwitchPoint;Ljava/lang/Class;)V
            areturn
        end local 10 // java.lang.invoke.MethodHandle handle
        22: .line 902
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 11 /* guard */
        start local 11 // java.lang.invoke.MethodHandle guard
        23: .line 905
            iload 9 /* isApplyOrCall */
            ifeq 27
            iload 5 /* isUnstable */
            ifne 27
        24: .line 906
            aload 2 /* request */
            invokeinterface jdk.dynalink.linker.LinkRequest.getArguments:()[Ljava/lang/Object;
            astore 12 /* args */
        start local 12 // java.lang.Object[] args
        25: .line 907
            aload 12 /* args */
            iconst_1
            aaload
            invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.isCallable:(Ljava/lang/Object;)Z
            ifeq 27
        26: .line 908
            aload 0 /* this */
            iload 8 /* isApply */
            aload 1 /* desc */
            aload 2 /* request */
            aload 12 /* args */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.createApplyOrCallCall:(ZLjdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;[Ljava/lang/Object;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        end local 12 // java.lang.Object[] args
        27: .line 912
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.invoke.MethodType java.lang.String int int int int int top java.lang.invoke.MethodHandle
      StackMap stack:
            iconst_m1
            istore 12 /* programPoint */
        start local 12 // int programPoint
        28: .line 913
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isOptimistic:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 30
        29: .line 914
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getProgramPoint:(Ljdk/dynalink/CallSiteDescriptor;)I
            istore 12 /* programPoint */
        30: .line 917
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 3 /* type */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.scope:Ljdk/nashorn/internal/runtime/ScriptObject;
            getstatic jdk.nashorn.internal.runtime.CompiledFunction.NO_FUNCTIONS:Ljava/util/Collection;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.getBestInvoker:(Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/util/Collection;)Ljdk/nashorn/internal/runtime/CompiledFunction;
            astore 13 /* cf */
        start local 13 // jdk.nashorn.internal.runtime.CompiledFunction cf
        31: .line 918
            aload 2 /* request */
            invokeinterface jdk.dynalink.linker.LinkRequest.getArguments:()[Ljava/lang/Object;
            iconst_1
            aaload
            astore 14 /* self */
        start local 14 // java.lang.Object self
        32: .line 919
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 15 /* forbidden */
        start local 15 // java.util.Collection forbidden
        33: .line 922
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 16 /* sps */
        start local 16 // java.util.List sps
        34: .line 923
            aconst_null
            astore 17 /* exceptionGuard */
        start local 17 // java.lang.Class exceptionGuard
        35: .line 925
            goto 48
        36: .line 926
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.invoke.MethodType java.lang.String int int int int int top java.lang.invoke.MethodHandle int jdk.nashorn.internal.runtime.CompiledFunction java.lang.Object java.util.Collection java.util.List java.lang.Class
      StackMap stack:
            aload 13 /* cf */
            invokevirtual jdk.nashorn.internal.runtime.CompiledFunction.getLinkLogicClass:()Ljava/lang/Class;
            astore 18 /* linkLogicClass */
        start local 18 // java.lang.Class linkLogicClass
        37: .line 928
            aload 14 /* self */
            aload 18 /* linkLogicClass */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.getLinkLogic:(Ljava/lang/Object;Ljava/lang/Class;)Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;
            astore 19 /* linkLogic */
        start local 19 // jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic linkLogic
        38: .line 930
            aload 19 /* linkLogic */
            ifnull 44
            aload 19 /* linkLogic */
            aload 14 /* self */
            aload 1 /* desc */
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic.checkLinkable:(Ljava/lang/Object;Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Z
            ifeq 44
        39: .line 931
            invokestatic jdk.nashorn.internal.runtime.Context.getContextTrusted:()Ljdk/nashorn/internal/runtime/Context;
            ldc Ljdk/nashorn/internal/codegen/Compiler;
            invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            astore 20 /* log */
        start local 20 // jdk.nashorn.internal.runtime.logging.DebugLogger log
        40: .line 933
            aload 20 /* log */
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.isEnabled:()Z
            ifeq 42
        41: .line 934
            aload 20 /* log */
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "Linking optimistic builtin function: '"
            aastore
            dup
            iconst_1
            aload 4 /* name */
            aastore
            dup
            iconst_2
            ldc "' args="
            aastore
            dup
            iconst_3
            aload 2 /* request */
            invokeinterface jdk.dynalink.linker.LinkRequest.getArguments:()[Ljava/lang/Object;
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_4
            ldc " desc="
            aastore
            dup
            iconst_5
            aload 1 /* desc */
            aastore
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
        42: .line 937
      StackMap locals: java.lang.Class jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic jdk.nashorn.internal.runtime.logging.DebugLogger
      StackMap stack:
            aload 19 /* linkLogic */
            invokevirtual jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic.getRelinkException:()Ljava/lang/Class;
            astore 17 /* exceptionGuard */
        43: .line 939
            goto 49
        end local 20 // jdk.nashorn.internal.runtime.logging.DebugLogger log
        44: .line 943
      StackMap locals:
      StackMap stack:
            aload 15 /* forbidden */
            aload 13 /* cf */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        45: .line 944
            aload 13 /* cf */
            astore 20 /* oldCf */
        start local 20 // jdk.nashorn.internal.runtime.CompiledFunction oldCf
        46: .line 945
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 3 /* type */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.scope:Ljdk/nashorn/internal/runtime/ScriptObject;
            aload 15 /* forbidden */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.getBestInvoker:(Ljava/lang/invoke/MethodType;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/util/Collection;)Ljdk/nashorn/internal/runtime/CompiledFunction;
            astore 13 /* cf */
        47: .line 946
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.$assertionsDisabled:Z
            ifne 48
            aload 20 /* oldCf */
            aload 13 /* cf */
            if_acmpne 48
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 20 // jdk.nashorn.internal.runtime.CompiledFunction oldCf
        end local 19 // jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic linkLogic
        end local 18 // java.lang.Class linkLogicClass
        48: .line 925
      StackMap locals:
      StackMap stack:
            aload 13 /* cf */
            invokevirtual jdk.nashorn.internal.runtime.CompiledFunction.isSpecialization:()Z
            ifne 36
        49: .line 949
      StackMap locals:
      StackMap stack:
            aload 13 /* cf */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            iload 12 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.CompiledFunction.createFunctionInvocation:(Ljava/lang/Class;I)Ljdk/dynalink/linker/GuardedInvocation;
            astore 18 /* bestInvoker */
        start local 18 // jdk.dynalink.linker.GuardedInvocation bestInvoker
        50: .line 950
            aload 18 /* bestInvoker */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
            astore 19 /* callHandle */
        start local 19 // java.lang.invoke.MethodHandle callHandle
        51: .line 952
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.needsCallee:()Z
            ifeq 57
        52: .line 953
            iload 6 /* scopeCall */
            ifeq 55
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.needsWrappedThis:()Z
            ifeq 55
        53: .line 955
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 19 /* callHandle */
            iconst_1
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.SCRIPTFUNCTION_GLOBALFILTER:Ljava/lang/invoke/MethodHandle;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 10 /* boundHandle */
        start local 10 // java.lang.invoke.MethodHandle boundHandle
        54: .line 956
            goto 68
        end local 10 // java.lang.invoke.MethodHandle boundHandle
        55: .line 958
      StackMap locals: jdk.dynalink.linker.GuardedInvocation java.lang.invoke.MethodHandle
      StackMap stack:
            aload 19 /* callHandle */
            astore 10 /* boundHandle */
        start local 10 // java.lang.invoke.MethodHandle boundHandle
        56: .line 960
            goto 68
        end local 10 // java.lang.invoke.MethodHandle boundHandle
      StackMap locals:
      StackMap stack:
        57: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.isBuiltin:()Z
            ifeq 60
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.objects.Global.isBuiltInJavaExtend:(Ljdk/nashorn/internal/runtime/ScriptFunction;)Z
            ifeq 60
        58: .line 963
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 19 /* callHandle */
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.getLookupPrivileged:(Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandles$Lookup;
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.bindTo:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            aload 3 /* type */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
            dup
            iconst_1
            aload 3 /* type */
            iconst_1
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 10 /* boundHandle */
        start local 10 // java.lang.invoke.MethodHandle boundHandle
        59: .line 964
            goto 68
        end local 10 // java.lang.invoke.MethodHandle boundHandle
      StackMap locals:
      StackMap stack:
        60: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.isBuiltin:()Z
            ifeq 63
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.objects.Global.isBuiltInJavaTo:(Ljdk/nashorn/internal/runtime/ScriptFunction;)Z
            ifeq 63
        61: .line 967
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 19 /* callHandle */
            aload 1 /* desc */
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.bindTo:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            aload 3 /* type */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
            dup
            iconst_1
            aload 3 /* type */
            iconst_1
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 10 /* boundHandle */
        start local 10 // java.lang.invoke.MethodHandle boundHandle
        62: .line 968
            goto 68
        end local 10 // java.lang.invoke.MethodHandle boundHandle
      StackMap locals:
      StackMap stack:
        63: iload 6 /* scopeCall */
            ifeq 67
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.needsWrappedThis:()Z
            ifeq 67
        64: .line 971
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 19 /* callHandle */
            iconst_0
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.SCRIPTFUNCTION_GLOBALFILTER:Ljava/lang/invoke/MethodHandle;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 10 /* boundHandle */
        start local 10 // java.lang.invoke.MethodHandle boundHandle
        65: .line 973
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 10 /* boundHandle */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 3 /* type */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 10 /* boundHandle */
        66: .line 974
            goto 68
        end local 10 // java.lang.invoke.MethodHandle boundHandle
        67: .line 976
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 19 /* callHandle */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 3 /* type */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 10 /* boundHandle */
        start local 10 // java.lang.invoke.MethodHandle boundHandle
        68: .line 982
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.invoke.MethodType java.lang.String int int int int int java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle int jdk.nashorn.internal.runtime.CompiledFunction java.lang.Object java.util.Collection java.util.List java.lang.Class jdk.dynalink.linker.GuardedInvocation java.lang.invoke.MethodHandle
      StackMap stack:
            iload 6 /* scopeCall */
            ifne 73
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.needsWrappedThis:()Z
            ifeq 73
        69: .line 983
            aload 2 /* request */
            invokeinterface jdk.dynalink.linker.LinkRequest.getArguments:()[Ljava/lang/Object;
            iconst_1
            aaload
            invokestatic jdk.nashorn.internal.runtime.ScriptFunctionData.isPrimitiveThis:(Ljava/lang/Object;)Z
            ifeq 72
        70: .line 984
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 10 /* boundHandle */
            iconst_1
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.WRAPFILTER:Ljava/lang/invoke/MethodHandle;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 10 /* boundHandle */
        71: .line 985
            goto 73
        72: .line 986
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.getNonStrictFunctionGuard:(Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljava/lang/invoke/MethodHandle;
            astore 11 /* guard */
        73: .line 993
      StackMap locals:
      StackMap stack:
            iload 5 /* isUnstable */
            ifeq 75
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isApplyToCall:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 75
        74: .line 994
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 10 /* boundHandle */
            ldc [Ljava/lang/Object;
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_2
            isub
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.asCollector:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
            astore 10 /* boundHandle */
        75: .line 997
      StackMap locals:
      StackMap stack:
            aload 10 /* boundHandle */
            aload 3 /* type */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.pairArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 10 /* boundHandle */
        76: .line 999
            aload 18 /* bestInvoker */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getSwitchPoints:()[Ljava/lang/invoke/SwitchPoint;
            ifnull 78
        77: .line 1000
            aload 16 /* sps */
            aload 18 /* bestInvoker */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getSwitchPoints:()[Ljava/lang/invoke/SwitchPoint;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        78: .line 1002
      StackMap locals:
      StackMap stack:
            aload 16 /* sps */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 79
            aconst_null
            goto 80
      StackMap locals:
      StackMap stack:
        79: aload 16 /* sps */
            iconst_0
            anewarray java.lang.invoke.SwitchPoint
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.invoke.SwitchPoint[]
      StackMap locals:
      StackMap stack: java.lang.invoke.SwitchPoint[]
        80: astore 20 /* spsArray */
        start local 20 // java.lang.invoke.SwitchPoint[] spsArray
        81: .line 1004
            new jdk.dynalink.linker.GuardedInvocation
            dup
        82: .line 1005
            aload 10 /* boundHandle */
        83: .line 1006
            aload 11 /* guard */
            ifnonnull 88
        84: .line 1008
            aload 0 /* this */
        85: .line 1009
            aload 13 /* cf */
            invokevirtual jdk.nashorn.internal.runtime.CompiledFunction.getFlags:()I
        86: .line 1007
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.getFunctionGuard:(Ljdk/nashorn/internal/runtime/ScriptFunction;I)Ljava/lang/invoke/MethodHandle;
        87: .line 1009
            goto 89
        88: .line 1010
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.invoke.MethodType java.lang.String int int int int int java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle int jdk.nashorn.internal.runtime.CompiledFunction java.lang.Object java.util.Collection java.util.List java.lang.Class jdk.dynalink.linker.GuardedInvocation java.lang.invoke.MethodHandle java.lang.invoke.SwitchPoint[]
      StackMap stack: new 81 new 81 java.lang.invoke.MethodHandle
            aload 11 /* guard */
        89: .line 1011
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.invoke.MethodType java.lang.String int int int int int java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle int jdk.nashorn.internal.runtime.CompiledFunction java.lang.Object java.util.Collection java.util.List java.lang.Class jdk.dynalink.linker.GuardedInvocation java.lang.invoke.MethodHandle java.lang.invoke.SwitchPoint[]
      StackMap stack: new 81 new 81 java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle
            aload 20 /* spsArray */
        90: .line 1012
            aload 17 /* exceptionGuard */
        91: .line 1004
            invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;[Ljava/lang/invoke/SwitchPoint;Ljava/lang/Class;)V
            areturn
        end local 20 // java.lang.invoke.SwitchPoint[] spsArray
        end local 19 // java.lang.invoke.MethodHandle callHandle
        end local 18 // jdk.dynalink.linker.GuardedInvocation bestInvoker
        end local 17 // java.lang.Class exceptionGuard
        end local 16 // java.util.List sps
        end local 15 // java.util.Collection forbidden
        end local 14 // java.lang.Object self
        end local 13 // jdk.nashorn.internal.runtime.CompiledFunction cf
        end local 12 // int programPoint
        end local 11 // java.lang.invoke.MethodHandle guard
        end local 10 // java.lang.invoke.MethodHandle boundHandle
        end local 9 // boolean isApplyOrCall
        end local 8 // boolean isApply
        end local 7 // boolean isCall
        end local 6 // boolean scopeCall
        end local 5 // boolean isUnstable
        end local 4 // java.lang.String name
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // jdk.dynalink.linker.LinkRequest request
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   92     0            this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0   92     1            desc  Ljdk/dynalink/CallSiteDescriptor;
            0   92     2         request  Ljdk/dynalink/linker/LinkRequest;
            1   92     3            type  Ljava/lang/invoke/MethodType;
            2   92     4            name  Ljava/lang/String;
            3   92     5      isUnstable  Z
            4   92     6       scopeCall  Z
            7   92     7          isCall  Z
           10   92     8         isApply  Z
           11   92     9   isApplyOrCall  Z
           14   15    10          handle  Ljava/lang/invoke/MethodHandle;
           16   22    10          handle  Ljava/lang/invoke/MethodHandle;
           54   55    10     boundHandle  Ljava/lang/invoke/MethodHandle;
           56   57    10     boundHandle  Ljava/lang/invoke/MethodHandle;
           59   60    10     boundHandle  Ljava/lang/invoke/MethodHandle;
           62   63    10     boundHandle  Ljava/lang/invoke/MethodHandle;
           65   67    10     boundHandle  Ljava/lang/invoke/MethodHandle;
           68   92    10     boundHandle  Ljava/lang/invoke/MethodHandle;
           23   92    11           guard  Ljava/lang/invoke/MethodHandle;
           25   27    12            args  [Ljava/lang/Object;
           28   92    12    programPoint  I
           31   92    13              cf  Ljdk/nashorn/internal/runtime/CompiledFunction;
           32   92    14            self  Ljava/lang/Object;
           33   92    15       forbidden  Ljava/util/Collection<Ljdk/nashorn/internal/runtime/CompiledFunction;>;
           34   92    16             sps  Ljava/util/List<Ljava/lang/invoke/SwitchPoint;>;
           35   92    17  exceptionGuard  Ljava/lang/Class<+Ljava/lang/Throwable;>;
           37   48    18  linkLogicClass  Ljava/lang/Class<+Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;>;
           38   48    19       linkLogic  Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;
           40   44    20             log  Ljdk/nashorn/internal/runtime/logging/DebugLogger;
           46   48    20           oldCf  Ljdk/nashorn/internal/runtime/CompiledFunction;
           50   92    18     bestInvoker  Ljdk/dynalink/linker/GuardedInvocation;
           51   92    19      callHandle  Ljava/lang/invoke/MethodHandle;
           81   92    20        spsArray  [Ljava/lang/invoke/SwitchPoint;
    MethodParameters:
         Name  Flags
      desc     final
      request  final

  private static java.lang.invoke.MethodHandles$Lookup getLookupPrivileged(jdk.dynalink.CallSiteDescriptor);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.dynalink.CallSiteDescriptor desc
         0: .line 1017
            aload 0 /* desc */
            invokedynamic run(Ljdk/dynalink/CallSiteDescriptor;)Ljava/security/PrivilegedAction;
              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/Object;
                  jdk/nashorn/internal/runtime/ScriptFunction.lambda$0(Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandles$Lookup; (6)
                  ()Ljava/lang/invoke/MethodHandles$Lookup;
         1: .line 1018
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.GET_LOOKUP_PERMISSION_CONTEXT:Ljava/security/AccessControlContext;
         2: .line 1017
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            checkcast java.lang.invoke.MethodHandles$Lookup
            areturn
        end local 0 // jdk.dynalink.CallSiteDescriptor desc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  desc  Ljdk/dynalink/CallSiteDescriptor;
    MethodParameters:
      Name  Flags
      desc  final

  private jdk.dynalink.linker.GuardedInvocation createApplyOrCallCall(boolean, jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkRequest, java.lang.Object[]);
    descriptor: (ZLjdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;[Ljava/lang/Object;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=26, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // boolean isApply
        start local 2 // jdk.dynalink.CallSiteDescriptor desc
        start local 3 // jdk.dynalink.linker.LinkRequest request
        start local 4 // java.lang.Object[] args
         0: .line 1022
            aload 2 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 5 /* descType */
        start local 5 // java.lang.invoke.MethodType descType
         1: .line 1023
            aload 5 /* descType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 6 /* paramCount */
        start local 6 // int paramCount
         2: .line 1024
            aload 5 /* descType */
            iload 6 /* paramCount */
            iconst_1
            isub
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 4
         3: .line 1028
            aload 0 /* this */
            iload 1 /* isApply */
            aload 2 /* desc */
            aload 3 /* request */
            aload 4 /* args */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.createVarArgApplyOrCallCall:(ZLjdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;[Ljava/lang/Object;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
         4: .line 1031
      StackMap locals: java.lang.invoke.MethodType int
      StackMap stack:
            iload 6 /* paramCount */
            iconst_2
            if_icmple 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* passesThis */
        start local 7 // boolean passesThis
         7: .line 1032
            iload 6 /* paramCount */
            iconst_3
            if_icmple 8
            iconst_1
            goto 9
      StackMap locals: int
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 8 /* passesArgs */
        start local 8 // boolean passesArgs
        10: .line 1033
            iload 8 /* passesArgs */
            ifeq 11
            iload 6 /* paramCount */
            iconst_3
            isub
            goto 12
      StackMap locals: int
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 9 /* realArgCount */
        start local 9 // int realArgCount
        13: .line 1035
            aload 4 /* args */
            iconst_1
            aaload
            astore 10 /* appliedFn */
        start local 10 // java.lang.Object appliedFn
        14: .line 1036
            aload 10 /* appliedFn */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.needsWrappedThis:(Ljava/lang/Object;)Z
            istore 11 /* appliedFnNeedsWrappedThis */
        start local 11 // boolean appliedFnNeedsWrappedThis
        15: .line 1039
            aload 2 /* desc */
            astore 12 /* appliedDesc */
        start local 12 // jdk.dynalink.CallSiteDescriptor appliedDesc
        16: .line 1040
            invokestatic jdk.nashorn.internal.objects.Global.getBuiltinFunctionApplySwitchPoint:()Ljava/lang/invoke/SwitchPoint;
            astore 13 /* applyToCallSwitchPoint */
        start local 13 // java.lang.invoke.SwitchPoint applyToCallSwitchPoint
        17: .line 1043
            aload 2 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isApplyToCall:(Ljdk/dynalink/CallSiteDescriptor;)Z
            istore 14 /* isApplyToCall */
        start local 14 // boolean isApplyToCall
        18: .line 1044
            iload 14 /* isApplyToCall */
            ifeq 19
            aload 13 /* applyToCallSwitchPoint */
            invokevirtual java.lang.invoke.SwitchPoint.hasBeenInvalidated:()Z
            ifeq 19
            iconst_1
            goto 20
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction int jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.Object[] java.lang.invoke.MethodType int int int int java.lang.Object int jdk.dynalink.CallSiteDescriptor java.lang.invoke.SwitchPoint int
      StackMap stack:
        19: iconst_0
      StackMap locals:
      StackMap stack: int
        20: istore 15 /* isFailedApplyToCall */
        start local 15 // boolean isFailedApplyToCall
        21: .line 1047
            aload 5 /* descType */
            iconst_0
            iconst_1
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
            astore 16 /* appliedType */
        start local 16 // java.lang.invoke.MethodType appliedType
        22: .line 1048
            iload 7 /* passesThis */
            ifne 25
        23: .line 1050
            aload 16 /* appliedType */
            iconst_1
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 16 /* appliedType */
        24: .line 1051
            goto 27
      StackMap locals: int java.lang.invoke.MethodType
      StackMap stack:
        25: iload 11 /* appliedFnNeedsWrappedThis */
            ifeq 27
        26: .line 1052
            aload 16 /* appliedType */
            iconst_1
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 16 /* appliedType */
        27: .line 1061
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Class
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.type:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 17 /* dropArgs */
        start local 17 // java.lang.invoke.MethodType dropArgs
        28: .line 1062
            iload 1 /* isApply */
            ifeq 37
            iload 15 /* isFailedApplyToCall */
            ifne 37
        29: .line 1063
            aload 16 /* appliedType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 18 /* pc */
        start local 18 // int pc
        30: .line 1064
            iconst_3
            istore 19 /* i */
        start local 19 // int i
        31: goto 34
        32: .line 1065
      StackMap locals: java.lang.invoke.MethodType int int
      StackMap stack:
            aload 17 /* dropArgs */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 16 /* appliedType */
            iload 19 /* i */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
            invokevirtual java.lang.invoke.MethodType.appendParameterTypes:([Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 17 /* dropArgs */
        33: .line 1064
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 19 /* i */
            iload 18 /* pc */
            if_icmplt 32
        end local 19 // int i
        35: .line 1067
            iload 18 /* pc */
            iconst_3
            if_icmple 37
        36: .line 1068
            aload 16 /* appliedType */
            iconst_3
            iload 18 /* pc */
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
            astore 16 /* appliedType */
        end local 18 // int pc
        37: .line 1072
      StackMap locals:
      StackMap stack:
            iload 1 /* isApply */
            ifne 38
            iload 15 /* isFailedApplyToCall */
            ifeq 44
        38: .line 1073
      StackMap locals:
      StackMap stack:
            iload 8 /* passesArgs */
            ifeq 43
        39: .line 1075
            aload 16 /* appliedType */
            iconst_2
            ldc [Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 16 /* appliedType */
        40: .line 1077
            iload 15 /* isFailedApplyToCall */
            ifeq 44
        41: .line 1078
            aload 16 /* appliedType */
            iconst_3
            iload 6 /* paramCount */
            iconst_1
            isub
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
            astore 16 /* appliedType */
        42: .line 1080
            goto 44
        43: .line 1082
      StackMap locals:
      StackMap stack:
            aload 16 /* appliedType */
            iconst_2
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/Object;
            aastore
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 16 /* appliedType */
        44: .line 1086
      StackMap locals:
      StackMap stack:
            aload 12 /* appliedDesc */
            aload 16 /* appliedType */
            invokevirtual jdk.dynalink.CallSiteDescriptor.changeMethodType:(Ljava/lang/invoke/MethodType;)Ljdk/dynalink/CallSiteDescriptor;
            astore 12 /* appliedDesc */
        45: .line 1089
            iload 1 /* isApply */
            ifeq 46
            iconst_3
            goto 47
      StackMap locals:
      StackMap stack:
        46: aload 16 /* appliedType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
      StackMap locals:
      StackMap stack: int
        47: anewarray java.lang.Object
            astore 18 /* appliedArgs */
        start local 18 // java.lang.Object[] appliedArgs
        48: .line 1090
            aload 18 /* appliedArgs */
            iconst_0
            aload 10 /* appliedFn */
            aastore
        49: .line 1091
            aload 18 /* appliedArgs */
            iconst_1
            iload 7 /* passesThis */
            ifeq 51
            iload 11 /* appliedFnNeedsWrappedThis */
            ifeq 50
            aload 4 /* args */
            iconst_2
            aaload
            invokestatic jdk.nashorn.internal.runtime.ScriptFunctionData.wrapThis:(Ljava/lang/Object;)Ljava/lang/Object;
            goto 52
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction int jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.Object[] java.lang.invoke.MethodType int int int int java.lang.Object int jdk.dynalink.CallSiteDescriptor java.lang.invoke.SwitchPoint int int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.Object[]
      StackMap stack: java.lang.Object[] int
        50: aload 4 /* args */
            iconst_2
            aaload
            goto 52
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction int jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.Object[] java.lang.invoke.MethodType int int int int java.lang.Object int jdk.dynalink.CallSiteDescriptor java.lang.invoke.SwitchPoint int int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.Object[]
      StackMap stack: java.lang.Object[] int
        51: getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction int jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.Object[] java.lang.invoke.MethodType int int int int java.lang.Object int jdk.dynalink.CallSiteDescriptor java.lang.invoke.SwitchPoint int int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.Object[]
      StackMap stack: java.lang.Object[] int java.lang.Object
        52: aastore
        53: .line 1092
            iload 1 /* isApply */
            ifeq 58
            iload 15 /* isFailedApplyToCall */
            ifne 58
        54: .line 1093
            aload 18 /* appliedArgs */
            iconst_2
            iload 8 /* passesArgs */
            ifeq 55
            aload 4 /* args */
            iconst_3
            aaload
            invokestatic jdk.nashorn.internal.objects.NativeFunction.toApplyArgs:(Ljava/lang/Object;)[Ljava/lang/Object;
            goto 56
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction int jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.Object[] java.lang.invoke.MethodType int int int int java.lang.Object int jdk.dynalink.CallSiteDescriptor java.lang.invoke.SwitchPoint int int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.Object[]
      StackMap stack: java.lang.Object[] int
        55: getstatic jdk.nashorn.internal.runtime.ScriptRuntime.EMPTY_ARRAY:[Ljava/lang/Object;
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction int jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.Object[] java.lang.invoke.MethodType int int int int java.lang.Object int jdk.dynalink.CallSiteDescriptor java.lang.invoke.SwitchPoint int int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.Object[]
      StackMap stack: java.lang.Object[] int java.lang.Object[]
        56: aastore
        57: .line 1094
            goto 69
        58: .line 1095
      StackMap locals:
      StackMap stack:
            iload 8 /* passesArgs */
            ifeq 67
        59: .line 1096
            iload 15 /* isFailedApplyToCall */
            ifeq 64
        60: .line 1097
            aload 4 /* args */
            arraylength
            iconst_3
            isub
            anewarray java.lang.Object
            astore 19 /* tmp */
        start local 19 // java.lang.Object[] tmp
        61: .line 1098
            aload 4 /* args */
            iconst_3
            aload 19 /* tmp */
            iconst_0
            aload 19 /* tmp */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        62: .line 1099
            aload 18 /* appliedArgs */
            iconst_2
            aload 19 /* tmp */
            invokestatic jdk.nashorn.internal.objects.NativeFunction.toApplyArgs:(Ljava/lang/Object;)[Ljava/lang/Object;
            aastore
        end local 19 // java.lang.Object[] tmp
        63: .line 1100
            goto 69
        64: .line 1101
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.$assertionsDisabled:Z
            ifne 65
            iload 1 /* isApply */
            ifeq 65
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        65: .line 1102
      StackMap locals:
      StackMap stack:
            aload 4 /* args */
            iconst_3
            aload 18 /* appliedArgs */
            iconst_2
            aload 4 /* args */
            arraylength
            iconst_3
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        66: .line 1104
            goto 69
      StackMap locals:
      StackMap stack:
        67: iload 15 /* isFailedApplyToCall */
            ifeq 69
        68: .line 1105
            aload 18 /* appliedArgs */
            iconst_2
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.EMPTY_ARRAY:[Ljava/lang/Object;
            aastore
        69: .line 1110
      StackMap locals:
      StackMap stack:
            aload 3 /* request */
            aload 12 /* appliedDesc */
            aload 18 /* appliedArgs */
            invokeinterface jdk.dynalink.linker.LinkRequest.replaceArguments:(Ljdk/dynalink/CallSiteDescriptor;[Ljava/lang/Object;)Ljdk/dynalink/linker/LinkRequest;
            astore 19 /* appliedRequest */
        start local 19 // jdk.dynalink.linker.LinkRequest appliedRequest
        70: .line 1114
            invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.getLinkerServices:()Ljdk/dynalink/linker/LinkerServices;
            aload 19 /* appliedRequest */
            invokeinterface jdk.dynalink.linker.LinkerServices.getGuardedInvocation:(Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
            astore 20 /* appliedInvocation */
        start local 20 // jdk.dynalink.linker.GuardedInvocation appliedInvocation
        71: .line 1115
            goto 76
        end local 20 // jdk.dynalink.linker.GuardedInvocation appliedInvocation
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction int jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.Object[] java.lang.invoke.MethodType int int int int java.lang.Object int jdk.dynalink.CallSiteDescriptor java.lang.invoke.SwitchPoint int int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.Object[] jdk.dynalink.linker.LinkRequest
      StackMap stack: java.lang.Throwable
        72: astore 21 /* e */
        start local 21 // java.lang.Throwable e
        73: .line 1116
            aload 21 /* e */
            athrow
        end local 21 // java.lang.Throwable e
        74: .line 1117
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 21 /* e */
        start local 21 // java.lang.Exception e
        75: .line 1118
            new java.lang.RuntimeException
            dup
            aload 21 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 21 // java.lang.Exception e
        start local 20 // jdk.dynalink.linker.GuardedInvocation appliedInvocation
        76: .line 1120
      StackMap locals: jdk.dynalink.linker.GuardedInvocation
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.$assertionsDisabled:Z
            ifne 77
            aload 19 /* appliedRequest */
            ifnonnull 77
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        77: .line 1122
      StackMap locals:
      StackMap stack:
            aload 5 /* descType */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            astore 21 /* applyFnType */
        start local 21 // java.lang.Class applyFnType
        78: .line 1124
            aload 20 /* appliedInvocation */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
            astore 22 /* inv */
        start local 22 // java.lang.invoke.MethodHandle inv
        79: .line 1125
            aload 20 /* appliedInvocation */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getGuard:()Ljava/lang/invoke/MethodHandle;
            astore 23 /* guard */
        start local 23 // java.lang.invoke.MethodHandle guard
        80: .line 1127
            iload 1 /* isApply */
            ifeq 87
            iload 15 /* isFailedApplyToCall */
            ifne 87
        81: .line 1128
            iload 8 /* passesArgs */
            ifeq 86
        82: .line 1130
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 22 /* inv */
            iconst_2
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
            getstatic jdk.nashorn.internal.objects.NativeFunction.TO_APPLY_ARGS:Ljava/lang/invoke/MethodHandle;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 22 /* inv */
        83: .line 1133
            aload 23 /* guard */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_2
            if_icmple 87
        84: .line 1134
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 23 /* guard */
            iconst_2
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
            getstatic jdk.nashorn.internal.objects.NativeFunction.TO_APPLY_ARGS:Ljava/lang/invoke/MethodHandle;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 23 /* guard */
        85: .line 1136
            goto 87
        86: .line 1138
      StackMap locals: java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 22 /* inv */
            iconst_2
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.EMPTY_ARRAY:[Ljava/lang/Object;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 22 /* inv */
        87: .line 1142
      StackMap locals:
      StackMap stack:
            iload 14 /* isApplyToCall */
            ifeq 93
        88: .line 1143
            iload 15 /* isFailedApplyToCall */
            ifeq 92
        89: .line 1145
            invokestatic jdk.nashorn.internal.runtime.Context.getContextTrusted:()Ljdk/nashorn/internal/runtime/Context;
            ldc Ljdk/nashorn/internal/codegen/ApplySpecialization;
            invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            new java.lang.StringBuilder
            dup
            ldc "Collection arguments to revert call to apply in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* appliedFn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:(Ljava/lang/String;)V
        90: .line 1146
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 22 /* inv */
            ldc [Ljava/lang/Object;
            iload 9 /* realArgCount */
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.asCollector:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
            astore 22 /* inv */
        91: .line 1147
            goto 93
        92: .line 1148
      StackMap locals:
      StackMap stack:
            aload 20 /* appliedInvocation */
            aload 13 /* applyToCallSwitchPoint */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.addSwitchPoint:(Ljava/lang/invoke/SwitchPoint;)Ljdk/dynalink/linker/GuardedInvocation;
            astore 20 /* appliedInvocation */
        93: .line 1152
      StackMap locals:
      StackMap stack:
            iload 7 /* passesThis */
            ifne 98
        94: .line 1154
            iload 11 /* appliedFnNeedsWrappedThis */
            aload 22 /* inv */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.bindImplicitThis:(ZLjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 22 /* inv */
        95: .line 1156
            aload 23 /* guard */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_1
            if_icmple 102
        96: .line 1157
            iload 11 /* appliedFnNeedsWrappedThis */
            aload 23 /* guard */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.bindImplicitThis:(ZLjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 23 /* guard */
        97: .line 1159
            goto 102
      StackMap locals:
      StackMap stack:
        98: iload 11 /* appliedFnNeedsWrappedThis */
            ifeq 102
        99: .line 1161
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 22 /* inv */
            iconst_1
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.WRAP_THIS:Ljava/lang/invoke/MethodHandle;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 22 /* inv */
       100: .line 1163
            aload 23 /* guard */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_1
            if_icmple 102
       101: .line 1164
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 23 /* guard */
            iconst_1
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.WRAP_THIS:Ljava/lang/invoke/MethodHandle;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 23 /* guard */
       102: .line 1168
      StackMap locals:
      StackMap stack:
            aload 23 /* guard */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 24 /* guardType */
        start local 24 // java.lang.invoke.MethodType guardType
       103: .line 1171
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 22 /* inv */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 21 /* applyFnType */
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 22 /* inv */
       104: .line 1172
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 23 /* guard */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 21 /* applyFnType */
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 23 /* guard */
       105: .line 1179
            iconst_0
            istore 25 /* i */
        start local 25 // int i
       106: goto 109
       107: .line 1180
      StackMap locals: java.lang.invoke.MethodType int
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 22 /* inv */
            iconst_4
            iload 25 /* i */
            iadd
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 17 /* dropArgs */
            iload 25 /* i */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 22 /* inv */
       108: .line 1179
            iinc 25 /* i */ 1
      StackMap locals:
      StackMap stack:
       109: iload 25 /* i */
            aload 17 /* dropArgs */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            if_icmplt 107
        end local 25 // int i
       110: .line 1184
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.IS_APPLY_FUNCTION:Ljava/lang/invoke/MethodHandle;
            iconst_2
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 25 /* applyFnGuard */
        start local 25 // java.lang.invoke.MethodHandle applyFnGuard
       111: .line 1186
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 25 /* applyFnGuard */
            iconst_2
            aload 24 /* guardType */
            invokevirtual java.lang.invoke.MethodType.parameterArray:()[Ljava/lang/Class;
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 25 /* applyFnGuard */
       112: .line 1188
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 25 /* applyFnGuard */
            aload 23 /* guard */
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.foldArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 23 /* guard */
       113: .line 1190
            aload 20 /* appliedInvocation */
            aload 22 /* inv */
            aload 23 /* guard */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.replaceMethods:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        end local 25 // java.lang.invoke.MethodHandle applyFnGuard
        end local 24 // java.lang.invoke.MethodType guardType
        end local 23 // java.lang.invoke.MethodHandle guard
        end local 22 // java.lang.invoke.MethodHandle inv
        end local 21 // java.lang.Class applyFnType
        end local 20 // jdk.dynalink.linker.GuardedInvocation appliedInvocation
        end local 19 // jdk.dynalink.linker.LinkRequest appliedRequest
        end local 18 // java.lang.Object[] appliedArgs
        end local 17 // java.lang.invoke.MethodType dropArgs
        end local 16 // java.lang.invoke.MethodType appliedType
        end local 15 // boolean isFailedApplyToCall
        end local 14 // boolean isApplyToCall
        end local 13 // java.lang.invoke.SwitchPoint applyToCallSwitchPoint
        end local 12 // jdk.dynalink.CallSiteDescriptor appliedDesc
        end local 11 // boolean appliedFnNeedsWrappedThis
        end local 10 // java.lang.Object appliedFn
        end local 9 // int realArgCount
        end local 8 // boolean passesArgs
        end local 7 // boolean passesThis
        end local 6 // int paramCount
        end local 5 // java.lang.invoke.MethodType descType
        end local 4 // java.lang.Object[] args
        end local 3 // jdk.dynalink.linker.LinkRequest request
        end local 2 // jdk.dynalink.CallSiteDescriptor desc
        end local 1 // boolean isApply
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0  114     0                       this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0  114     1                    isApply  Z
            0  114     2                       desc  Ljdk/dynalink/CallSiteDescriptor;
            0  114     3                    request  Ljdk/dynalink/linker/LinkRequest;
            0  114     4                       args  [Ljava/lang/Object;
            1  114     5                   descType  Ljava/lang/invoke/MethodType;
            2  114     6                 paramCount  I
            7  114     7                 passesThis  Z
           10  114     8                 passesArgs  Z
           13  114     9               realArgCount  I
           14  114    10                  appliedFn  Ljava/lang/Object;
           15  114    11  appliedFnNeedsWrappedThis  Z
           16  114    12                appliedDesc  Ljdk/dynalink/CallSiteDescriptor;
           17  114    13     applyToCallSwitchPoint  Ljava/lang/invoke/SwitchPoint;
           18  114    14              isApplyToCall  Z
           21  114    15        isFailedApplyToCall  Z
           22  114    16                appliedType  Ljava/lang/invoke/MethodType;
           28  114    17                   dropArgs  Ljava/lang/invoke/MethodType;
           30   37    18                         pc  I
           31   35    19                          i  I
           48  114    18                appliedArgs  [Ljava/lang/Object;
           61   63    19                        tmp  [Ljava/lang/Object;
           70  114    19             appliedRequest  Ljdk/dynalink/linker/LinkRequest;
           71   72    20          appliedInvocation  Ljdk/dynalink/linker/GuardedInvocation;
           76  114    20          appliedInvocation  Ljdk/dynalink/linker/GuardedInvocation;
           73   74    21                          e  Ljava/lang/Throwable;
           75   76    21                          e  Ljava/lang/Exception;
           78  114    21                applyFnType  Ljava/lang/Class<*>;
           79  114    22                        inv  Ljava/lang/invoke/MethodHandle;
           80  114    23                      guard  Ljava/lang/invoke/MethodHandle;
          103  114    24                  guardType  Ljava/lang/invoke/MethodType;
          106  110    25                          i  I
          111  114    25               applyFnGuard  Ljava/lang/invoke/MethodHandle;
      Exception table:
        from    to  target  type
          70    71      72  Class java.lang.RuntimeException
          70    71      72  Class java.lang.Error
          70    71      74  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      isApply  final
      desc     final
      request  final
      args     final

  private jdk.dynalink.linker.GuardedInvocation createVarArgApplyOrCallCall(boolean, jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkRequest, java.lang.Object[]);
    descriptor: (ZLjdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;[Ljava/lang/Object;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // boolean isApply
        start local 2 // jdk.dynalink.CallSiteDescriptor desc
        start local 3 // jdk.dynalink.linker.LinkRequest request
        start local 4 // java.lang.Object[] args
         0: .line 1205
            aload 2 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 5 /* descType */
        start local 5 // java.lang.invoke.MethodType descType
         1: .line 1206
            aload 5 /* descType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 6 /* paramCount */
        start local 6 // int paramCount
         2: .line 1207
            aload 4 /* args */
            iload 6 /* paramCount */
            iconst_1
            isub
            aaload
            checkcast java.lang.Object[]
            astore 7 /* varArgs */
        start local 7 // java.lang.Object[] varArgs
         3: .line 1209
            aload 4 /* args */
            arraylength
            iconst_1
            isub
            istore 8 /* copiedArgCount */
        start local 8 // int copiedArgCount
         4: .line 1210
            aload 7 /* varArgs */
            arraylength
            istore 9 /* varArgCount */
        start local 9 // int varArgCount
         5: .line 1213
            iload 8 /* copiedArgCount */
            iload 9 /* varArgCount */
            iadd
            anewarray java.lang.Object
            astore 10 /* spreadArgs */
        start local 10 // java.lang.Object[] spreadArgs
         6: .line 1214
            aload 4 /* args */
            iconst_0
            aload 10 /* spreadArgs */
            iconst_0
            iload 8 /* copiedArgCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 1215
            aload 7 /* varArgs */
            iconst_0
            aload 10 /* spreadArgs */
            iload 8 /* copiedArgCount */
            iload 9 /* varArgCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 1219
            aload 5 /* descType */
            iload 6 /* paramCount */
            iconst_1
            isub
            iload 6 /* paramCount */
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
         9: .line 1220
            iload 9 /* varArgCount */
            ldc Ljava/lang/Object;
            invokestatic java.util.Collections.nCopies:(ILjava/lang/Object;)Ljava/util/List;
        10: .line 1219
            invokevirtual java.lang.invoke.MethodType.appendParameterTypes:(Ljava/util/List;)Ljava/lang/invoke/MethodType;
            astore 11 /* spreadType */
        start local 11 // java.lang.invoke.MethodType spreadType
        11: .line 1221
            aload 2 /* desc */
            aload 11 /* spreadType */
            invokevirtual jdk.dynalink.CallSiteDescriptor.changeMethodType:(Ljava/lang/invoke/MethodType;)Ljdk/dynalink/CallSiteDescriptor;
            astore 12 /* spreadDesc */
        start local 12 // jdk.dynalink.CallSiteDescriptor spreadDesc
        12: .line 1224
            aload 3 /* request */
            aload 12 /* spreadDesc */
            aload 10 /* spreadArgs */
            invokeinterface jdk.dynalink.linker.LinkRequest.replaceArguments:(Ljdk/dynalink/CallSiteDescriptor;[Ljava/lang/Object;)Ljdk/dynalink/linker/LinkRequest;
            astore 13 /* spreadRequest */
        start local 13 // jdk.dynalink.linker.LinkRequest spreadRequest
        13: .line 1225
            aload 0 /* this */
            iload 1 /* isApply */
            aload 12 /* spreadDesc */
            aload 13 /* spreadRequest */
            aload 10 /* spreadArgs */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.createApplyOrCallCall:(ZLjdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;[Ljava/lang/Object;)Ljdk/dynalink/linker/GuardedInvocation;
            astore 14 /* spreadInvocation */
        start local 14 // jdk.dynalink.linker.GuardedInvocation spreadInvocation
        14: .line 1228
            aload 14 /* spreadInvocation */
        15: .line 1230
            aload 14 /* spreadInvocation */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
            aload 5 /* descType */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.pairArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        16: .line 1232
            aload 14 /* spreadInvocation */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getGuard:()Ljava/lang/invoke/MethodHandle;
            aload 5 /* descType */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.spreadGuardArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        17: .line 1228
            invokevirtual jdk.dynalink.linker.GuardedInvocation.replaceMethods:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        end local 14 // jdk.dynalink.linker.GuardedInvocation spreadInvocation
        end local 13 // jdk.dynalink.linker.LinkRequest spreadRequest
        end local 12 // jdk.dynalink.CallSiteDescriptor spreadDesc
        end local 11 // java.lang.invoke.MethodType spreadType
        end local 10 // java.lang.Object[] spreadArgs
        end local 9 // int varArgCount
        end local 8 // int copiedArgCount
        end local 7 // java.lang.Object[] varArgs
        end local 6 // int paramCount
        end local 5 // java.lang.invoke.MethodType descType
        end local 4 // java.lang.Object[] args
        end local 3 // jdk.dynalink.linker.LinkRequest request
        end local 2 // jdk.dynalink.CallSiteDescriptor desc
        end local 1 // boolean isApply
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0   18     1           isApply  Z
            0   18     2              desc  Ljdk/dynalink/CallSiteDescriptor;
            0   18     3           request  Ljdk/dynalink/linker/LinkRequest;
            0   18     4              args  [Ljava/lang/Object;
            1   18     5          descType  Ljava/lang/invoke/MethodType;
            2   18     6        paramCount  I
            3   18     7           varArgs  [Ljava/lang/Object;
            4   18     8    copiedArgCount  I
            5   18     9       varArgCount  I
            6   18    10        spreadArgs  [Ljava/lang/Object;
           11   18    11        spreadType  Ljava/lang/invoke/MethodType;
           12   18    12        spreadDesc  Ljdk/dynalink/CallSiteDescriptor;
           13   18    13     spreadRequest  Ljdk/dynalink/linker/LinkRequest;
           14   18    14  spreadInvocation  Ljdk/dynalink/linker/GuardedInvocation;
    MethodParameters:
         Name  Flags
      isApply  final
      desc     final
      request  final
      args     final

  private static java.lang.invoke.MethodHandle spreadGuardArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // java.lang.invoke.MethodHandle guard
        start local 1 // java.lang.invoke.MethodType descType
         0: .line 1236
            aload 0 /* guard */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 2 /* guardType */
        start local 2 // java.lang.invoke.MethodType guardType
         1: .line 1237
            aload 2 /* guardType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 3 /* guardParamCount */
        start local 3 // int guardParamCount
         2: .line 1238
            aload 1 /* descType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 4 /* descParamCount */
        start local 4 // int descParamCount
         3: .line 1239
            iload 3 /* guardParamCount */
            iload 4 /* descParamCount */
            isub
            iconst_1
            iadd
            istore 5 /* spreadCount */
        start local 5 // int spreadCount
         4: .line 1240
            iload 5 /* spreadCount */
            ifgt 6
         5: .line 1242
            aload 0 /* guard */
            areturn
         6: .line 1249
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType java.lang.invoke.MethodType int int int
      StackMap stack:
            aload 2 /* guardType */
            iload 3 /* guardParamCount */
            iconst_1
            isub
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 9
         7: .line 1250
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 0 /* guard */
            iload 3 /* guardParamCount */
            iconst_1
            isub
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
            getstatic jdk.nashorn.internal.objects.NativeFunction.TO_APPLY_ARGS:Ljava/lang/invoke/MethodHandle;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* arrayConvertingGuard */
        start local 6 // java.lang.invoke.MethodHandle arrayConvertingGuard
         8: .line 1251
            goto 10
        end local 6 // java.lang.invoke.MethodHandle arrayConvertingGuard
         9: .line 1252
      StackMap locals:
      StackMap stack:
            aload 0 /* guard */
            astore 6 /* arrayConvertingGuard */
        start local 6 // java.lang.invoke.MethodHandle arrayConvertingGuard
        10: .line 1255
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 6 /* arrayConvertingGuard */
            iload 4 /* descParamCount */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.adaptHandleToVarArgCallSite:(Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 6 // java.lang.invoke.MethodHandle arrayConvertingGuard
        end local 5 // int spreadCount
        end local 4 // int descParamCount
        end local 3 // int guardParamCount
        end local 2 // java.lang.invoke.MethodType guardType
        end local 1 // java.lang.invoke.MethodType descType
        end local 0 // java.lang.invoke.MethodHandle guard
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   11     0                 guard  Ljava/lang/invoke/MethodHandle;
            0   11     1              descType  Ljava/lang/invoke/MethodType;
            1   11     2             guardType  Ljava/lang/invoke/MethodType;
            2   11     3       guardParamCount  I
            3   11     4        descParamCount  I
            4   11     5           spreadCount  I
            8    9     6  arrayConvertingGuard  Ljava/lang/invoke/MethodHandle;
           10   11     6  arrayConvertingGuard  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
          Name  Flags
      guard     final
      descType  final

  private static java.lang.invoke.MethodHandle bindImplicitThis(boolean, java.lang.invoke.MethodHandle);
    descriptor: (ZLjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // boolean needsWrappedThis
        start local 1 // java.lang.invoke.MethodHandle mh
         0: .line 1260
            iload 0 /* needsWrappedThis */
            ifeq 3
         1: .line 1261
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 1 /* mh */
            iconst_1
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.SCRIPTFUNCTION_GLOBALFILTER:Ljava/lang/invoke/MethodHandle;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* bound */
        start local 2 // java.lang.invoke.MethodHandle bound
         2: .line 1262
            goto 4
        end local 2 // java.lang.invoke.MethodHandle bound
         3: .line 1263
      StackMap locals:
      StackMap stack:
            aload 1 /* mh */
            astore 2 /* bound */
        start local 2 // java.lang.invoke.MethodHandle bound
         4: .line 1265
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 2 /* bound */
            iconst_1
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // java.lang.invoke.MethodHandle bound
        end local 1 // java.lang.invoke.MethodHandle mh
        end local 0 // boolean needsWrappedThis
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0  needsWrappedThis  Z
            0    5     1                mh  Ljava/lang/invoke/MethodHandle;
            2    3     2             bound  Ljava/lang/invoke/MethodHandle;
            4    5     2             bound  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                  Name  Flags
      needsWrappedThis  final
      mh                final

  java.lang.invoke.MethodHandle getCallMethodHandle(java.lang.invoke.MethodType, java.lang.String);
    descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
        start local 1 // java.lang.invoke.MethodType type
        start local 2 // java.lang.String bindName
         0: .line 1275
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.scope:Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.getGenericInvoker:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljava/lang/invoke/MethodHandle;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.bindToCalleeIfNeeded:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            aload 2 /* bindName */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.bindToNameIfNeeded:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
            aload 1 /* type */
            invokestatic jdk.nashorn.internal.runtime.ScriptFunction.pairArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // java.lang.String bindName
        end local 1 // java.lang.invoke.MethodType type
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    1     1      type  Ljava/lang/invoke/MethodType;
            0    1     2  bindName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      type      final
      bindName  final

  private static java.lang.invoke.MethodHandle bindToNameIfNeeded(java.lang.invoke.MethodHandle, java.lang.String);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=13, locals=5, args_size=2
        start local 0 // java.lang.invoke.MethodHandle methodHandle
        start local 1 // java.lang.String bindName
         0: .line 1279
            aload 1 /* bindName */
            ifnonnull 2
         1: .line 1280
            aload 0 /* methodHandle */
            areturn
         2: .line 1285
      StackMap locals:
      StackMap stack:
            aload 0 /* methodHandle */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 2 /* methodType */
        start local 2 // java.lang.invoke.MethodType methodType
         3: .line 1286
            aload 2 /* methodType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 3 /* parameterCount */
        start local 3 // int parameterCount
         4: .line 1288
            iload 3 /* parameterCount */
            iconst_2
            if_icmpge 6
         5: .line 1289
            aload 0 /* methodHandle */
            areturn
         6: .line 1291
      StackMap locals: java.lang.invoke.MethodType int
      StackMap stack:
            aload 2 /* methodType */
            iload 3 /* parameterCount */
            iconst_1
            isub
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            istore 4 /* isVarArg */
        start local 4 // boolean isVarArg
         7: .line 1293
            iload 4 /* isVarArg */
            ifeq 9
         8: .line 1294
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 0 /* methodHandle */
            iconst_1
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.ADD_ZEROTH_ELEMENT:Ljava/lang/invoke/MethodHandle;
            iconst_1
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* bindName */
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            areturn
         9: .line 1296
      StackMap locals: int
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 0 /* methodHandle */
            iconst_1
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* bindName */
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // boolean isVarArg
        end local 3 // int parameterCount
        end local 2 // java.lang.invoke.MethodType methodType
        end local 1 // java.lang.String bindName
        end local 0 // java.lang.invoke.MethodHandle methodHandle
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0    methodHandle  Ljava/lang/invoke/MethodHandle;
            0   10     1        bindName  Ljava/lang/String;
            3   10     2      methodType  Ljava/lang/invoke/MethodType;
            4   10     3  parameterCount  I
            7   10     4        isVarArg  Z
    MethodParameters:
              Name  Flags
      methodHandle  final
      bindName      final

  private static java.lang.invoke.MethodHandle getFunctionGuard(jdk.nashorn.internal.runtime.ScriptFunction, int);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptFunction;I)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction function
        start local 1 // int flags
         0: .line 1309
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.$assertionsDisabled:Z
            ifne 1
            aload 0 /* function */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1312
      StackMap locals:
      StackMap stack:
            aload 0 /* function */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunctionData.isBuiltin:()Z
            ifeq 3
         2: .line 1313
            aload 0 /* function */
            invokestatic jdk.dynalink.linker.support.Guards.getIdentityGuard:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
         3: .line 1315
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.IS_FUNCTION_MH:Ljava/lang/invoke/MethodHandle;
            iconst_1
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* function */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // int flags
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction function
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  function  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    4     1     flags  I
    MethodParameters:
          Name  Flags
      function  final
      flags     final

  private static java.lang.invoke.MethodHandle getNonStrictFunctionGuard(jdk.nashorn.internal.runtime.ScriptFunction);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction function
         0: .line 1329
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.$assertionsDisabled:Z
            ifne 1
            aload 0 /* function */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1330
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.IS_NONSTRICT_FUNCTION:Ljava/lang/invoke/MethodHandle;
            iconst_2
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* function */
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction function
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  function  Ljdk/nashorn/internal/runtime/ScriptFunction;
    MethodParameters:
          Name  Flags
      function  final

  private static boolean isFunctionMH(java.lang.Object, jdk.nashorn.internal.runtime.ScriptFunctionData);
    descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/runtime/ScriptFunctionData;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // jdk.nashorn.internal.runtime.ScriptFunctionData data
         0: .line 1335
            aload 0 /* self */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifeq 1
            aload 0 /* self */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 1 /* data */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.runtime.ScriptFunctionData data
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  self  Ljava/lang/Object;
            0    2     1  data  Ljdk/nashorn/internal/runtime/ScriptFunctionData;
    MethodParameters:
      Name  Flags
      self  final
      data  final

  private static boolean isNonStrictFunction(java.lang.Object, java.lang.Object, jdk.nashorn.internal.runtime.ScriptFunctionData);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljdk/nashorn/internal/runtime/ScriptFunctionData;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object arg
        start local 2 // jdk.nashorn.internal.runtime.ScriptFunctionData data
         0: .line 1340
            aload 0 /* self */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifeq 1
            aload 0 /* self */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            getfield jdk.nashorn.internal.runtime.ScriptFunction.data:Ljdk/nashorn/internal/runtime/ScriptFunctionData;
            aload 2 /* data */
            if_acmpne 1
            aload 1 /* arg */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // jdk.nashorn.internal.runtime.ScriptFunctionData data
        end local 1 // java.lang.Object arg
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  self  Ljava/lang/Object;
            0    2     1   arg  Ljava/lang/Object;
            0    2     2  data  Ljdk/nashorn/internal/runtime/ScriptFunctionData;
    MethodParameters:
      Name  Flags
      self  final
      arg   final
      data  final

  private static boolean isApplyFunction(boolean, java.lang.Object, java.lang.Object);
    descriptor: (ZLjava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // boolean appliedFnCondition
        start local 1 // java.lang.Object self
        start local 2 // java.lang.Object expectedSelf
         0: .line 1347
            iload 0 /* appliedFnCondition */
            ifeq 1
            aload 1 /* self */
            aload 2 /* expectedSelf */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // java.lang.Object expectedSelf
        end local 1 // java.lang.Object self
        end local 0 // boolean appliedFnCondition
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0  appliedFnCondition  Z
            0    2     1                self  Ljava/lang/Object;
            0    2     2        expectedSelf  Ljava/lang/Object;
    MethodParameters:
                    Name  Flags
      appliedFnCondition  final
      self                final
      expectedSelf        final

  private static java.lang.Object[] addZerothElement(java.lang.Object[], java.lang.Object);
    descriptor: ([Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.Object[] args
        start local 1 // java.lang.Object value
         0: .line 1353
            aload 0 /* args */
            ifnonnull 1
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.EMPTY_ARRAY:[Ljava/lang/Object;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* args */
      StackMap locals:
      StackMap stack: java.lang.Object[]
         2: astore 2 /* src */
        start local 2 // java.lang.Object[] src
         3: .line 1354
            aload 2 /* src */
            arraylength
            iconst_1
            iadd
            anewarray java.lang.Object
            astore 3 /* result */
        start local 3 // java.lang.Object[] result
         4: .line 1355
            aload 2 /* src */
            iconst_0
            aload 3 /* result */
            iconst_1
            aload 2 /* src */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 1356
            aload 3 /* result */
            iconst_0
            aload 1 /* value */
            aastore
         6: .line 1357
            aload 3 /* result */
            areturn
        end local 3 // java.lang.Object[] result
        end local 2 // java.lang.Object[] src
        end local 1 // java.lang.Object value
        end local 0 // java.lang.Object[] args
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    args  [Ljava/lang/Object;
            0    7     1   value  Ljava/lang/Object;
            3    7     2     src  [Ljava/lang/Object;
            4    7     3  result  [Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      args   final
      value  final

  private static java.lang.Object invokeSync(jdk.nashorn.internal.runtime.ScriptFunction, java.lang.Object, java.lang.Object, java.lang.Object[]);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptFunction;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction func
        start local 1 // java.lang.Object sync
        start local 2 // java.lang.Object self
        start local 3 // java.lang.Object[] args
         0: .line 1363
            aload 1 /* sync */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpne 1
            aload 2 /* self */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* sync */
      StackMap locals:
      StackMap stack: java.lang.Object
         2: astore 4 /* syncObj */
        start local 4 // java.lang.Object syncObj
         3: .line 1364
            aload 4 /* syncObj */
            dup
            astore 5
            monitorenter
         4: .line 1365
            aload 0 /* func */
            aload 2 /* self */
            aload 3 /* args */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            aload 5
            monitorexit
         5: areturn
         6: .line 1364
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction java.lang.Object java.lang.Object java.lang.Object[] java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
         7: athrow
        end local 4 // java.lang.Object syncObj
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.Object self
        end local 1 // java.lang.Object sync
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction func
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     func  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    8     1     sync  Ljava/lang/Object;
            0    8     2     self  Ljava/lang/Object;
            0    8     3     args  [Ljava/lang/Object;
            3    8     4  syncObj  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           4     5       6  any
           6     7       6  any
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
      Name  Flags
      func  final
      sync  final
      self  final
      args  final

  private static java.lang.invoke.MethodHandle findOwnMH_S(java.lang.String, java.lang.Class<?>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.Class rtype
        start local 2 // java.lang.Class[] types
         0: .line 1370
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            aload 0 /* name */
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 1 /* rtype */
            aload 2 /* types */
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.type:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            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.Class[] types
        end local 1 // java.lang.Class rtype
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   name  Ljava/lang/String;
            0    1     1  rtype  Ljava/lang/Class<*>;
            0    1     2  types  [Ljava/lang/Class;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
       Name  Flags
      name   final
      rtype  final
      types  final

  private static java.lang.invoke.MethodHandle findOwnMH_V(java.lang.String, java.lang.Class<?>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.Class rtype
        start local 2 // java.lang.Class[] types
         0: .line 1374
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            aload 0 /* name */
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 1 /* rtype */
            aload 2 /* types */
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.type:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.findVirtual:(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.Class[] types
        end local 1 // java.lang.Class rtype
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   name  Ljava/lang/String;
            0    1     1  rtype  Ljava/lang/Class<*>;
            0    1     2  types  [Ljava/lang/Class;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
       Name  Flags
      name   final
      rtype  final
      types  final

  private static java.lang.invoke.MethodHandles$Lookup lambda$0(jdk.dynalink.CallSiteDescriptor);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1017
            aload 0
            invokevirtual jdk.dynalink.CallSiteDescriptor.getLookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ScriptFunction.java"
NestMembers:
  jdk.nashorn.internal.runtime.ScriptFunction$Bound
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Call = jdk.nashorn.internal.codegen.CompilerConstants$Call of jdk.nashorn.internal.codegen.CompilerConstants
  public abstract LinkLogic = jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic of jdk.nashorn.internal.objects.annotations.SpecializedFunction
  private Bound = jdk.nashorn.internal.runtime.ScriptFunction$Bound of jdk.nashorn.internal.runtime.ScriptFunction