public abstract class jdk.nashorn.internal.runtime.ScriptObject implements jdk.nashorn.internal.runtime.PropertyAccess, java.lang.Cloneable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.nashorn.internal.runtime.ScriptObject
  super_class: java.lang.Object
{
  public static final java.lang.String PROTO_PROPERTY_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "__proto__"

  public static final java.lang.String NO_SUCH_METHOD_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "__noSuchMethod__"

  public static final java.lang.String NO_SUCH_PROPERTY_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "__noSuchProperty__"

  public static final int IS_ARRAY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int IS_ARGUMENTS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int IS_LENGTH_NOT_WRITABLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int IS_BUILTIN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int IS_INTERNAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final int SPILL_RATE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

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

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

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

  protected long[] primitiveSpill;
    descriptor: [J
    flags: (0x0004) ACC_PROTECTED

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

  private jdk.nashorn.internal.runtime.arrays.ArrayData arrayData;
    descriptor: Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

  private static final java.util.ArrayList<java.lang.invoke.MethodHandle> PROTO_FILTERS;
    descriptor: Ljava/util/ArrayList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/ArrayList<Ljava/lang/invoke/MethodHandle;>;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  private static final jdk.dynalink.linker.GuardedInvocation DELETE_GUARDED;
    descriptor: Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.dynalink.linker.GuardedInvocation DELETE_GUARDED_STRICT;
    descriptor: Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.util.concurrent.atomic.LongAdder count;
    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

  private static volatile int[] $SWITCH_TABLE$jdk$dynalink$StandardOperation;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=0, args_size=0
         0: .line 102
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            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.ScriptObject.$assertionsDisabled:Z
         3: .line 152
            ldc "getProto"
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            iconst_0
            anewarray java.lang.Class
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_V:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.GETPROTO:Ljava/lang/invoke/MethodHandle;
         4: .line 154
            ldc "megamorphicGet"
            ldc Ljava/lang/Object;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_V:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.MEGAMORPHIC_GET:Ljava/lang/invoke/MethodHandle;
         5: .line 155
            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.ScriptObject.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.GLOBALFILTER:Ljava/lang/invoke/MethodHandle;
         6: .line 156
            ldc "declareAndSet"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_V:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.DECLARE_AND_SET:Ljava/lang/invoke/MethodHandle;
         7: .line 158
            ldc "truncatingFilter"
            ldc [Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            ldc [Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.TRUNCATINGFILTER:Ljava/lang/invoke/MethodHandle;
         8: .line 159
            ldc "knownFunctionPropertyGuardSelf"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljdk/nashorn/internal/runtime/PropertyMap;
            aastore
            dup
            iconst_2
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_3
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.KNOWNFUNCPROPGUARDSELF:Ljava/lang/invoke/MethodHandle;
         9: .line 160
            ldc "knownFunctionPropertyGuardProto"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            iconst_5
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljdk/nashorn/internal/runtime/PropertyMap;
            aastore
            dup
            iconst_2
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_S:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.KNOWNFUNCPROPGUARDPROTO:Ljava/lang/invoke/MethodHandle;
        10: .line 162
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putstatic jdk.nashorn.internal.runtime.ScriptObject.PROTO_FILTERS:Ljava/util/ArrayList;
        11: .line 165
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            ldc "getArray"
            ldc Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            iconst_0
            anewarray java.lang.Class
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.virtualCall:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.GET_ARRAY:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        12: .line 168
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            ldc "getArgument"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.virtualCall:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.GET_ARGUMENT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        13: .line 171
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            ldc "setArgument"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.virtualCall:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.SET_ARGUMENT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        14: .line 174
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            ldc "getProto"
            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.ScriptObject.GET_PROTO:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        15: .line 177
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            ldc "getProto"
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            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.ScriptObject.GET_PROTO_DEPTH:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        16: .line 180
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            ldc "setGlobalObjectProto"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.SET_GLOBAL_OBJECT_PROTO:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        17: .line 183
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            ldc "setProtoFromLiteral"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            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.ScriptObject.SET_PROTO_FROM_LITERAL:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        18: .line 187
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            ldc "setUserAccessors"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            aastore
            dup
            iconst_2
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            aastore
            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.ScriptObject.SET_USER_ACCESSORS:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        19: .line 190
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            ldc "set"
            getstatic java.lang.Void.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
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            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.ScriptObject.GENERIC_SET:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        20: .line 192
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            ldc "delete"
            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
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.virtualCall:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.DELETE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        21: .line 194
            iconst_3
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
        22: .line 195
            ldc "set"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_V:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_1
        23: .line 196
            ldc "set"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_V:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_2
        24: .line 197
            ldc "set"
            getstatic java.lang.Void.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
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_V:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            aastore
        25: .line 194
            putstatic jdk.nashorn.internal.runtime.ScriptObject.SET_SLOW:[Ljava/lang/invoke/MethodHandle;
        26: .line 201
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            ldc "setMap"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/nashorn/internal/runtime/PropertyMap;
            aastore
            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.ScriptObject.SET_MAP:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        27: .line 203
            ldc "compareAndSetMap"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/nashorn/internal/runtime/PropertyMap;
            aastore
            dup
            iconst_1
            ldc Ljdk/nashorn/internal/runtime/PropertyMap;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_V:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.CAS_MAP:Ljava/lang/invoke/MethodHandle;
        28: .line 204
            ldc "extensionCheck"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_V:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.EXTENSION_CHECK:Ljava/lang/invoke/MethodHandle;
        29: .line 205
            ldc "ensureSpillSize"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_V:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptObject.ENSURE_SPILL_SIZE:Ljava/lang/invoke/MethodHandle;
        30: .line 207
            new jdk.dynalink.linker.GuardedInvocation
            dup
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.runtime.ScriptObject.DELETE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.methodHandle:()Ljava/lang/invoke/MethodHandle;
            iconst_2
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.getScriptObjectGuard:()Ljava/lang/invoke/MethodHandle;
            invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
            putstatic jdk.nashorn.internal.runtime.ScriptObject.DELETE_GUARDED:Ljdk/dynalink/linker/GuardedInvocation;
        31: .line 208
            new jdk.dynalink.linker.GuardedInvocation
            dup
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.runtime.ScriptObject.DELETE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.methodHandle:()Ljava/lang/invoke/MethodHandle;
            iconst_2
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.getScriptObjectGuard:()Ljava/lang/invoke/MethodHandle;
            invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
            putstatic jdk.nashorn.internal.runtime.ScriptObject.DELETE_GUARDED_STRICT:Ljdk/dynalink/linker/GuardedInvocation;
        32: .line 3565
            getstatic jdk.nashorn.internal.runtime.Context.DEBUG:Z
            ifeq 34
        33: .line 3566
            new java.util.concurrent.atomic.LongAdder
            dup
            invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
            putstatic jdk.nashorn.internal.runtime.ScriptObject.count:Ljava/util/concurrent/atomic/LongAdder;
        34: .line 3568
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 214
            aload 0 /* this */
            aconst_null
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.<init>:(Ljdk/nashorn/internal/runtime/PropertyMap;)V
         1: .line 215
            return
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public void <init>(jdk.nashorn.internal.runtime.PropertyMap);
    descriptor: (Ljdk/nashorn/internal/runtime/PropertyMap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.PropertyMap map
         0: .line 222
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 223
            getstatic jdk.nashorn.internal.runtime.Context.DEBUG:Z
            ifeq 3
         2: .line 224
            getstatic jdk.nashorn.internal.runtime.ScriptObject.count:Ljava/util/concurrent/atomic/LongAdder;
            invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
         3: .line 226
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.nashorn.internal.runtime.arrays.ArrayData.EMPTY_ARRAY:Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            putfield jdk.nashorn.internal.runtime.ScriptObject.arrayData:Ljdk/nashorn/internal/runtime/arrays/ArrayData;
         4: .line 227
            aload 0 /* this */
            aload 1 /* map */
            ifnonnull 5
            invokestatic jdk.nashorn.internal.runtime.PropertyMap.newMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            goto 6
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject
         5: aload 1 /* map */
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.PropertyMap
         6: invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setMap:(Ljdk/nashorn/internal/runtime/PropertyMap;)V
         7: .line 228
            return
        end local 1 // jdk.nashorn.internal.runtime.PropertyMap map
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    8     1   map  Ljdk/nashorn/internal/runtime/PropertyMap;
    MethodParameters:
      Name  Flags
      map   final

  protected void <init>(jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.PropertyMap);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/PropertyMap;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject proto
        start local 2 // jdk.nashorn.internal.runtime.PropertyMap map
         0: .line 240
            aload 0 /* this */
            aload 2 /* map */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.<init>:(Ljdk/nashorn/internal/runtime/PropertyMap;)V
         1: .line 241
            aload 0 /* this */
            aload 1 /* proto */
            putfield jdk.nashorn.internal.runtime.ScriptObject.proto:Ljdk/nashorn/internal/runtime/ScriptObject;
         2: .line 242
            return
        end local 2 // jdk.nashorn.internal.runtime.PropertyMap map
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject proto
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    3     1  proto  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    3     2    map  Ljdk/nashorn/internal/runtime/PropertyMap;
    MethodParameters:
       Name  Flags
      proto  final
      map    final

  public void <init>(jdk.nashorn.internal.runtime.PropertyMap, long[], java.lang.Object[]);
    descriptor: (Ljdk/nashorn/internal/runtime/PropertyMap;[J[Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.PropertyMap map
        start local 2 // long[] primitiveSpill
        start local 3 // java.lang.Object[] objectSpill
         0: .line 253
            aload 0 /* this */
            aload 1 /* map */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.<init>:(Ljdk/nashorn/internal/runtime/PropertyMap;)V
         1: .line 254
            aload 0 /* this */
            aload 2 /* primitiveSpill */
            putfield jdk.nashorn.internal.runtime.ScriptObject.primitiveSpill:[J
         2: .line 255
            aload 0 /* this */
            aload 3 /* objectSpill */
            putfield jdk.nashorn.internal.runtime.ScriptObject.objectSpill:[Ljava/lang/Object;
         3: .line 256
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 4
            aload 2 /* primitiveSpill */
            ifnull 4
            aload 2 /* primitiveSpill */
            arraylength
            aload 3 /* objectSpill */
            arraylength
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            ldc " primitive spill pool size is not the same length as object spill pool size"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 257
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.PropertyMap long[] java.lang.Object[]
      StackMap stack:
            return
        end local 3 // java.lang.Object[] objectSpill
        end local 2 // long[] primitiveSpill
        end local 1 // jdk.nashorn.internal.runtime.PropertyMap map
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    5     1             map  Ljdk/nashorn/internal/runtime/PropertyMap;
            0    5     2  primitiveSpill  [J
            0    5     3     objectSpill  [Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      map             final
      primitiveSpill  final
      objectSpill     final

  protected boolean isGlobal();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 264
            iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  private static int alignUp(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int size
        start local 1 // int alignment
         0: .line 268
            iload 0 /* size */
            iload 1 /* alignment */
            iadd
            iconst_1
            isub
            iload 1 /* alignment */
            iconst_1
            isub
            iconst_m1
            ixor
            iand
            ireturn
        end local 1 // int alignment
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       size  I
            0    1     1  alignment  I
    MethodParameters:
           Name  Flags
      size       final
      alignment  final

  public static int spillAllocationLength(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int nProperties
         0: .line 279
            iload 0 /* nProperties */
            bipush 8
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.alignUp:(II)I
            ireturn
        end local 0 // int nProperties
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  nProperties  I
    MethodParameters:
             Name  Flags
      nProperties  final

  public void addBoundProperties(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject source
         0: .line 289
            aload 0 /* this */
            aload 1 /* source */
            aload 1 /* source */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.getProperties:()[Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addBoundProperties:(Ljdk/nashorn/internal/runtime/ScriptObject;[Ljdk/nashorn/internal/runtime/Property;)V
         1: .line 290
            return
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject source
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    2     1  source  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
        Name  Flags
      source  final

  public void addBoundProperties(jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.Property[]);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;[Ljdk/nashorn/internal/runtime/Property;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject source
        start local 2 // jdk.nashorn.internal.runtime.Property[] properties
         0: .line 299
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 3 /* newMap */
        start local 3 // jdk.nashorn.internal.runtime.PropertyMap newMap
         1: .line 300
            aload 3 /* newMap */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.isExtensible:()Z
            istore 4 /* extensible */
        start local 4 // boolean extensible
         2: .line 302
            aload 2 /* properties */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 6
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.Property[] jdk.nashorn.internal.runtime.PropertyMap int top int int jdk.nashorn.internal.runtime.Property[]
      StackMap stack:
         3: aload 8
            iload 6
            aaload
            astore 5 /* property */
        start local 5 // jdk.nashorn.internal.runtime.Property property
         4: .line 303
            aload 0 /* this */
            aload 3 /* newMap */
            aload 1 /* source */
            aload 5 /* property */
            iload 4 /* extensible */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addBoundProperty:(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/Property;Z)Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 3 /* newMap */
        end local 5 // jdk.nashorn.internal.runtime.Property property
         5: .line 302
            iinc 6 1
      StackMap locals:
      StackMap stack:
         6: iload 6
            iload 7
            if_icmplt 3
         7: .line 306
            aload 0 /* this */
            aload 3 /* newMap */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setMap:(Ljdk/nashorn/internal/runtime/PropertyMap;)V
         8: .line 307
            return
        end local 4 // boolean extensible
        end local 3 // jdk.nashorn.internal.runtime.PropertyMap newMap
        end local 2 // jdk.nashorn.internal.runtime.Property[] properties
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject source
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    9     1      source  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    9     2  properties  [Ljdk/nashorn/internal/runtime/Property;
            1    9     3      newMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            2    9     4  extensible  Z
            4    5     5    property  Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
            Name  Flags
      source      final
      properties  final

  protected jdk.nashorn.internal.runtime.PropertyMap addBoundProperty(jdk.nashorn.internal.runtime.PropertyMap, jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.Property, boolean);
    descriptor: (Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/Property;Z)Ljdk/nashorn/internal/runtime/PropertyMap;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.PropertyMap propMap
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject source
        start local 3 // jdk.nashorn.internal.runtime.Property property
        start local 4 // boolean extensible
         0: .line 320
            aload 1 /* propMap */
            astore 5 /* newMap */
        start local 5 // jdk.nashorn.internal.runtime.PropertyMap newMap
         1: .line 321
            aload 3 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            astore 6 /* key */
        start local 6 // java.lang.Object key
         2: .line 322
            aload 5 /* newMap */
            aload 6 /* key */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            astore 7 /* oldProp */
        start local 7 // jdk.nashorn.internal.runtime.Property oldProp
         3: .line 323
            aload 7 /* oldProp */
            ifnonnull 12
         4: .line 324
            iload 4 /* extensible */
            ifne 6
         5: .line 325
            ldc "object.non.extensible"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            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
         6: .line 328
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap java.lang.Object jdk.nashorn.internal.runtime.Property
      StackMap stack:
            aload 3 /* property */
            instanceof jdk.nashorn.internal.runtime.UserAccessorProperty
            ifeq 10
         7: .line 330
            aload 0 /* this */
            aload 6 /* key */
            aload 3 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.getFlags:()I
            aload 3 /* property */
            aload 2 /* source */
            invokevirtual jdk.nashorn.internal.runtime.Property.getGetterFunction:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
            aload 3 /* property */
            aload 2 /* source */
            invokevirtual jdk.nashorn.internal.runtime.Property.getSetterFunction:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.newUserAccessors:(Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljdk/nashorn/internal/runtime/UserAccessorProperty;
            astore 8 /* prop */
        start local 8 // jdk.nashorn.internal.runtime.UserAccessorProperty prop
         8: .line 331
            aload 5 /* newMap */
            aload 8 /* prop */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.addPropertyNoHistory:(Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 5 /* newMap */
        end local 8 // jdk.nashorn.internal.runtime.UserAccessorProperty prop
         9: .line 332
            goto 16
        10: .line 333
      StackMap locals:
      StackMap stack:
            aload 5 /* newMap */
            aload 3 /* property */
            checkcast jdk.nashorn.internal.runtime.AccessorProperty
            aload 2 /* source */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.addPropertyBind:(Ljdk/nashorn/internal/runtime/AccessorProperty;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 5 /* newMap */
        11: .line 335
            goto 16
        12: .line 338
      StackMap locals:
      StackMap stack:
            aload 3 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.isFunctionDeclaration:()Z
            ifeq 16
            aload 7 /* oldProp */
            invokevirtual jdk.nashorn.internal.runtime.Property.isConfigurable:()Z
            ifne 16
        13: .line 339
            aload 7 /* oldProp */
            instanceof jdk.nashorn.internal.runtime.UserAccessorProperty
            ifne 15
        14: .line 340
            aload 7 /* oldProp */
            invokevirtual jdk.nashorn.internal.runtime.Property.isWritable:()Z
            ifeq 15
            aload 7 /* oldProp */
            invokevirtual jdk.nashorn.internal.runtime.Property.isEnumerable:()Z
            ifne 16
        15: .line 341
      StackMap locals:
      StackMap stack:
            ldc "cant.redefine.property"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            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
        16: .line 345
      StackMap locals:
      StackMap stack:
            aload 5 /* newMap */
            areturn
        end local 7 // jdk.nashorn.internal.runtime.Property oldProp
        end local 6 // java.lang.Object key
        end local 5 // jdk.nashorn.internal.runtime.PropertyMap newMap
        end local 4 // boolean extensible
        end local 3 // jdk.nashorn.internal.runtime.Property property
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject source
        end local 1 // jdk.nashorn.internal.runtime.PropertyMap propMap
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   17     1     propMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            0   17     2      source  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   17     3    property  Ljdk/nashorn/internal/runtime/Property;
            0   17     4  extensible  Z
            1   17     5      newMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            2   17     6         key  Ljava/lang/Object;
            3   17     7     oldProp  Ljdk/nashorn/internal/runtime/Property;
            8    9     8        prop  Ljdk/nashorn/internal/runtime/UserAccessorProperty;
    MethodParameters:
            Name  Flags
      propMap     final
      source      final
      property    final
      extensible  final

  public void addBoundProperties(java.lang.Object, jdk.nashorn.internal.runtime.AccessorProperty[]);
    descriptor: (Ljava/lang/Object;[Ljdk/nashorn/internal/runtime/AccessorProperty;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object source
        start local 2 // jdk.nashorn.internal.runtime.AccessorProperty[] properties
         0: .line 355
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 3 /* newMap */
        start local 3 // jdk.nashorn.internal.runtime.PropertyMap newMap
         1: .line 356
            aload 3 /* newMap */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.isExtensible:()Z
            istore 4 /* extensible */
        start local 4 // boolean extensible
         2: .line 358
            aload 2 /* properties */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 10
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.AccessorProperty[] jdk.nashorn.internal.runtime.PropertyMap int top int int jdk.nashorn.internal.runtime.AccessorProperty[]
      StackMap stack:
         3: aload 8
            iload 6
            aaload
            astore 5 /* property */
        start local 5 // jdk.nashorn.internal.runtime.AccessorProperty property
         4: .line 359
            aload 5 /* property */
            invokevirtual jdk.nashorn.internal.runtime.AccessorProperty.getKey:()Ljava/lang/Object;
            astore 9 /* key */
        start local 9 // java.lang.Object key
         5: .line 361
            aload 3 /* newMap */
            aload 9 /* key */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            ifnonnull 9
         6: .line 362
            iload 4 /* extensible */
            ifne 8
         7: .line 363
            ldc "object.non.extensible"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 9 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            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
         8: .line 365
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.AccessorProperty[] jdk.nashorn.internal.runtime.PropertyMap int jdk.nashorn.internal.runtime.AccessorProperty int int jdk.nashorn.internal.runtime.AccessorProperty[] java.lang.Object
      StackMap stack:
            aload 3 /* newMap */
            aload 5 /* property */
            aload 1 /* source */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.addPropertyBind:(Ljdk/nashorn/internal/runtime/AccessorProperty;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 3 /* newMap */
        end local 9 // java.lang.Object key
        end local 5 // jdk.nashorn.internal.runtime.AccessorProperty property
         9: .line 358
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.AccessorProperty[] jdk.nashorn.internal.runtime.PropertyMap int top int int jdk.nashorn.internal.runtime.AccessorProperty[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        10: iload 6
            iload 7
            if_icmplt 3
        11: .line 369
            aload 0 /* this */
            aload 3 /* newMap */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setMap:(Ljdk/nashorn/internal/runtime/PropertyMap;)V
        12: .line 370
            return
        end local 4 // boolean extensible
        end local 3 // jdk.nashorn.internal.runtime.PropertyMap newMap
        end local 2 // jdk.nashorn.internal.runtime.AccessorProperty[] properties
        end local 1 // java.lang.Object source
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   13     1      source  Ljava/lang/Object;
            0   13     2  properties  [Ljdk/nashorn/internal/runtime/AccessorProperty;
            1   13     3      newMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            2   13     4  extensible  Z
            4    9     5    property  Ljdk/nashorn/internal/runtime/AccessorProperty;
            5    9     9         key  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      source      final
      properties  final

  static java.lang.invoke.MethodHandle bindTo(java.lang.invoke.MethodHandle, java.lang.Object);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandle methodHandle
        start local 1 // java.lang.Object receiver
         0: .line 380
            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 0 /* methodHandle */
            aload 1 /* receiver */
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.bindTo:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 0 /* methodHandle */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            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;
            areturn
        end local 1 // java.lang.Object receiver
        end local 0 // java.lang.invoke.MethodHandle methodHandle
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  methodHandle  Ljava/lang/invoke/MethodHandle;
            0    1     1      receiver  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      methodHandle  final
      receiver      final

  public java.util.Iterator<java.lang.String> propertyIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 388
            new jdk.nashorn.internal.runtime.ScriptObject$KeyIterator
            dup
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject$KeyIterator.<init>:(Ljdk/nashorn/internal/runtime/ScriptObject;)V
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
    Signature: ()Ljava/util/Iterator<Ljava/lang/String;>;

  public java.util.Iterator<java.lang.Object> valueIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 396
            new jdk.nashorn.internal.runtime.ScriptObject$ValueIterator
            dup
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject$ValueIterator.<init>:(Ljdk/nashorn/internal/runtime/ScriptObject;)V
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
    Signature: ()Ljava/util/Iterator<Ljava/lang/Object;>;

  public final boolean isAccessorDescriptor();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 404
            aload 0 /* this */
            ldc "get"
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.has:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* this */
            ldc "set"
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.has:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public final boolean isDataDescriptor();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 412
            aload 0 /* this */
            ldc "value"
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.has:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* this */
            ldc "writable"
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.has:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public final jdk.nashorn.internal.runtime.PropertyDescriptor toPropertyDescriptor();
    descriptor: ()Ljdk/nashorn/internal/runtime/PropertyDescriptor;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 421
            invokestatic jdk.nashorn.internal.runtime.Context.getGlobal:()Ljdk/nashorn/internal/objects/Global;
            astore 1 /* global */
        start local 1 // jdk.nashorn.internal.objects.Global global
         1: .line 424
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isDataDescriptor:()Z
            ifeq 6
         2: .line 425
            aload 0 /* this */
            ldc "set"
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.has:(Ljava/lang/Object;)Z
            ifne 3
            aload 0 /* this */
            ldc "get"
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.has:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 426
      StackMap locals: jdk.nashorn.internal.objects.Global
      StackMap stack:
            aload 1 /* global */
            ldc "inconsistent.property.descriptor"
            iconst_0
            anewarray java.lang.String
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljdk/nashorn/internal/objects/Global;Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
         4: .line 429
      StackMap locals:
      StackMap stack:
            aload 1 /* global */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            iconst_0
            iconst_0
            iconst_0
            invokevirtual jdk.nashorn.internal.objects.Global.newDataDescriptor:(Ljava/lang/Object;ZZZ)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            astore 2 /* desc */
        start local 2 // jdk.nashorn.internal.runtime.PropertyDescriptor desc
         5: .line 430
            goto 12
        end local 2 // jdk.nashorn.internal.runtime.PropertyDescriptor desc
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isAccessorDescriptor:()Z
            ifeq 11
         7: .line 431
            aload 0 /* this */
            ldc "value"
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.has:(Ljava/lang/Object;)Z
            ifne 8
            aload 0 /* this */
            ldc "writable"
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.has:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 432
      StackMap locals:
      StackMap stack:
            aload 1 /* global */
            ldc "inconsistent.property.descriptor"
            iconst_0
            anewarray java.lang.String
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljdk/nashorn/internal/objects/Global;Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
         9: .line 435
      StackMap locals:
      StackMap stack:
            aload 1 /* global */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            iconst_0
            iconst_0
            invokevirtual jdk.nashorn.internal.objects.Global.newAccessorDescriptor:(Ljava/lang/Object;Ljava/lang/Object;ZZ)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            astore 2 /* desc */
        start local 2 // jdk.nashorn.internal.runtime.PropertyDescriptor desc
        10: .line 436
            goto 12
        end local 2 // jdk.nashorn.internal.runtime.PropertyDescriptor desc
        11: .line 437
      StackMap locals:
      StackMap stack:
            aload 1 /* global */
            iconst_0
            iconst_0
            invokevirtual jdk.nashorn.internal.objects.Global.newGenericDescriptor:(ZZ)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            astore 2 /* desc */
        start local 2 // jdk.nashorn.internal.runtime.PropertyDescriptor desc
        12: .line 440
      StackMap locals: jdk.nashorn.internal.runtime.PropertyDescriptor
      StackMap stack:
            aload 2 /* desc */
            aload 0 /* this */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.fillFrom:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            areturn
        end local 2 // jdk.nashorn.internal.runtime.PropertyDescriptor desc
        end local 1 // jdk.nashorn.internal.objects.Global global
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Ljdk/nashorn/internal/runtime/ScriptObject;
            1   13     1  global  Ljdk/nashorn/internal/objects/Global;
            5    6     2    desc  Ljdk/nashorn/internal/runtime/PropertyDescriptor;
           10   11     2    desc  Ljdk/nashorn/internal/runtime/PropertyDescriptor;
           12   13     2    desc  Ljdk/nashorn/internal/runtime/PropertyDescriptor;

  public static jdk.nashorn.internal.runtime.PropertyDescriptor toPropertyDescriptor(jdk.nashorn.internal.objects.Global, java.lang.Object);
    descriptor: (Ljdk/nashorn/internal/objects/Global;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.objects.Global global
        start local 1 // java.lang.Object obj
         0: .line 452
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 2
         1: .line 453
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.toPropertyDescriptor:()Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            areturn
         2: .line 456
      StackMap locals:
      StackMap stack:
            aload 0 /* global */
            ldc "not.an.object"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljdk/nashorn/internal/objects/Global;Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // jdk.nashorn.internal.objects.Global global
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  global  Ljdk/nashorn/internal/objects/Global;
            0    3     1     obj  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      global  final
      obj     final

  public java.lang.Object getOwnPropertyDescriptor(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
         0: .line 468
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            astore 2 /* property */
        start local 2 // jdk.nashorn.internal.runtime.Property property
         1: .line 470
            invokestatic jdk.nashorn.internal.runtime.Context.getGlobal:()Ljdk/nashorn/internal/objects/Global;
            astore 3 /* global */
        start local 3 // jdk.nashorn.internal.objects.Global global
         2: .line 472
            aload 2 /* property */
            ifnull 20
         3: .line 473
            aload 2 /* property */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.getGetterFunction:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
            astore 4 /* get */
        start local 4 // jdk.nashorn.internal.runtime.ScriptFunction get
         4: .line 474
            aload 2 /* property */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Property.getSetterFunction:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
            astore 5 /* set */
        start local 5 // jdk.nashorn.internal.runtime.ScriptFunction set
         5: .line 476
            aload 2 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.isConfigurable:()Z
            istore 6 /* configurable */
        start local 6 // boolean configurable
         6: .line 477
            aload 2 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.isEnumerable:()Z
            istore 7 /* enumerable */
        start local 7 // boolean enumerable
         7: .line 478
            aload 2 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.isWritable:()Z
            istore 8 /* writable */
        start local 8 // boolean writable
         8: .line 480
            aload 2 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.isAccessorProperty:()Z
            ifeq 19
         9: .line 481
            aload 3 /* global */
        10: .line 482
            aload 4 /* get */
            ifnull 12
        11: .line 483
            aload 4 /* get */
            goto 13
        12: .line 484
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.Property jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.ScriptFunction jdk.nashorn.internal.runtime.ScriptFunction int int int
      StackMap stack: jdk.nashorn.internal.objects.Global
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
        13: .line 485
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.Property jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.ScriptFunction jdk.nashorn.internal.runtime.ScriptFunction int int int
      StackMap stack: jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyAccess
            aload 5 /* set */
            ifnull 15
        14: .line 486
            aload 5 /* set */
            goto 16
        15: .line 487
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.Property jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.ScriptFunction jdk.nashorn.internal.runtime.ScriptFunction int int int
      StackMap stack: jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyAccess
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
        16: .line 488
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.Property jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.ScriptFunction jdk.nashorn.internal.runtime.ScriptFunction int int int
      StackMap stack: jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyAccess jdk.nashorn.internal.runtime.PropertyAccess
            iload 6 /* configurable */
        17: .line 489
            iload 7 /* enumerable */
        18: .line 481
            invokevirtual jdk.nashorn.internal.objects.Global.newAccessorDescriptor:(Ljava/lang/Object;Ljava/lang/Object;ZZ)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            areturn
        19: .line 492
      StackMap locals:
      StackMap stack:
            aload 3 /* global */
            aload 0 /* this */
            aload 2 /* property */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getWithProperty:(Ljdk/nashorn/internal/runtime/Property;)Ljava/lang/Object;
            iload 6 /* configurable */
            iload 7 /* enumerable */
            iload 8 /* writable */
            invokevirtual jdk.nashorn.internal.objects.Global.newDataDescriptor:(Ljava/lang/Object;ZZZ)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            areturn
        end local 8 // boolean writable
        end local 7 // boolean enumerable
        end local 6 // boolean configurable
        end local 5 // jdk.nashorn.internal.runtime.ScriptFunction set
        end local 4 // jdk.nashorn.internal.runtime.ScriptFunction get
        20: .line 495
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.Property jdk.nashorn.internal.objects.Global
      StackMap stack:
            aload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 4 /* index */
        start local 4 // int index
        21: .line 496
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 5 /* array */
        start local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        22: .line 498
            aload 5 /* array */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 24
        23: .line 499
            aload 5 /* array */
            aload 3 /* global */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getDescriptor:(Ljdk/nashorn/internal/objects/Global;I)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            areturn
        24: .line 502
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            areturn
        end local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 4 // int index
        end local 3 // jdk.nashorn.internal.objects.Global global
        end local 2 // jdk.nashorn.internal.runtime.Property property
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   25     1           key  Ljava/lang/Object;
            1   25     2      property  Ljdk/nashorn/internal/runtime/Property;
            2   25     3        global  Ljdk/nashorn/internal/objects/Global;
            4   20     4           get  Ljdk/nashorn/internal/runtime/ScriptFunction;
            5   20     5           set  Ljdk/nashorn/internal/runtime/ScriptFunction;
            6   20     6  configurable  Z
            7   20     7    enumerable  Z
            8   20     8      writable  Z
           21   25     4         index  I
           22   25     5         array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
      Name  Flags
      key   final

  public java.lang.Object getPropertyDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.String key
         0: .line 514
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getOwnPropertyDescriptor:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* res */
        start local 2 // java.lang.Object res
         1: .line 516
            aload 2 /* res */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpeq 3
         2: .line 517
            aload 2 /* res */
            areturn
         3: .line 518
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            ifnull 5
         4: .line 519
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getOwnPropertyDescriptor:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         5: .line 521
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            areturn
        end local 2 // java.lang.Object res
        end local 1 // java.lang.String key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    6     1   key  Ljava/lang/String;
            1    6     2   res  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  protected void invalidateGlobalConstant(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
         0: .line 530
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getGlobalConstants:()Ljdk/nashorn/internal/runtime/GlobalConstants;
            astore 2 /* globalConstants */
        start local 2 // jdk.nashorn.internal.runtime.GlobalConstants globalConstants
         1: .line 531
            aload 2 /* globalConstants */
            ifnull 3
         2: .line 532
            aload 2 /* globalConstants */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.GlobalConstants.delete:(Ljava/lang/Object;)V
         3: .line 534
      StackMap locals: jdk.nashorn.internal.runtime.GlobalConstants
      StackMap stack:
            return
        end local 2 // jdk.nashorn.internal.runtime.GlobalConstants globalConstants
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    4     1              key  Ljava/lang/Object;
            1    4     2  globalConstants  Ljdk/nashorn/internal/runtime/GlobalConstants;
    MethodParameters:
      Name  Flags
      key   final

  public boolean defineOwnProperty(java.lang.Object, java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object propertyDesc
        start local 3 // boolean reject
         0: .line 546
            invokestatic jdk.nashorn.internal.runtime.Context.getGlobal:()Ljdk/nashorn/internal/objects/Global;
            astore 4 /* global */
        start local 4 // jdk.nashorn.internal.objects.Global global
         1: .line 547
            aload 4 /* global */
            aload 2 /* propertyDesc */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.toPropertyDescriptor:(Ljdk/nashorn/internal/objects/Global;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            astore 5 /* desc */
        start local 5 // jdk.nashorn.internal.runtime.PropertyDescriptor desc
         2: .line 548
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getOwnPropertyDescriptor:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* current */
        start local 6 // java.lang.Object current
         3: .line 550
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.invalidateGlobalConstant:(Ljava/lang/Object;)V
         4: .line 552
            aload 6 /* current */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpne 11
         5: .line 553
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isExtensible:()Z
            ifeq 8
         6: .line 555
            aload 0 /* this */
            aload 1 /* key */
            aload 5 /* desc */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addOwnProperty:(Ljava/lang/Object;Ljdk/nashorn/internal/runtime/PropertyDescriptor;)V
         7: .line 556
            iconst_1
            ireturn
         8: .line 559
      StackMap locals: jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyDescriptor java.lang.Object
      StackMap stack:
            iload 3 /* reject */
            ifeq 10
         9: .line 560
            aload 4 /* global */
            ldc "object.non.extensible"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljdk/nashorn/internal/objects/Global;Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        10: .line 562
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 566
      StackMap locals:
      StackMap stack:
            aload 6 /* current */
            checkcast jdk.nashorn.internal.runtime.PropertyDescriptor
            astore 7 /* currentDesc */
        start local 7 // jdk.nashorn.internal.runtime.PropertyDescriptor currentDesc
        12: .line 567
            aload 5 /* desc */
            astore 8 /* newDesc */
        start local 8 // jdk.nashorn.internal.runtime.PropertyDescriptor newDesc
        13: .line 569
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.type:()I
            ifne 15
            aload 8 /* newDesc */
            ldc "configurable"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifne 15
            aload 8 /* newDesc */
            ldc "enumerable"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifne 15
        14: .line 571
            iconst_1
            ireturn
        15: .line 574
      StackMap locals: jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor
      StackMap stack:
            aload 8 /* newDesc */
            aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.hasAndEquals:(Ljdk/nashorn/internal/runtime/PropertyDescriptor;)Z
            ifeq 17
        16: .line 576
            iconst_1
            ireturn
        17: .line 579
      StackMap locals:
      StackMap stack:
            aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isConfigurable:()Z
            ifne 27
        18: .line 580
            aload 8 /* newDesc */
            ldc "configurable"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 22
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isConfigurable:()Z
            ifeq 22
        19: .line 582
            iload 3 /* reject */
            ifeq 21
        20: .line 583
            aload 4 /* global */
            ldc "cant.redefine.property"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljdk/nashorn/internal/objects/Global;Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        21: .line 585
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        22: .line 588
      StackMap locals:
      StackMap stack:
            aload 8 /* newDesc */
            ldc "enumerable"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 27
        23: .line 589
            aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isEnumerable:()Z
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isEnumerable:()Z
            if_icmpeq 27
        24: .line 591
            iload 3 /* reject */
            ifeq 26
        25: .line 592
            aload 4 /* global */
            ldc "cant.redefine.property"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljdk/nashorn/internal/objects/Global;Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        26: .line 594
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        27: .line 598
      StackMap locals:
      StackMap stack:
            aload 7 /* currentDesc */
            aload 8 /* newDesc */
            invokestatic jdk.nashorn.internal.runtime.Property.mergeFlags:(Ljdk/nashorn/internal/runtime/PropertyDescriptor;Ljdk/nashorn/internal/runtime/PropertyDescriptor;)I
            istore 9 /* propFlags */
        start local 9 // int propFlags
        28: .line 599
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            astore 10 /* property */
        start local 10 // jdk.nashorn.internal.runtime.Property property
        29: .line 601
            aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.type:()I
            iconst_1
            if_icmpne 52
        30: .line 602
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.type:()I
            iconst_1
            if_icmpeq 32
        31: .line 603
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.type:()I
            ifne 52
        32: .line 604
      StackMap locals: int jdk.nashorn.internal.runtime.Property
      StackMap stack:
            aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isConfigurable:()Z
            ifne 38
            aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isWritable:()Z
            ifne 38
        33: .line 605
            aload 8 /* newDesc */
            ldc "writable"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 34
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isWritable:()Z
            ifne 35
        34: .line 606
      StackMap locals:
      StackMap stack:
            aload 8 /* newDesc */
            ldc "value"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 38
            aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getValue:()Ljava/lang/Object;
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getValue:()Ljava/lang/Object;
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.sameValue:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 38
        35: .line 607
      StackMap locals:
      StackMap stack:
            iload 3 /* reject */
            ifeq 37
        36: .line 608
            aload 4 /* global */
            ldc "cant.redefine.property"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljdk/nashorn/internal/objects/Global;Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        37: .line 610
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        38: .line 614
      StackMap locals:
      StackMap stack:
            aload 8 /* newDesc */
            ldc "value"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            istore 11 /* newValue */
        start local 11 // boolean newValue
        39: .line 615
            iload 11 /* newValue */
            ifeq 40
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getValue:()Ljava/lang/Object;
            goto 41
      StackMap locals: int
      StackMap stack:
        40: aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getValue:()Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
        41: astore 12 /* value */
        start local 12 // java.lang.Object value
        42: .line 617
            iload 11 /* newValue */
            ifeq 46
            aload 10 /* property */
            ifnull 46
        43: .line 619
            aload 0 /* this */
            aload 10 /* property */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.modifyOwnProperty:(Ljdk/nashorn/internal/runtime/Property;I)Ljdk/nashorn/internal/runtime/Property;
            astore 10 /* property */
        44: .line 620
            aload 0 /* this */
            aload 1 /* key */
            aload 12 /* value */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.set:(Ljava/lang/Object;Ljava/lang/Object;I)V
        45: .line 628
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            astore 10 /* property */
        46: .line 631
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 10 /* property */
            ifnonnull 50
        47: .line 633
            aload 0 /* this */
            aload 1 /* key */
            iload 9 /* propFlags */
            aload 12 /* value */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addOwnProperty:(Ljava/lang/Object;ILjava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            pop
        48: .line 634
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.checkIntegerKey:(Ljava/lang/Object;)V
        49: .line 635
            goto 108
        50: .line 637
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* property */
            iload 9 /* propFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.modifyOwnProperty:(Ljdk/nashorn/internal/runtime/Property;I)Ljdk/nashorn/internal/runtime/Property;
            pop
        end local 12 // java.lang.Object value
        end local 11 // boolean newValue
        51: .line 639
            goto 108
      StackMap locals:
      StackMap stack:
        52: aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.type:()I
            iconst_2
            if_icmpne 68
        53: .line 640
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.type:()I
            iconst_2
            if_icmpeq 55
        54: .line 641
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.type:()I
            ifne 68
        55: .line 642
      StackMap locals:
      StackMap stack:
            aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isConfigurable:()Z
            ifne 61
        56: .line 643
            aload 8 /* newDesc */
            ldc "get"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 57
            aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getGetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getGetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.sameValue:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 58
        57: .line 644
      StackMap locals:
      StackMap stack:
            aload 8 /* newDesc */
            ldc "set"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 61
            aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getSetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getSetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.sameValue:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 61
        58: .line 645
      StackMap locals:
      StackMap stack:
            iload 3 /* reject */
            ifeq 60
        59: .line 646
            aload 4 /* global */
            ldc "cant.redefine.property"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljdk/nashorn/internal/objects/Global;Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        60: .line 648
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        61: .line 652
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* property */
            iload 9 /* propFlags */
        62: .line 653
            aload 8 /* newDesc */
            ldc "get"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 63
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getGetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            goto 64
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.lang.Object int jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyDescriptor java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int jdk.nashorn.internal.runtime.Property
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.Property int
        63: aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getGetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
        64: .line 654
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.lang.Object int jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyDescriptor java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int jdk.nashorn.internal.runtime.Property
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.Property int jdk.nashorn.internal.runtime.ScriptFunction
            aload 8 /* newDesc */
            ldc "set"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 65
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getSetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            goto 66
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.lang.Object int jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyDescriptor java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int jdk.nashorn.internal.runtime.Property
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.Property int jdk.nashorn.internal.runtime.ScriptFunction
        65: aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getSetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
        66: .line 652
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.lang.Object int jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyDescriptor java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int jdk.nashorn.internal.runtime.Property
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.Property int jdk.nashorn.internal.runtime.ScriptFunction jdk.nashorn.internal.runtime.ScriptFunction
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.modifyOwnProperty:(Ljdk/nashorn/internal/runtime/Property;ILjdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljdk/nashorn/internal/runtime/Property;
            pop
        67: .line 655
            goto 108
        68: .line 657
      StackMap locals:
      StackMap stack:
            aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isConfigurable:()Z
            ifne 72
        69: .line 659
            iload 3 /* reject */
            ifeq 71
        70: .line 660
            aload 4 /* global */
            ldc "cant.redefine.property"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljdk/nashorn/internal/objects/Global;Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        71: .line 662
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        72: .line 665
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* propFlags */
        73: .line 669
            aload 8 /* newDesc */
            ldc "configurable"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 74
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isConfigurable:()Z
            goto 75
      StackMap locals:
      StackMap stack:
        74: aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isConfigurable:()Z
      StackMap locals:
      StackMap stack: int
        75: istore 11 /* value */
        start local 11 // boolean value
        76: .line 670
            iload 11 /* value */
            ifne 78
        77: .line 671
            iload 9 /* propFlags */
            iconst_4
            ior
            istore 9 /* propFlags */
        78: .line 673
      StackMap locals: int
      StackMap stack:
            aload 8 /* newDesc */
            ldc "enumerable"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 79
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isEnumerable:()Z
            goto 80
      StackMap locals:
      StackMap stack:
        79: aload 7 /* currentDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isEnumerable:()Z
      StackMap locals:
      StackMap stack: int
        80: istore 11 /* value */
        81: .line 674
            iload 11 /* value */
            ifne 83
        82: .line 675
            iload 9 /* propFlags */
            iconst_2
            ior
            istore 9 /* propFlags */
        83: .line 678
      StackMap locals:
      StackMap stack:
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.type:()I
            istore 12 /* type */
        start local 12 // int type
        84: .line 679
            iload 12 /* type */
            iconst_1
            if_icmpne 93
        85: .line 681
            aload 8 /* newDesc */
            ldc "writable"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 86
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.isWritable:()Z
            ifeq 86
            iconst_1
            goto 87
      StackMap locals: int
      StackMap stack:
        86: iconst_0
      StackMap locals:
      StackMap stack: int
        87: istore 11 /* value */
        88: .line 682
            iload 11 /* value */
            ifne 90
        89: .line 683
            iload 9 /* propFlags */
            iconst_1
            ior
            istore 9 /* propFlags */
        90: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* property */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.deleteOwnProperty:(Ljdk/nashorn/internal/runtime/Property;)Z
            pop
        91: .line 689
            aload 0 /* this */
            aload 1 /* key */
            iload 9 /* propFlags */
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getValue:()Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addOwnProperty:(Ljava/lang/Object;ILjava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            pop
        92: .line 690
            goto 108
      StackMap locals:
      StackMap stack:
        93: iload 12 /* type */
            iconst_2
            if_icmpne 108
        94: .line 691
            aload 10 /* property */
            ifnonnull 102
        95: .line 692
            aload 0 /* this */
            aload 1 /* key */
            iload 9 /* propFlags */
        96: .line 693
            aload 8 /* newDesc */
            ldc "get"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 97
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getGetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            goto 98
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.lang.Object int jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyDescriptor java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int jdk.nashorn.internal.runtime.Property int int
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object int
        97: aconst_null
        98: .line 694
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.lang.Object int jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyDescriptor java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int jdk.nashorn.internal.runtime.Property int int
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object int jdk.nashorn.internal.runtime.ScriptFunction
            aload 8 /* newDesc */
            ldc "set"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 99
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getSetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            goto 100
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.lang.Object int jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyDescriptor java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int jdk.nashorn.internal.runtime.Property int int
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object int jdk.nashorn.internal.runtime.ScriptFunction
        99: aconst_null
       100: .line 692
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.lang.Object int jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyDescriptor java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int jdk.nashorn.internal.runtime.Property int int
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object int jdk.nashorn.internal.runtime.ScriptFunction jdk.nashorn.internal.runtime.ScriptFunction
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addOwnProperty:(Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljdk/nashorn/internal/runtime/Property;
            pop
       101: .line 695
            goto 108
       102: .line 697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* property */
            iload 9 /* propFlags */
       103: .line 698
            aload 8 /* newDesc */
            ldc "get"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 104
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getGetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            goto 105
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.lang.Object int jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyDescriptor java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int jdk.nashorn.internal.runtime.Property int int
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.Property int
       104: aconst_null
       105: .line 699
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.lang.Object int jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyDescriptor java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int jdk.nashorn.internal.runtime.Property int int
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.Property int jdk.nashorn.internal.runtime.ScriptFunction
            aload 8 /* newDesc */
            ldc "set"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 106
            aload 8 /* newDesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getSetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            goto 107
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.lang.Object int jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyDescriptor java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int jdk.nashorn.internal.runtime.Property int int
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.Property int jdk.nashorn.internal.runtime.ScriptFunction
       106: aconst_null
       107: .line 697
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.lang.Object int jdk.nashorn.internal.objects.Global jdk.nashorn.internal.runtime.PropertyDescriptor java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int jdk.nashorn.internal.runtime.Property int int
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.Property int jdk.nashorn.internal.runtime.ScriptFunction jdk.nashorn.internal.runtime.ScriptFunction
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.modifyOwnProperty:(Ljdk/nashorn/internal/runtime/Property;ILjdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljdk/nashorn/internal/runtime/Property;
            pop
        end local 12 // int type
        end local 11 // boolean value
       108: .line 704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.checkIntegerKey:(Ljava/lang/Object;)V
       109: .line 706
            iconst_1
            ireturn
        end local 10 // jdk.nashorn.internal.runtime.Property property
        end local 9 // int propFlags
        end local 8 // jdk.nashorn.internal.runtime.PropertyDescriptor newDesc
        end local 7 // jdk.nashorn.internal.runtime.PropertyDescriptor currentDesc
        end local 6 // java.lang.Object current
        end local 5 // jdk.nashorn.internal.runtime.PropertyDescriptor desc
        end local 4 // jdk.nashorn.internal.objects.Global global
        end local 3 // boolean reject
        end local 2 // java.lang.Object propertyDesc
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0  110     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0  110     1           key  Ljava/lang/Object;
            0  110     2  propertyDesc  Ljava/lang/Object;
            0  110     3        reject  Z
            1  110     4        global  Ljdk/nashorn/internal/objects/Global;
            2  110     5          desc  Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            3  110     6       current  Ljava/lang/Object;
           12  110     7   currentDesc  Ljdk/nashorn/internal/runtime/PropertyDescriptor;
           13  110     8       newDesc  Ljdk/nashorn/internal/runtime/PropertyDescriptor;
           28  110     9     propFlags  I
           29  110    10      property  Ljdk/nashorn/internal/runtime/Property;
           39   51    11      newValue  Z
           42   51    12         value  Ljava/lang/Object;
           76  108    11         value  Z
           84  108    12          type  I
    MethodParameters:
              Name  Flags
      key           final
      propertyDesc  final
      reject        final

  public void defineOwnProperty(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int index
        start local 2 // java.lang.Object value
         0: .line 717
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 1
            iload 1 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "invalid array index"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 718
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.toLongIndex:(I)J
            lstore 3 /* longIndex */
        start local 3 // long longIndex
         2: .line 719
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.length:()J
            lstore 5 /* oldLength */
        start local 5 // long oldLength
         3: .line 720
            lload 3 /* longIndex */
            lload 5 /* oldLength */
            lcmp
            iflt 5
         4: .line 721
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            lload 3 /* longIndex */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.ensure:(J)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            lload 5 /* oldLength */
            lload 3 /* longIndex */
            lconst_1
            lsub
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.safeDelete:(JJZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         5: .line 723
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            iload 1 /* index */
            aload 2 /* value */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(ILjava/lang/Object;Z)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         6: .line 724
            return
        end local 5 // long oldLength
        end local 3 // long longIndex
        end local 2 // java.lang.Object value
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    7     1      index  I
            0    7     2      value  Ljava/lang/Object;
            2    7     3  longIndex  J
            3    7     5  oldLength  J
    MethodParameters:
       Name  Flags
      index  final
      value  final

  private void checkIntegerKey(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
         0: .line 727
            aload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 729
            iload 2 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 5
         2: .line 730
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 3 /* data */
        start local 3 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         3: .line 732
            aload 3 /* data */
            iload 2 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 5
         4: .line 733
            aload 0 /* this */
            aload 3 /* data */
            iload 2 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.delete:(I)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
        end local 3 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         5: .line 736
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // int index
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    6     1    key  Ljava/lang/Object;
            1    6     2  index  I
            3    5     3   data  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
      Name  Flags
      key   final

  public final void addOwnProperty(java.lang.Object, jdk.nashorn.internal.runtime.PropertyDescriptor);
    descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/runtime/PropertyDescriptor;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // jdk.nashorn.internal.runtime.PropertyDescriptor propertyDesc
         0: .line 746
            aload 2 /* propertyDesc */
            astore 3 /* pdesc */
        start local 3 // jdk.nashorn.internal.runtime.PropertyDescriptor pdesc
         1: .line 748
            aload 3 /* pdesc */
            invokestatic jdk.nashorn.internal.runtime.Property.toFlags:(Ljdk/nashorn/internal/runtime/PropertyDescriptor;)I
            istore 4 /* propFlags */
        start local 4 // int propFlags
         2: .line 750
            aload 3 /* pdesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.type:()I
            ifne 7
         3: .line 751
            invokestatic jdk.nashorn.internal.runtime.Context.getGlobal:()Ljdk/nashorn/internal/objects/Global;
            astore 5 /* global */
        start local 5 // jdk.nashorn.internal.objects.Global global
         4: .line 752
            aload 5 /* global */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            iconst_0
            iconst_0
            iconst_0
            invokevirtual jdk.nashorn.internal.objects.Global.newDataDescriptor:(Ljava/lang/Object;ZZZ)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            astore 6 /* dDesc */
        start local 6 // jdk.nashorn.internal.runtime.PropertyDescriptor dDesc
         5: .line 754
            aload 6 /* dDesc */
            aload 3 /* pdesc */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.fillFrom:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            pop
         6: .line 755
            aload 6 /* dDesc */
            astore 3 /* pdesc */
        end local 6 // jdk.nashorn.internal.runtime.PropertyDescriptor dDesc
        end local 5 // jdk.nashorn.internal.objects.Global global
         7: .line 758
      StackMap locals: jdk.nashorn.internal.runtime.PropertyDescriptor int
      StackMap stack:
            aload 3 /* pdesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.type:()I
            istore 5 /* type */
        start local 5 // int type
         8: .line 759
            iload 5 /* type */
            iconst_1
            if_icmpne 11
         9: .line 760
            aload 0 /* this */
            aload 1 /* key */
            iload 4 /* propFlags */
            aload 3 /* pdesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getValue:()Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addOwnProperty:(Ljava/lang/Object;ILjava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            pop
        10: .line 761
            goto 18
      StackMap locals: int
      StackMap stack:
        11: iload 5 /* type */
            iconst_2
            if_icmpne 18
        12: .line 762
            aload 0 /* this */
            aload 1 /* key */
            iload 4 /* propFlags */
        13: .line 763
            aload 3 /* pdesc */
            ldc "get"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 14
            aload 3 /* pdesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getGetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            goto 15
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int int
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object int
        14: aconst_null
        15: .line 764
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int int
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object int jdk.nashorn.internal.runtime.ScriptFunction
            aload 3 /* pdesc */
            ldc "set"
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.has:(Ljava/lang/Object;)Z
            ifeq 16
            aload 3 /* pdesc */
            invokeinterface jdk.nashorn.internal.runtime.PropertyDescriptor.getSetter:()Ljdk/nashorn/internal/runtime/ScriptFunction;
            goto 17
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int int
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object int jdk.nashorn.internal.runtime.ScriptFunction
        16: aconst_null
        17: .line 762
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.PropertyDescriptor jdk.nashorn.internal.runtime.PropertyDescriptor int int
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object int jdk.nashorn.internal.runtime.ScriptFunction jdk.nashorn.internal.runtime.ScriptFunction
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addOwnProperty:(Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljdk/nashorn/internal/runtime/Property;
            pop
        18: .line 767
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.checkIntegerKey:(Ljava/lang/Object;)V
        19: .line 768
            return
        end local 5 // int type
        end local 4 // int propFlags
        end local 3 // jdk.nashorn.internal.runtime.PropertyDescriptor pdesc
        end local 2 // jdk.nashorn.internal.runtime.PropertyDescriptor propertyDesc
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   20     1           key  Ljava/lang/Object;
            0   20     2  propertyDesc  Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            1   20     3         pdesc  Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            2   20     4     propFlags  I
            4    7     5        global  Ljdk/nashorn/internal/objects/Global;
            5    7     6         dDesc  Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            8   20     5          type  I
    MethodParameters:
              Name  Flags
      key           final
      propertyDesc  final

  public final jdk.nashorn.internal.runtime.FindProperty findProperty(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // boolean deep
         0: .line 787
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* deep */
            iconst_0
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;ZZLjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/FindProperty;
            areturn
        end local 2 // boolean deep
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1   key  Ljava/lang/Object;
            0    1     2  deep  Z
    MethodParameters:
      Name  Flags
      key   final
      deep  final

  protected jdk.nashorn.internal.runtime.FindProperty findProperty(java.lang.Object, boolean, boolean, jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljava/lang/Object;ZZLjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/FindProperty;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // boolean deep
        start local 3 // boolean isScope
        start local 4 // jdk.nashorn.internal.runtime.ScriptObject start
         0: .line 810
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 5 /* selfMap */
        start local 5 // jdk.nashorn.internal.runtime.PropertyMap selfMap
         1: .line 811
            aload 5 /* selfMap */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            astore 6 /* property */
        start local 6 // jdk.nashorn.internal.runtime.Property property
         2: .line 813
            aload 6 /* property */
            ifnull 4
         3: .line 814
            new jdk.nashorn.internal.runtime.FindProperty
            dup
            aload 4 /* start */
            aload 0 /* this */
            aload 6 /* property */
            invokespecial jdk.nashorn.internal.runtime.FindProperty.<init>:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/Property;)V
            areturn
         4: .line 817
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap jdk.nashorn.internal.runtime.Property
      StackMap stack:
            iload 2 /* deep */
            ifeq 11
         5: .line 818
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 7 /* myProto */
        start local 7 // jdk.nashorn.internal.runtime.ScriptObject myProto
         6: .line 819
            aload 7 /* myProto */
            ifnonnull 7
            aconst_null
            goto 8
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
         7: aload 7 /* myProto */
            aload 1 /* key */
            iconst_1
            iload 3 /* isScope */
            aload 4 /* start */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;ZZLjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/FindProperty;
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.FindProperty
         8: astore 8 /* find */
        start local 8 // jdk.nashorn.internal.runtime.FindProperty find
         9: .line 822
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.checkSharedProtoMap:()V
        10: .line 823
            aload 8 /* find */
            areturn
        end local 8 // jdk.nashorn.internal.runtime.FindProperty find
        end local 7 // jdk.nashorn.internal.runtime.ScriptObject myProto
        11: .line 826
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // jdk.nashorn.internal.runtime.Property property
        end local 5 // jdk.nashorn.internal.runtime.PropertyMap selfMap
        end local 4 // jdk.nashorn.internal.runtime.ScriptObject start
        end local 3 // boolean isScope
        end local 2 // boolean deep
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   12     1       key  Ljava/lang/Object;
            0   12     2      deep  Z
            0   12     3   isScope  Z
            0   12     4     start  Ljdk/nashorn/internal/runtime/ScriptObject;
            1   12     5   selfMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            2   12     6  property  Ljdk/nashorn/internal/runtime/Property;
            6   11     7   myProto  Ljdk/nashorn/internal/runtime/ScriptObject;
            9   11     8      find  Ljdk/nashorn/internal/runtime/FindProperty;
    MethodParameters:
         Name  Flags
      key      final
      deep     final
      isScope  final
      start    final

  boolean hasProperty(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // boolean deep
         0: .line 837
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            ifnull 2
         1: .line 838
            iconst_1
            ireturn
         2: .line 841
      StackMap locals:
      StackMap stack:
            iload 2 /* deep */
            ifeq 6
         3: .line 842
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 3 /* myProto */
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject myProto
         4: .line 843
            aload 3 /* myProto */
            ifnull 6
         5: .line 844
            aload 3 /* myProto */
            aload 1 /* key */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasProperty:(Ljava/lang/Object;Z)Z
            ireturn
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject myProto
         6: .line 848
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // boolean deep
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    7     1      key  Ljava/lang/Object;
            0    7     2     deep  Z
            4    6     3  myProto  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
      Name  Flags
      key   final
      deep  final

  private java.lang.invoke.SwitchPoint findBuiltinSwitchPoint(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/invoke/SwitchPoint;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
         0: .line 852
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 2 /* myProto */
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject myProto
         1: goto 8
         2: .line 853
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 2 /* myProto */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            astore 3 /* prop */
        start local 3 // jdk.nashorn.internal.runtime.Property prop
         3: .line 854
            aload 3 /* prop */
            ifnull 7
         4: .line 855
            aload 3 /* prop */
            invokevirtual jdk.nashorn.internal.runtime.Property.getBuiltinSwitchPoint:()Ljava/lang/invoke/SwitchPoint;
            astore 4 /* sp */
        start local 4 // java.lang.invoke.SwitchPoint sp
         5: .line 856
            aload 4 /* sp */
            ifnull 7
            aload 4 /* sp */
            invokevirtual java.lang.invoke.SwitchPoint.hasBeenInvalidated:()Z
            ifne 7
         6: .line 857
            aload 4 /* sp */
            areturn
        end local 4 // java.lang.invoke.SwitchPoint sp
        end local 3 // jdk.nashorn.internal.runtime.Property prop
         7: .line 852
      StackMap locals:
      StackMap stack:
            aload 2 /* myProto */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 2 /* myProto */
      StackMap locals:
      StackMap stack:
         8: aload 2 /* myProto */
            ifnonnull 2
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject myProto
         9: .line 861
            aconst_null
            areturn
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   10     1      key  Ljava/lang/Object;
            1    9     2  myProto  Ljdk/nashorn/internal/runtime/ScriptObject;
            3    7     3     prop  Ljdk/nashorn/internal/runtime/Property;
            5    7     4       sp  Ljava/lang/invoke/SwitchPoint;
    MethodParameters:
      Name  Flags
      key   final

  public final jdk.nashorn.internal.runtime.Property addOwnProperty(java.lang.Object, int, jdk.nashorn.internal.runtime.ScriptFunction, jdk.nashorn.internal.runtime.ScriptFunction);
    descriptor: (Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljdk/nashorn/internal/runtime/Property;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // int propertyFlags
        start local 3 // jdk.nashorn.internal.runtime.ScriptFunction getter
        start local 4 // jdk.nashorn.internal.runtime.ScriptFunction setter
         0: .line 877
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* propertyFlags */
            aload 3 /* getter */
            aload 4 /* setter */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.newUserAccessors:(Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljdk/nashorn/internal/runtime/UserAccessorProperty;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addOwnProperty:(Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/Property;
            areturn
        end local 4 // jdk.nashorn.internal.runtime.ScriptFunction setter
        end local 3 // jdk.nashorn.internal.runtime.ScriptFunction getter
        end local 2 // int propertyFlags
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1            key  Ljava/lang/Object;
            0    1     2  propertyFlags  I
            0    1     3         getter  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    1     4         setter  Ljdk/nashorn/internal/runtime/ScriptFunction;
    MethodParameters:
               Name  Flags
      key            final
      propertyFlags  final
      getter         final
      setter         final

  public final jdk.nashorn.internal.runtime.Property addOwnProperty(java.lang.Object, int, java.lang.Object);
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // int propertyFlags
        start local 3 // java.lang.Object value
         0: .line 892
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* propertyFlags */
            aload 3 /* value */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addSpillProperty:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljdk/nashorn/internal/runtime/Property;
            areturn
        end local 3 // java.lang.Object value
        end local 2 // int propertyFlags
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1            key  Ljava/lang/Object;
            0    1     2  propertyFlags  I
            0    1     3          value  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      key            final
      propertyFlags  final
      value          final

  public final jdk.nashorn.internal.runtime.Property addOwnProperty(jdk.nashorn.internal.runtime.Property);
    descriptor: (Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/Property;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.Property newProperty
         0: .line 905
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 2 /* oldMap */
        start local 2 // jdk.nashorn.internal.runtime.PropertyMap oldMap
         1: .line 907
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 2 /* oldMap */
            aload 1 /* newProperty */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.addProperty:(Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 3 /* newMap */
        start local 3 // jdk.nashorn.internal.runtime.PropertyMap newMap
         2: .line 908
            aload 0 /* this */
            aload 2 /* oldMap */
            aload 3 /* newMap */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.compareAndSetMap:(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/PropertyMap;)Z
            ifne 7
         3: .line 909
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 2 /* oldMap */
         4: .line 910
            aload 2 /* oldMap */
            aload 1 /* newProperty */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            astore 4 /* oldProperty */
        start local 4 // jdk.nashorn.internal.runtime.Property oldProperty
         5: .line 912
            aload 4 /* oldProperty */
            ifnull 1
         6: .line 913
            aload 4 /* oldProperty */
            areturn
        end local 4 // jdk.nashorn.internal.runtime.Property oldProperty
         7: .line 916
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 1 /* newProperty */
            areturn
        end local 3 // jdk.nashorn.internal.runtime.PropertyMap newMap
        end local 2 // jdk.nashorn.internal.runtime.PropertyMap oldMap
        end local 1 // jdk.nashorn.internal.runtime.Property newProperty
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    8     1  newProperty  Ljdk/nashorn/internal/runtime/Property;
            1    8     2       oldMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            2    8     3       newMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            5    7     4  oldProperty  Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
             Name  Flags
      newProperty  final

  private void erasePropertyValue(jdk.nashorn.internal.runtime.Property);
    descriptor: (Ljdk/nashorn/internal/runtime/Property;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.Property property
         0: .line 924
            aload 1 /* property */
            ifnull 2
            aload 1 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.isAccessorProperty:()Z
            ifne 2
         1: .line 925
            aload 1 /* property */
            aload 0 /* this */
            aload 0 /* this */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.Property.setValue:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/Object;Z)V
         2: .line 927
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.nashorn.internal.runtime.Property property
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    3     1  property  Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
          Name  Flags
      property  final

  public final boolean deleteOwnProperty(jdk.nashorn.internal.runtime.Property);
    descriptor: (Ljdk/nashorn/internal/runtime/Property;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.Property property
         0: .line 937
            aload 0 /* this */
            aload 1 /* property */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.erasePropertyValue:(Ljdk/nashorn/internal/runtime/Property;)V
         1: .line 938
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 2 /* oldMap */
        start local 2 // jdk.nashorn.internal.runtime.PropertyMap oldMap
         2: .line 941
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 2 /* oldMap */
            aload 1 /* property */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.deleteProperty:(Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 3 /* newMap */
        start local 3 // jdk.nashorn.internal.runtime.PropertyMap newMap
         3: .line 943
            aload 3 /* newMap */
            ifnonnull 5
         4: .line 944
            iconst_0
            ireturn
         5: .line 947
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 0 /* this */
            aload 2 /* oldMap */
            aload 3 /* newMap */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.compareAndSetMap:(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/PropertyMap;)Z
            ifne 8
         6: .line 948
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 2 /* oldMap */
         7: .line 949
            goto 2
         8: .line 951
      StackMap locals:
      StackMap stack:
            aload 1 /* property */
            instanceof jdk.nashorn.internal.runtime.UserAccessorProperty
            ifeq 10
         9: .line 952
            aload 1 /* property */
            checkcast jdk.nashorn.internal.runtime.UserAccessorProperty
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aconst_null
            invokevirtual jdk.nashorn.internal.runtime.UserAccessorProperty.setAccessors:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/UserAccessorProperty$Accessors;)V
        10: .line 955
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.invalidateGlobalConstant:(Ljava/lang/Object;)V
        11: .line 956
            iconst_1
            ireturn
        end local 3 // jdk.nashorn.internal.runtime.PropertyMap newMap
        end local 2 // jdk.nashorn.internal.runtime.PropertyMap oldMap
        end local 1 // jdk.nashorn.internal.runtime.Property property
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   12     1  property  Ljdk/nashorn/internal/runtime/Property;
            2   12     2    oldMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            3   12     3    newMap  Ljdk/nashorn/internal/runtime/PropertyMap;
    MethodParameters:
          Name  Flags
      property  final

  protected final void initUserAccessors(java.lang.String, jdk.nashorn.internal.runtime.ScriptFunction, jdk.nashorn.internal.runtime.ScriptFunction);
    descriptor: (Ljava/lang/String;Ljdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.String key
        start local 2 // jdk.nashorn.internal.runtime.ScriptFunction getter
        start local 3 // jdk.nashorn.internal.runtime.ScriptFunction setter
         0: .line 973
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 4 /* map */
        start local 4 // jdk.nashorn.internal.runtime.PropertyMap map
         1: .line 974
            aload 4 /* map */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            astore 5 /* property */
        start local 5 // jdk.nashorn.internal.runtime.Property property
         2: .line 975
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 3
            aload 5 /* property */
            instanceof jdk.nashorn.internal.runtime.UserAccessorProperty
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 976
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap jdk.nashorn.internal.runtime.Property
      StackMap stack:
            aload 0 /* this */
            aload 5 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.getSlot:()I
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.ensureSpillSize:(I)Ljava/lang/Object;
            pop
         4: .line 977
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.objectSpill:[Ljava/lang/Object;
            aload 5 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.getSlot:()I
            new jdk.nashorn.internal.runtime.UserAccessorProperty$Accessors
            dup
            aload 2 /* getter */
            aload 3 /* setter */
            invokespecial jdk.nashorn.internal.runtime.UserAccessorProperty$Accessors.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            aastore
         5: .line 978
            return
        end local 5 // jdk.nashorn.internal.runtime.Property property
        end local 4 // jdk.nashorn.internal.runtime.PropertyMap map
        end local 3 // jdk.nashorn.internal.runtime.ScriptFunction setter
        end local 2 // jdk.nashorn.internal.runtime.ScriptFunction getter
        end local 1 // java.lang.String key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    6     1       key  Ljava/lang/String;
            0    6     2    getter  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    6     3    setter  Ljdk/nashorn/internal/runtime/ScriptFunction;
            1    6     4       map  Ljdk/nashorn/internal/runtime/PropertyMap;
            2    6     5  property  Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
        Name  Flags
      key     final
      getter  final
      setter  final

  public final jdk.nashorn.internal.runtime.Property modifyOwnProperty(jdk.nashorn.internal.runtime.Property, int, jdk.nashorn.internal.runtime.ScriptFunction, jdk.nashorn.internal.runtime.ScriptFunction);
    descriptor: (Ljdk/nashorn/internal/runtime/Property;ILjdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljdk/nashorn/internal/runtime/Property;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.Property oldProperty
        start local 2 // int propertyFlags
        start local 3 // jdk.nashorn.internal.runtime.ScriptFunction getter
        start local 4 // jdk.nashorn.internal.runtime.ScriptFunction setter
         0: .line 993
            aload 1 /* oldProperty */
            instanceof jdk.nashorn.internal.runtime.UserAccessorProperty
            ifeq 11
         1: .line 994
            aload 1 /* oldProperty */
            checkcast jdk.nashorn.internal.runtime.UserAccessorProperty
            astore 6 /* uc */
        start local 6 // jdk.nashorn.internal.runtime.UserAccessorProperty uc
         2: .line 995
            aload 6 /* uc */
            invokevirtual jdk.nashorn.internal.runtime.UserAccessorProperty.getSlot:()I
            istore 7 /* slot */
        start local 7 // int slot
         3: .line 997
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 4
            aload 6 /* uc */
            invokevirtual jdk.nashorn.internal.runtime.UserAccessorProperty.getLocalType:()Ljava/lang/Class;
            ldc Ljava/lang/Object;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 998
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.Property int jdk.nashorn.internal.runtime.ScriptFunction jdk.nashorn.internal.runtime.ScriptFunction top jdk.nashorn.internal.runtime.UserAccessorProperty int
      StackMap stack:
            aload 6 /* uc */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.UserAccessorProperty.getAccessors:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/UserAccessorProperty$Accessors;
            astore 8 /* gs */
        start local 8 // jdk.nashorn.internal.runtime.UserAccessorProperty$Accessors gs
         5: .line 999
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 6
            aload 8 /* gs */
            ifnonnull 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 1001
      StackMap locals: jdk.nashorn.internal.runtime.UserAccessorProperty$Accessors
      StackMap stack:
            aload 8 /* gs */
            aload 3 /* getter */
            aload 4 /* setter */
            invokevirtual jdk.nashorn.internal.runtime.UserAccessorProperty$Accessors.set:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 1002
            aload 6 /* uc */
            invokevirtual jdk.nashorn.internal.runtime.UserAccessorProperty.getFlags:()I
            iload 2 /* propertyFlags */
            sipush 4096
            ior
            if_icmpne 9
         8: .line 1003
            aload 1 /* oldProperty */
            areturn
         9: .line 1005
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.UserAccessorProperty
            dup
            aload 6 /* uc */
            invokevirtual jdk.nashorn.internal.runtime.UserAccessorProperty.getKey:()Ljava/lang/Object;
            iload 2 /* propertyFlags */
            iload 7 /* slot */
            invokespecial jdk.nashorn.internal.runtime.UserAccessorProperty.<init>:(Ljava/lang/Object;II)V
            astore 5 /* newProperty */
        end local 8 // jdk.nashorn.internal.runtime.UserAccessorProperty$Accessors gs
        end local 7 // int slot
        end local 6 // jdk.nashorn.internal.runtime.UserAccessorProperty uc
        start local 5 // jdk.nashorn.internal.runtime.Property newProperty
        10: .line 1006
            goto 13
        end local 5 // jdk.nashorn.internal.runtime.Property newProperty
        11: .line 1008
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.Property int jdk.nashorn.internal.runtime.ScriptFunction jdk.nashorn.internal.runtime.ScriptFunction
      StackMap stack:
            aload 0 /* this */
            aload 1 /* oldProperty */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.erasePropertyValue:(Ljdk/nashorn/internal/runtime/Property;)V
        12: .line 1009
            aload 0 /* this */
            aload 1 /* oldProperty */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            iload 2 /* propertyFlags */
            aload 3 /* getter */
            aload 4 /* setter */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.newUserAccessors:(Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljdk/nashorn/internal/runtime/UserAccessorProperty;
            astore 5 /* newProperty */
        start local 5 // jdk.nashorn.internal.runtime.Property newProperty
        13: .line 1012
      StackMap locals: jdk.nashorn.internal.runtime.Property
      StackMap stack:
            aload 0 /* this */
            aload 1 /* oldProperty */
            aload 5 /* newProperty */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.modifyOwnProperty:(Ljdk/nashorn/internal/runtime/Property;Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/Property;
            areturn
        end local 5 // jdk.nashorn.internal.runtime.Property newProperty
        end local 4 // jdk.nashorn.internal.runtime.ScriptFunction setter
        end local 3 // jdk.nashorn.internal.runtime.ScriptFunction getter
        end local 2 // int propertyFlags
        end local 1 // jdk.nashorn.internal.runtime.Property oldProperty
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   14     1    oldProperty  Ljdk/nashorn/internal/runtime/Property;
            0   14     2  propertyFlags  I
            0   14     3         getter  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0   14     4         setter  Ljdk/nashorn/internal/runtime/ScriptFunction;
           10   11     5    newProperty  Ljdk/nashorn/internal/runtime/Property;
           13   14     5    newProperty  Ljdk/nashorn/internal/runtime/Property;
            2   10     6             uc  Ljdk/nashorn/internal/runtime/UserAccessorProperty;
            3   10     7           slot  I
            5   10     8             gs  Ljdk/nashorn/internal/runtime/UserAccessorProperty$Accessors;
    MethodParameters:
               Name  Flags
      oldProperty    final
      propertyFlags  final
      getter         final
      setter         final

  public final jdk.nashorn.internal.runtime.Property modifyOwnProperty(jdk.nashorn.internal.runtime.Property, int);
    descriptor: (Ljdk/nashorn/internal/runtime/Property;I)Ljdk/nashorn/internal/runtime/Property;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.Property oldProperty
        start local 2 // int propertyFlags
         0: .line 1024
            aload 0 /* this */
            aload 1 /* oldProperty */
            aload 1 /* oldProperty */
            iload 2 /* propertyFlags */
            invokevirtual jdk.nashorn.internal.runtime.Property.setFlags:(I)Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.modifyOwnProperty:(Ljdk/nashorn/internal/runtime/Property;Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/Property;
            areturn
        end local 2 // int propertyFlags
        end local 1 // jdk.nashorn.internal.runtime.Property oldProperty
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1    oldProperty  Ljdk/nashorn/internal/runtime/Property;
            0    1     2  propertyFlags  I
    MethodParameters:
               Name  Flags
      oldProperty    final
      propertyFlags  final

  private jdk.nashorn.internal.runtime.Property modifyOwnProperty(jdk.nashorn.internal.runtime.Property, jdk.nashorn.internal.runtime.Property);
    descriptor: (Ljdk/nashorn/internal/runtime/Property;Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/Property;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.Property oldProperty
        start local 2 // jdk.nashorn.internal.runtime.Property newProperty
         0: .line 1036
            aload 1 /* oldProperty */
            aload 2 /* newProperty */
            if_acmpne 2
         1: .line 1037
            aload 2 /* newProperty */
            areturn
         2: .line 1040
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 3
            aload 2 /* newProperty */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            aload 1 /* oldProperty */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            ldc "replacing property with different key"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 1042
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 3 /* oldMap */
        start local 3 // jdk.nashorn.internal.runtime.PropertyMap oldMap
         4: .line 1045
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 3 /* oldMap */
            aload 1 /* oldProperty */
            aload 2 /* newProperty */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.replaceProperty:(Ljdk/nashorn/internal/runtime/Property;Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 4 /* newMap */
        start local 4 // jdk.nashorn.internal.runtime.PropertyMap newMap
         5: .line 1047
            aload 0 /* this */
            aload 3 /* oldMap */
            aload 4 /* newMap */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.compareAndSetMap:(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/PropertyMap;)Z
            ifne 10
         6: .line 1048
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 3 /* oldMap */
         7: .line 1049
            aload 3 /* oldMap */
            aload 1 /* oldProperty */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            astore 5 /* oldPropertyLookup */
        start local 5 // jdk.nashorn.internal.runtime.Property oldPropertyLookup
         8: .line 1051
            aload 5 /* oldPropertyLookup */
            ifnull 4
            aload 5 /* oldPropertyLookup */
            aload 2 /* newProperty */
            invokevirtual jdk.nashorn.internal.runtime.Property.equals:(Ljava/lang/Object;)Z
            ifeq 4
         9: .line 1052
            aload 5 /* oldPropertyLookup */
            areturn
        end local 5 // jdk.nashorn.internal.runtime.Property oldPropertyLookup
        10: .line 1055
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 2 /* newProperty */
            areturn
        end local 4 // jdk.nashorn.internal.runtime.PropertyMap newMap
        end local 3 // jdk.nashorn.internal.runtime.PropertyMap oldMap
        end local 2 // jdk.nashorn.internal.runtime.Property newProperty
        end local 1 // jdk.nashorn.internal.runtime.Property oldProperty
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   11     1        oldProperty  Ljdk/nashorn/internal/runtime/Property;
            0   11     2        newProperty  Ljdk/nashorn/internal/runtime/Property;
            4   11     3             oldMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            5   11     4             newMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            8   10     5  oldPropertyLookup  Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
             Name  Flags
      oldProperty  final
      newProperty  final

  public final void setUserAccessors(java.lang.Object, jdk.nashorn.internal.runtime.ScriptFunction, jdk.nashorn.internal.runtime.ScriptFunction);
    descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // jdk.nashorn.internal.runtime.ScriptFunction getter
        start local 3 // jdk.nashorn.internal.runtime.ScriptFunction setter
         0: .line 1068
            aload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* realKey */
        start local 4 // java.lang.Object realKey
         1: .line 1069
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 4 /* realKey */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            astore 5 /* oldProperty */
        start local 5 // jdk.nashorn.internal.runtime.Property oldProperty
         2: .line 1070
            aload 5 /* oldProperty */
            instanceof jdk.nashorn.internal.runtime.UserAccessorProperty
            ifeq 5
         3: .line 1071
            aload 0 /* this */
            aload 5 /* oldProperty */
            aload 5 /* oldProperty */
            invokevirtual jdk.nashorn.internal.runtime.Property.getFlags:()I
            aload 2 /* getter */
            aload 3 /* setter */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.modifyOwnProperty:(Ljdk/nashorn/internal/runtime/Property;ILjdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljdk/nashorn/internal/runtime/Property;
            pop
         4: .line 1072
            goto 8
         5: .line 1073
      StackMap locals: java.lang.Object jdk.nashorn.internal.runtime.Property
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* realKey */
            aload 5 /* oldProperty */
            ifnull 6
            aload 5 /* oldProperty */
            invokevirtual jdk.nashorn.internal.runtime.Property.getFlags:()I
            goto 7
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.ScriptFunction jdk.nashorn.internal.runtime.ScriptFunction java.lang.Object jdk.nashorn.internal.runtime.Property
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.ScriptObject java.lang.Object
         6: iconst_0
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object jdk.nashorn.internal.runtime.ScriptFunction jdk.nashorn.internal.runtime.ScriptFunction java.lang.Object jdk.nashorn.internal.runtime.Property
      StackMap stack: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.ScriptObject java.lang.Object int
         7: aload 2 /* getter */
            aload 3 /* setter */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.newUserAccessors:(Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljdk/nashorn/internal/runtime/UserAccessorProperty;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addOwnProperty:(Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/Property;
            pop
         8: .line 1075
      StackMap locals:
      StackMap stack:
            return
        end local 5 // jdk.nashorn.internal.runtime.Property oldProperty
        end local 4 // java.lang.Object realKey
        end local 3 // jdk.nashorn.internal.runtime.ScriptFunction setter
        end local 2 // jdk.nashorn.internal.runtime.ScriptFunction getter
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    9     1          key  Ljava/lang/Object;
            0    9     2       getter  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    9     3       setter  Ljdk/nashorn/internal/runtime/ScriptFunction;
            1    9     4      realKey  Ljava/lang/Object;
            2    9     5  oldProperty  Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
        Name  Flags
      key     final
      getter  final
      setter  final

  private static int getIntValue(jdk.nashorn.internal.runtime.FindProperty, int);
    descriptor: (Ljdk/nashorn/internal/runtime/FindProperty;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.FindProperty find
        start local 1 // int programPoint
         0: .line 1078
            aload 0 /* find */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            iload 1 /* programPoint */
            aconst_null
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getGetter:(Ljava/lang/Class;ILjdk/dynalink/linker/LinkRequest;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* getter */
        start local 2 // java.lang.invoke.MethodHandle getter
         1: .line 1079
            aload 2 /* getter */
            ifnull 8
         2: .line 1081
            aload 2 /* getter */
            aload 0 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getGetterReceiver:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Ljava/lang/Object;)I
         3: ireturn
         4: .line 1082
      StackMap locals: jdk.nashorn.internal.runtime.FindProperty int java.lang.invoke.MethodHandle
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 1083
            aload 3 /* e */
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 1084
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         7: .line 1085
            new java.lang.RuntimeException
            dup
            aload 3 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable e
         8: .line 1089
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.invoke.MethodHandle getter
        end local 1 // int programPoint
        end local 0 // jdk.nashorn.internal.runtime.FindProperty find
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          find  Ljdk/nashorn/internal/runtime/FindProperty;
            0    9     1  programPoint  I
            1    9     2        getter  Ljava/lang/invoke/MethodHandle;
            5    6     3             e  Ljava/lang/Throwable;
            7    8     3             e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Error
           2     3       4  Class java.lang.RuntimeException
           2     3       6  Class java.lang.Throwable
    MethodParameters:
              Name  Flags
      find          final
      programPoint  final

  private static double getDoubleValue(jdk.nashorn.internal.runtime.FindProperty, int);
    descriptor: (Ljdk/nashorn/internal/runtime/FindProperty;I)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.FindProperty find
        start local 1 // int programPoint
         0: .line 1093
            aload 0 /* find */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iload 1 /* programPoint */
            aconst_null
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getGetter:(Ljava/lang/Class;ILjdk/dynalink/linker/LinkRequest;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* getter */
        start local 2 // java.lang.invoke.MethodHandle getter
         1: .line 1094
            aload 2 /* getter */
            ifnull 8
         2: .line 1096
            aload 2 /* getter */
            aload 0 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getGetterReceiver:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Ljava/lang/Object;)D
         3: dreturn
         4: .line 1097
      StackMap locals: jdk.nashorn.internal.runtime.FindProperty int java.lang.invoke.MethodHandle
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 1098
            aload 3 /* e */
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 1099
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         7: .line 1100
            new java.lang.RuntimeException
            dup
            aload 3 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable e
         8: .line 1104
      StackMap locals:
      StackMap stack:
            ldc NaN
            dreturn
        end local 2 // java.lang.invoke.MethodHandle getter
        end local 1 // int programPoint
        end local 0 // jdk.nashorn.internal.runtime.FindProperty find
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          find  Ljdk/nashorn/internal/runtime/FindProperty;
            0    9     1  programPoint  I
            1    9     2        getter  Ljava/lang/invoke/MethodHandle;
            5    6     3             e  Ljava/lang/Throwable;
            7    8     3             e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Error
           2     3       4  Class java.lang.RuntimeException
           2     3       6  Class java.lang.Throwable
    MethodParameters:
              Name  Flags
      find          final
      programPoint  final

  protected static java.lang.invoke.MethodHandle getCallMethodHandle(jdk.nashorn.internal.runtime.FindProperty, java.lang.invoke.MethodType, java.lang.String);
    descriptor: (Ljdk/nashorn/internal/runtime/FindProperty;Ljava/lang/invoke/MethodType;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.FindProperty find
        start local 1 // java.lang.invoke.MethodType type
        start local 2 // java.lang.String bindName
         0: .line 1117
            aload 0 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getObjectValue:()Ljava/lang/Object;
            aload 1 /* type */
            aload 2 /* bindName */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.getCallMethodHandle:(Ljava/lang/Object;Ljava/lang/invoke/MethodType;Ljava/lang/String;)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.FindProperty find
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      find  Ljdk/nashorn/internal/runtime/FindProperty;
            0    1     1      type  Ljava/lang/invoke/MethodType;
            0    1     2  bindName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      find      final
      type      final
      bindName  final

  private static java.lang.invoke.MethodHandle getCallMethodHandle(java.lang.Object, java.lang.invoke.MethodType, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/invoke/MethodType;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.Object value
        start local 1 // java.lang.invoke.MethodType type
        start local 2 // java.lang.String bindName
         0: .line 1130
            aload 0 /* value */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifeq 1
            aload 0 /* value */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            aload 1 /* type */
            aload 2 /* bindName */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.getCallMethodHandle:(Ljava/lang/invoke/MethodType;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandle
         2: areturn
        end local 2 // java.lang.String bindName
        end local 1 // java.lang.invoke.MethodType type
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0     value  Ljava/lang/Object;
            0    3     1      type  Ljava/lang/invoke/MethodType;
            0    3     2  bindName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      value     final
      type      final
      bindName  final

  public final java.lang.Object getWithProperty(jdk.nashorn.internal.runtime.Property);
    descriptor: (Ljdk/nashorn/internal/runtime/Property;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.Property property
         0: .line 1141
            new jdk.nashorn.internal.runtime.FindProperty
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* property */
            invokespecial jdk.nashorn.internal.runtime.FindProperty.<init>:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/Property;)V
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getObjectValue:()Ljava/lang/Object;
            areturn
        end local 1 // jdk.nashorn.internal.runtime.Property property
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1  property  Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
          Name  Flags
      property  final

  public final jdk.nashorn.internal.runtime.Property getProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/runtime/Property;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.String key
         0: .line 1152
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            areturn
        end local 1 // java.lang.String key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   final

  public java.lang.Object getArgument(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int key
         0: .line 1165
            aload 0 /* this */
            iload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(I)Ljava/lang/Object;
            areturn
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1   key  I
    MethodParameters:
      Name  Flags
      key   final

  public void setArgument(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int key
        start local 2 // java.lang.Object value
         0: .line 1177
            aload 0 /* this */
            iload 1 /* key */
            aload 2 /* value */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.set:(ILjava/lang/Object;I)V
         1: .line 1178
            return
        end local 2 // java.lang.Object value
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    2     1    key  I
            0    2     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      key    final
      value  final

  protected jdk.nashorn.internal.runtime.Context getContext();
    descriptor: ()Ljdk/nashorn/internal/runtime/Context;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1185
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic jdk.nashorn.internal.runtime.Context.fromClass:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/Context;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

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

  public final void setMap(jdk.nashorn.internal.runtime.PropertyMap);
    descriptor: (Ljdk/nashorn/internal/runtime/PropertyMap;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.PropertyMap map
         0: .line 1201
            aload 0 /* this */
            aload 1 /* map */
            putfield jdk.nashorn.internal.runtime.ScriptObject.map:Ljdk/nashorn/internal/runtime/PropertyMap;
         1: .line 1202
            return
        end local 1 // jdk.nashorn.internal.runtime.PropertyMap map
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    2     1   map  Ljdk/nashorn/internal/runtime/PropertyMap;
    MethodParameters:
      Name  Flags
      map   final

  protected final boolean compareAndSetMap(jdk.nashorn.internal.runtime.PropertyMap, jdk.nashorn.internal.runtime.PropertyMap);
    descriptor: (Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/PropertyMap;)Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.PropertyMap oldMap
        start local 2 // jdk.nashorn.internal.runtime.PropertyMap newMap
         0: .line 1211
            aload 1 /* oldMap */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.map:Ljdk/nashorn/internal/runtime/PropertyMap;
            if_acmpne 3
         1: .line 1212
            aload 0 /* this */
            aload 2 /* newMap */
            putfield jdk.nashorn.internal.runtime.ScriptObject.map:Ljdk/nashorn/internal/runtime/PropertyMap;
         2: .line 1213
            iconst_1
            ireturn
         3: .line 1215
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // jdk.nashorn.internal.runtime.PropertyMap newMap
        end local 1 // jdk.nashorn.internal.runtime.PropertyMap oldMap
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    4     1  oldMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            0    4     2  newMap  Ljdk/nashorn/internal/runtime/PropertyMap;
    MethodParameters:
        Name  Flags
      oldMap  final
      newMap  final

  public final jdk.nashorn.internal.runtime.ScriptObject getProto();
    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.ScriptObject this
         0: .line 1223
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.proto:Ljdk/nashorn/internal/runtime/ScriptObject;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public final jdk.nashorn.internal.runtime.ScriptObject getProto(int);
    descriptor: (I)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int n
         0: .line 1232
            aload 0 /* this */
            astore 2 /* p */
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject p
         1: .line 1233
            iload 1 /* n */
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 1234
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject int
      StackMap stack:
            aload 2 /* p */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 2 /* p */
         4: .line 1233
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            ifgt 3
        end local 3 // int i
         6: .line 1236
            aload 2 /* p */
            areturn
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject p
        end local 1 // int n
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    7     1     n  I
            1    7     2     p  Ljdk/nashorn/internal/runtime/ScriptObject;
            2    6     3     i  I
    MethodParameters:
      Name  Flags
      n     final

  public final void setProto(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject newProto
         0: .line 1244
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.proto:Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 2 /* oldProto */
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject oldProto
         1: .line 1246
            aload 2 /* oldProto */
            aload 1 /* newProto */
            if_acmpeq 5
         2: .line 1247
            aload 0 /* this */
            aload 1 /* newProto */
            putfield jdk.nashorn.internal.runtime.ScriptObject.proto:Ljdk/nashorn/internal/runtime/ScriptObject;
         3: .line 1250
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.protoChanged:()V
         4: .line 1252
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* newProto */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.changeProto:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setMap:(Ljdk/nashorn/internal/runtime/PropertyMap;)V
         5: .line 1254
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            return
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject oldProto
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject newProto
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    6     1  newProto  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    6     2  oldProto  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
          Name  Flags
      newProto  final

  public void setInitialProto(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject initialProto
         0: .line 1265
            aload 0 /* this */
            aload 1 /* initialProto */
            putfield jdk.nashorn.internal.runtime.ScriptObject.proto:Ljdk/nashorn/internal/runtime/ScriptObject;
         1: .line 1266
            return
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject initialProto
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    2     1  initialProto  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
              Name  Flags
      initialProto  final

  public static void setGlobalObjectProto(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject obj
         0: .line 1273
            aload 0 /* obj */
            invokestatic jdk.nashorn.internal.objects.Global.objectPrototype:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setInitialProto:(Ljdk/nashorn/internal/runtime/ScriptObject;)V
         1: .line 1274
            return
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   obj  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
      Name  Flags
      obj   final

  public final void setPrototypeOf(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object newProto
         0: .line 1284
            aload 1 /* newProto */
            ifnull 1
            aload 1 /* newProto */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 13
         1: .line 1285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isExtensible:()Z
            ifne 5
         2: .line 1288
            aload 1 /* newProto */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            if_acmpne 4
         3: .line 1289
            return
         4: .line 1291
      StackMap locals:
      StackMap stack:
            ldc "__proto__.set.non.extensible"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            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
         5: .line 1295
      StackMap locals:
      StackMap stack:
            aload 1 /* newProto */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            astore 2 /* p */
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject p
         6: .line 1296
            goto 10
         7: .line 1297
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 2 /* p */
            aload 0 /* this */
            if_acmpne 9
         8: .line 1298
            ldc "circular.__proto__.set"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            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
         9: .line 1300
      StackMap locals:
      StackMap stack:
            aload 2 /* p */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 2 /* p */
        10: .line 1296
      StackMap locals:
      StackMap stack:
            aload 2 /* p */
            ifnonnull 7
        11: .line 1302
            aload 0 /* this */
            aload 1 /* newProto */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setProto:(Ljdk/nashorn/internal/runtime/ScriptObject;)V
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject p
        12: .line 1303
            goto 14
        13: .line 1304
      StackMap locals:
      StackMap stack:
            ldc "cant.set.proto.to.non.object"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* newProto */
            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
        14: .line 1306
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object newProto
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   15     1  newProto  Ljava/lang/Object;
            6   12     2         p  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
          Name  Flags
      newProto  final

  public final void setProtoFromLiteral(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.ScriptObject this
        start local 1 // java.lang.Object newProto
         0: .line 1316
            aload 1 /* newProto */
            ifnull 1
            aload 1 /* newProto */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 3
         1: .line 1317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newProto */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setPrototypeOf:(Ljava/lang/Object;)V
         2: .line 1318
            goto 4
         3: .line 1324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.objects.Global.objectPrototype:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setPrototypeOf:(Ljava/lang/Object;)V
         4: .line 1326
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object newProto
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    5     1  newProto  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      newProto  final

  public java.lang.String[] getAllKeys();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1335
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* keys */
        start local 1 // java.util.Set keys
         1: .line 1336
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* nonEnumerable */
        start local 2 // java.util.Set nonEnumerable
         2: .line 1337
            aload 0 /* this */
            astore 3 /* self */
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject self
         3: goto 6
         4: .line 1338
      StackMap locals: java.util.Set java.util.Set jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 1 /* keys */
            aload 3 /* self */
            ldc Ljava/lang/String;
            iconst_1
            aload 2 /* nonEnumerable */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getOwnKeys:(Ljava/lang/Class;ZLjava/util/Set;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 1337
            aload 3 /* self */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 3 /* self */
      StackMap locals:
      StackMap stack:
         6: aload 3 /* self */
            ifnonnull 4
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject self
         7: .line 1340
            aload 1 /* keys */
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 2 // java.util.Set nonEnumerable
        end local 1 // java.util.Set keys
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    8     1           keys  Ljava/util/Set<Ljava/lang/String;>;
            2    8     2  nonEnumerable  Ljava/util/Set<Ljava/lang/String;>;
            3    7     3           self  Ljdk/nashorn/internal/runtime/ScriptObject;

  public final java.lang.String[] getOwnKeys(boolean);
    descriptor: (Z)[Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // boolean all
         0: .line 1350
            aload 0 /* this */
            ldc Ljava/lang/String;
            iload 1 /* all */
            aconst_null
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getOwnKeys:(Ljava/lang/Class;ZLjava/util/Set;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // boolean all
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1   all  Z
    MethodParameters:
      Name  Flags
      all   final

  public final jdk.nashorn.internal.runtime.Symbol[] getOwnSymbols(boolean);
    descriptor: (Z)[Ljdk/nashorn/internal/runtime/Symbol;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // boolean all
         0: .line 1360
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/runtime/Symbol;
            iload 1 /* all */
            aconst_null
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getOwnKeys:(Ljava/lang/Class;ZLjava/util/Set;)[Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.Symbol[]
            areturn
        end local 1 // boolean all
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1   all  Z
    MethodParameters:
      Name  Flags
      all   final

  protected <T> T[] getOwnKeys(java.lang.Class<T>, boolean, java.util.Set<T>);
    descriptor: (Ljava/lang/Class;ZLjava/util/Set;)[Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=13, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Class type
        start local 2 // boolean all
        start local 3 // java.util.Set nonEnumerable
         0: .line 1375
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* keys */
        start local 4 // java.util.List keys
         1: .line 1376
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 5 /* selfMap */
        start local 5 // jdk.nashorn.internal.runtime.PropertyMap selfMap
         2: .line 1378
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 6 /* array */
        start local 6 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         3: .line 1380
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 8
         4: .line 1381
            aload 6 /* array */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.indexIterator:()Ljava/util/Iterator;
            astore 7 /* iter */
        start local 7 // java.util.Iterator iter
         5: goto 7
         6: .line 1382
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Class int java.util.Set java.util.List jdk.nashorn.internal.runtime.PropertyMap jdk.nashorn.internal.runtime.arrays.ArrayData java.util.Iterator
      StackMap stack:
            aload 4 /* keys */
            aload 7 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            l2d
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1381
      StackMap locals:
      StackMap stack:
            aload 7 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 7 // java.util.Iterator iter
         8: .line 1386
      StackMap locals:
      StackMap stack:
            aload 5 /* selfMap */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.getProperties:()[Ljdk/nashorn/internal/runtime/Property;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 24
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Class int java.util.Set java.util.List jdk.nashorn.internal.runtime.PropertyMap jdk.nashorn.internal.runtime.arrays.ArrayData top int int jdk.nashorn.internal.runtime.Property[]
      StackMap stack:
         9: aload 10
            iload 8
            aaload
            astore 7 /* property */
        start local 7 // jdk.nashorn.internal.runtime.Property property
        10: .line 1387
            aload 7 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.isEnumerable:()Z
            istore 11 /* enumerable */
        start local 11 // boolean enumerable
        11: .line 1388
            aload 7 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            astore 12 /* key */
        start local 12 // java.lang.Object key
        12: .line 1389
            aload 1 /* type */
            aload 12 /* key */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 14
        13: .line 1390
            goto 23
        14: .line 1392
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Class int java.util.Set java.util.List jdk.nashorn.internal.runtime.PropertyMap jdk.nashorn.internal.runtime.arrays.ArrayData jdk.nashorn.internal.runtime.Property int int jdk.nashorn.internal.runtime.Property[] int java.lang.Object
      StackMap stack:
            iload 2 /* all */
            ifeq 17
        15: .line 1393
            aload 4 /* keys */
            aload 12 /* key */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1394
            goto 23
      StackMap locals:
      StackMap stack:
        17: iload 11 /* enumerable */
            ifeq 21
        18: .line 1397
            aload 3 /* nonEnumerable */
            ifnull 19
            aload 3 /* nonEnumerable */
            aload 12 /* key */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 23
        19: .line 1398
      StackMap locals:
      StackMap stack:
            aload 4 /* keys */
            aload 12 /* key */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        20: .line 1400
            goto 23
        21: .line 1402
      StackMap locals:
      StackMap stack:
            aload 3 /* nonEnumerable */
            ifnull 23
        22: .line 1403
            aload 3 /* nonEnumerable */
            aload 12 /* key */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.lang.Object key
        end local 11 // boolean enumerable
        end local 7 // jdk.nashorn.internal.runtime.Property property
        23: .line 1386
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Class int java.util.Set java.util.List jdk.nashorn.internal.runtime.PropertyMap jdk.nashorn.internal.runtime.arrays.ArrayData top int int jdk.nashorn.internal.runtime.Property[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        24: iload 8
            iload 9
            if_icmplt 9
        25: .line 1408
            aload 4 /* keys */
            aload 1 /* type */
            aload 4 /* keys */
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Object[]
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 6 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 5 // jdk.nashorn.internal.runtime.PropertyMap selfMap
        end local 4 // java.util.List keys
        end local 3 // java.util.Set nonEnumerable
        end local 2 // boolean all
        end local 1 // java.lang.Class type
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   26     1           type  Ljava/lang/Class<TT;>;
            0   26     2            all  Z
            0   26     3  nonEnumerable  Ljava/util/Set<TT;>;
            1   26     4           keys  Ljava/util/List<Ljava/lang/Object;>;
            2   26     5        selfMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            3   26     6          array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            5    8     7           iter  Ljava/util/Iterator<Ljava/lang/Long;>;
           10   23     7       property  Ljdk/nashorn/internal/runtime/Property;
           11   23    11     enumerable  Z
           12   23    12            key  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;ZLjava/util/Set<TT;>;)[TT;
    MethodParameters:
               Name  Flags
      type           final
      all            final
      nonEnumerable  final

  public boolean hasArrayEntries();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1418
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.length:()J
            lconst_0
            lcmp
            ifgt 1
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.containsArrayKeys:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  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.ScriptObject this
         0: .line 1427
            ldc "Object"
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public java.lang.Object getLength();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1437
            aload 0 /* this */
            ldc "length"
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public java.lang.String safeToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1446
            new java.lang.StringBuilder
            dup
            ldc "[object "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public  getDefaultValue(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Class typeHint
         0: .line 1466
            invokestatic jdk.nashorn.internal.runtime.Context.getGlobal:()Ljdk/nashorn/internal/objects/Global;
            aload 0 /* this */
            aload 1 /* typeHint */
            invokevirtual jdk.nashorn.internal.objects.Global.getDefaultValue:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class typeHint
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1  typeHint  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      typeHint  final

  public boolean isInstance(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject instance
         0: .line 1478
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject instance
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1  instance  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
          Name  Flags
      instance  final

  public jdk.nashorn.internal.runtime.ScriptObject preventExtensions();
    descriptor: ()Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1487
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 1 /* oldMap */
        start local 1 // jdk.nashorn.internal.runtime.PropertyMap oldMap
         1: .line 1488
            goto 3
         2: .line 1489
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 1 /* oldMap */
         3: .line 1488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* oldMap */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.preventExtensions:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.compareAndSetMap:(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/PropertyMap;)Z
            ifeq 2
         4: .line 1493
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 2 /* array */
        start local 2 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         5: .line 1494
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 6
            aload 2 /* array */
            ifnonnull 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 1495
      StackMap locals: jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 0 /* this */
            aload 2 /* array */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayData.preventExtension:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         7: .line 1496
            aload 0 /* this */
            areturn
        end local 2 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 1 // jdk.nashorn.internal.runtime.PropertyMap oldMap
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    8     1  oldMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            5    8     2   array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;

  public static boolean isArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 1507
            aload 0 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 1
            aload 0 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isArray:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   final

  public final boolean isArray();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1515
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
            iconst_1
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public final void setIsArray();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1522
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
            iconst_1
            ior
            putfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
         1: .line 1523
            return
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public final boolean isArguments();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1530
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
            iconst_2
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public final void setIsArguments();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1537
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
            iconst_2
            ior
            putfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
         1: .line 1538
            return
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public boolean isLengthNotWritable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1546
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
            iconst_4
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public void setIsLengthNotWritable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1553
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
            iconst_4
            ior
            putfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
         1: .line 1554
            return
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public final jdk.nashorn.internal.runtime.arrays.ArrayData getArray(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Class elementType
         0: .line 1563
            aload 1 /* elementType */
            ifnonnull 2
         1: .line 1564
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.arrayData:Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            areturn
         2: .line 1566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.arrayData:Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            aload 1 /* elementType */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.convert:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 2 /* newArrayData */
        start local 2 // jdk.nashorn.internal.runtime.arrays.ArrayData newArrayData
         3: .line 1567
            aload 2 /* newArrayData */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.arrayData:Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            if_acmpeq 5
         4: .line 1568
            aload 0 /* this */
            aload 2 /* newArrayData */
            putfield jdk.nashorn.internal.runtime.ScriptObject.arrayData:Ljdk/nashorn/internal/runtime/arrays/ArrayData;
         5: .line 1570
      StackMap locals: jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 2 /* newArrayData */
            areturn
        end local 2 // jdk.nashorn.internal.runtime.arrays.ArrayData newArrayData
        end local 1 // java.lang.Class elementType
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    6     1   elementType  Ljava/lang/Class<*>;
            3    6     2  newArrayData  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    Signature: (Ljava/lang/Class<*>;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
             Name  Flags
      elementType  final

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

  public final void setArray(jdk.nashorn.internal.runtime.arrays.ArrayData);
    descriptor: (Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.arrays.ArrayData arrayData
         0: .line 1586
            aload 0 /* this */
            aload 1 /* arrayData */
            putfield jdk.nashorn.internal.runtime.ScriptObject.arrayData:Ljdk/nashorn/internal/runtime/arrays/ArrayData;
         1: .line 1587
            return
        end local 1 // jdk.nashorn.internal.runtime.arrays.ArrayData arrayData
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    2     1  arrayData  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
           Name  Flags
      arrayData  final

  public boolean isExtensible();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1594
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.isExtensible:()Z
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public jdk.nashorn.internal.runtime.ScriptObject seal();
    descriptor: ()Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1602
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 1 /* oldMap */
        start local 1 // jdk.nashorn.internal.runtime.PropertyMap oldMap
         1: .line 1605
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.seal:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 2 /* newMap */
        start local 2 // jdk.nashorn.internal.runtime.PropertyMap newMap
         2: .line 1607
            aload 0 /* this */
            aload 1 /* oldMap */
            aload 2 /* newMap */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.compareAndSetMap:(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/PropertyMap;)Z
            ifne 5
         3: .line 1608
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 1 /* oldMap */
         4: .line 1609
            goto 1
         5: .line 1610
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayData.seal:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         6: .line 1611
            aload 0 /* this */
            areturn
        end local 2 // jdk.nashorn.internal.runtime.PropertyMap newMap
        end local 1 // jdk.nashorn.internal.runtime.PropertyMap oldMap
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    7     1  oldMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            2    7     2  newMap  Ljdk/nashorn/internal/runtime/PropertyMap;

  public boolean isSealed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1621
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.isSealed:()Z
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public jdk.nashorn.internal.runtime.ScriptObject freeze();
    descriptor: ()Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1629
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 1 /* oldMap */
        start local 1 // jdk.nashorn.internal.runtime.PropertyMap oldMap
         1: .line 1632
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.freeze:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 2 /* newMap */
        start local 2 // jdk.nashorn.internal.runtime.PropertyMap newMap
         2: .line 1634
            aload 0 /* this */
            aload 1 /* oldMap */
            aload 2 /* newMap */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.compareAndSetMap:(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/PropertyMap;)Z
            ifne 5
         3: .line 1635
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 1 /* oldMap */
         4: .line 1636
            goto 1
         5: .line 1637
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayData.freeze:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         6: .line 1638
            aload 0 /* this */
            areturn
        end local 2 // jdk.nashorn.internal.runtime.PropertyMap newMap
        end local 1 // jdk.nashorn.internal.runtime.PropertyMap oldMap
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    7     1  oldMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            2    7     2  newMap  Ljdk/nashorn/internal/runtime/PropertyMap;

  public boolean isFrozen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1648
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.isFrozen:()Z
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public boolean isScope();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1656
            iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public final void setIsBuiltin();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1663
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
            bipush 8
            ior
            putfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
         1: .line 1664
            return
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public final boolean isBuiltin();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1671
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
            bipush 8
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public final void setIsInternal();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1678
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
            bipush 16
            ior
            putfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
         1: .line 1679
            return
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public final boolean isInternal();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1686
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.flags:I
            bipush 16
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public void clear(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // boolean strict
         0: .line 1696
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.propertyIterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: .line 1697
            goto 3
         2: .line 1698
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            iload 1 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.delete:(Ljava/lang/Object;Z)Z
            pop
         3: .line 1697
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         4: .line 1700
            return
        end local 2 // java.util.Iterator iter
        end local 1 // boolean strict
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    5     1  strict  Z
            1    5     2    iter  Ljava/util/Iterator<Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      strict  final

  public boolean containsKey(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
         0: .line 1710
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.has:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean containsValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object value
         0: .line 1721
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.valueIterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: .line 1722
            goto 4
         2: .line 1723
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            aload 1 /* value */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1724
            iconst_1
            ireturn
         4: .line 1722
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 1727
            iconst_0
            ireturn
        end local 2 // java.util.Iterator iter
        end local 1 // java.lang.Object value
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    6     1  value  Ljava/lang/Object;
            1    6     2   iter  Ljava/util/Iterator<Ljava/lang/Object;>;
    MethodParameters:
       Name  Flags
      value  final

  public java.util.Set<java.util.Map$Entry<java.lang.Object, java.lang.Object>> entrySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1738
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.propertyIterator:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         1: .line 1739
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* entries */
        start local 2 // java.util.Set entries
         2: .line 1740
            goto 5
         3: .line 1741
      StackMap locals: java.util.Iterator java.util.Set
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* key */
        start local 3 // java.lang.Object key
         4: .line 1742
            aload 2 /* entries */
            new java.util.AbstractMap$SimpleImmutableEntry
            dup
            aload 3 /* key */
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokespecial java.util.AbstractMap$SimpleImmutableEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Object key
         5: .line 1740
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 1744
            aload 2 /* entries */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 2 // java.util.Set entries
        end local 1 // java.util.Iterator iter
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    7     1     iter  Ljava/util/Iterator<Ljava/lang/String;>;
            2    7     2  entries  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/Object;Ljava/lang/Object;>;>;
            4    5     3      key  Ljava/lang/Object;
    Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/Object;Ljava/lang/Object;>;>;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1754
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.propertyIterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  public java.util.Set<java.lang.Object> keySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1765
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.propertyIterator:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         1: .line 1766
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* keySet */
        start local 2 // java.util.Set keySet
         2: .line 1767
            goto 4
         3: .line 1768
      StackMap locals: java.util.Iterator java.util.Set
      StackMap stack:
            aload 2 /* keySet */
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1767
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         5: .line 1770
            aload 2 /* keySet */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 2 // java.util.Set keySet
        end local 1 // java.util.Iterator iter
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    6     1    iter  Ljava/util/Iterator<Ljava/lang/String;>;
            2    6     2  keySet  Ljava/util/Set<Ljava/lang/Object;>;
    Signature: ()Ljava/util/Set<Ljava/lang/Object;>;

  public java.lang.Object put(java.lang.Object, java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
        start local 3 // boolean strict
         0: .line 1783
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* oldValue */
        start local 4 // java.lang.Object oldValue
         1: .line 1784
            iload 3 /* strict */
            ifeq 2
            bipush 32
            goto 3
      StackMap locals: java.lang.Object
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 5 /* scriptObjectFlags */
        start local 5 // int scriptObjectFlags
         4: .line 1785
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            iload 5 /* scriptObjectFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.set:(Ljava/lang/Object;Ljava/lang/Object;I)V
         5: .line 1786
            aload 4 /* oldValue */
            areturn
        end local 5 // int scriptObjectFlags
        end local 4 // java.lang.Object oldValue
        end local 3 // boolean strict
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    6     1                key  Ljava/lang/Object;
            0    6     2              value  Ljava/lang/Object;
            0    6     3             strict  Z
            1    6     4           oldValue  Ljava/lang/Object;
            4    6     5  scriptObjectFlags  I
    MethodParameters:
        Name  Flags
      key     final
      value   final
      strict  final

  public void putAll(java.util.Map<?, ?>, );
    descriptor: (Ljava/util/Map;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.util.Map otherMap
        start local 2 // boolean strict
         0: .line 1798
            iload 2 /* strict */
            ifeq 1
            bipush 32
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* scriptObjectFlags */
        start local 3 // int scriptObjectFlags
         3: .line 1799
            aload 1 /* otherMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.util.Map int int top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         5: .line 1800
            aload 0 /* this */
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            iload 3 /* scriptObjectFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.set:(Ljava/lang/Object;Ljava/lang/Object;I)V
        end local 4 // java.util.Map$Entry entry
         6: .line 1799
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 1802
            return
        end local 3 // int scriptObjectFlags
        end local 2 // boolean strict
        end local 1 // java.util.Map otherMap
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    8     1           otherMap  Ljava/util/Map<**>;
            0    8     2             strict  Z
            3    8     3  scriptObjectFlags  I
            5    6     4              entry  Ljava/util/Map$Entry<**>;
    Signature: (Ljava/util/Map<**>;Z)V
    MethodParameters:
          Name  Flags
      otherMap  final
      strict    final

  public java.lang.Object remove(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // boolean strict
         0: .line 1813
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* oldValue */
        start local 3 // java.lang.Object oldValue
         1: .line 1814
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.delete:(Ljava/lang/Object;Z)Z
            pop
         2: .line 1815
            aload 3 /* oldValue */
            areturn
        end local 3 // java.lang.Object oldValue
        end local 2 // boolean strict
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    3     1       key  Ljava/lang/Object;
            0    3     2    strict  Z
            1    3     3  oldValue  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      key     final
      strict  final

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1826
            iconst_0
            istore 1 /* n */
        start local 1 // int n
         1: .line 1827
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.propertyIterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         2: goto 5
         3: .line 1828
      StackMap locals: int java.util.Iterator
      StackMap stack:
            iinc 1 /* n */ 1
         4: .line 1827
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            pop
      StackMap locals:
      StackMap stack:
         5: aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 2 // java.util.Iterator iter
         6: .line 1830
            iload 1 /* n */
            ireturn
        end local 1 // int n
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    7     1     n  I
            2    6     2  iter  Ljava/util/Iterator<Ljava/lang/String;>;

  public java.util.Collection<java.lang.Object> values();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1840
            new java.util.ArrayList
            dup
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* values */
        start local 1 // java.util.List values
         1: .line 1841
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.valueIterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         2: .line 1842
            goto 4
         3: .line 1843
      StackMap locals: java.util.List java.util.Iterator
      StackMap stack:
            aload 1 /* values */
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1842
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         5: .line 1845
            aload 1 /* values */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 2 // java.util.Iterator iter
        end local 1 // java.util.List values
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    6     1  values  Ljava/util/List<Ljava/lang/Object;>;
            2    6     2    iter  Ljava/util/Iterator<Ljava/lang/Object;>;
    Signature: ()Ljava/util/Collection<Ljava/lang/Object;>;

  public jdk.dynalink.linker.GuardedInvocation lookup(jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkRequest);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // jdk.dynalink.linker.LinkRequest request
         0: .line 1863
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.$SWITCH_TABLE$jdk$dynalink$StandardOperation:()[I
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getStandardOperation:(Ljdk/dynalink/CallSiteDescriptor;)Ljdk/dynalink/StandardOperation;
            invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 1
                    2: 5
                    3: 9
                    4: 16
                    5: 17
              default: 18
          }
         1: .line 1865
      StackMap locals:
      StackMap stack:
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getOperation:()Ljdk/dynalink/Operation;
            instanceof jdk.dynalink.NamedOperation
            ifeq 3
         2: .line 1866
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findGetMethod:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
            goto 4
         3: .line 1867
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findGetIndexMethod:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
         4: .line 1865
      StackMap locals:
      StackMap stack: jdk.dynalink.linker.GuardedInvocation
            areturn
         5: .line 1869
      StackMap locals:
      StackMap stack:
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getOperation:()Ljdk/dynalink/Operation;
            instanceof jdk.dynalink.NamedOperation
            ifeq 7
         6: .line 1870
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findSetMethod:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
            goto 8
         7: .line 1871
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findSetIndexMethod:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
         8: .line 1869
      StackMap locals:
      StackMap stack: jdk.dynalink.linker.GuardedInvocation
            areturn
         9: .line 1873
      StackMap locals:
      StackMap stack:
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrict:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 10
            getstatic jdk.nashorn.internal.runtime.ScriptObject.DELETE_GUARDED_STRICT:Ljdk/dynalink/linker/GuardedInvocation;
            goto 11
      StackMap locals:
      StackMap stack:
        10: getstatic jdk.nashorn.internal.runtime.ScriptObject.DELETE_GUARDED:Ljdk/dynalink/linker/GuardedInvocation;
      StackMap locals:
      StackMap stack: jdk.dynalink.linker.GuardedInvocation
        11: astore 3 /* inv */
        start local 3 // jdk.dynalink.linker.GuardedInvocation inv
        12: .line 1874
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getOperation:()Ljdk/dynalink/Operation;
            invokestatic jdk.dynalink.NamedOperation.getName:(Ljdk/dynalink/Operation;)Ljava/lang/Object;
            astore 4 /* name */
        start local 4 // java.lang.Object name
        13: .line 1875
            aload 4 /* name */
            ifnull 15
        14: .line 1876
            aload 3 /* inv */
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 3 /* inv */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
            iconst_1
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* name */
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            aload 3 /* inv */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getGuard:()Ljava/lang/invoke/MethodHandle;
            invokevirtual jdk.dynalink.linker.GuardedInvocation.replaceMethods:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        15: .line 1878
      StackMap locals: jdk.dynalink.linker.GuardedInvocation java.lang.Object
      StackMap stack:
            aload 3 /* inv */
            areturn
        end local 4 // java.lang.Object name
        end local 3 // jdk.dynalink.linker.GuardedInvocation inv
        16: .line 1880
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findCallMethod:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        17: .line 1882
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findNewMethod:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        18: .line 1884
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // jdk.dynalink.linker.LinkRequest request
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   19     1     desc  Ljdk/dynalink/CallSiteDescriptor;
            0   19     2  request  Ljdk/dynalink/linker/LinkRequest;
           12   16     3      inv  Ljdk/dynalink/linker/GuardedInvocation;
           13   16     4     name  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      desc     final
      request  final

  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=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // jdk.dynalink.linker.LinkRequest request
         0: .line 1897
            aload 0 /* this */
            aload 1 /* desc */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.notAFunction:(Ljdk/dynalink/CallSiteDescriptor;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        end local 2 // jdk.dynalink.linker.LinkRequest request
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1     desc  Ljdk/dynalink/CallSiteDescriptor;
            0    1     2  request  Ljdk/dynalink/linker/LinkRequest;
    MethodParameters:
         Name  Flags
      desc     final
      request  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=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // jdk.dynalink.linker.LinkRequest request
         0: .line 1910
            aload 0 /* this */
            aload 1 /* desc */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.notAFunction:(Ljdk/dynalink/CallSiteDescriptor;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        end local 2 // jdk.dynalink.linker.LinkRequest request
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1     desc  Ljdk/dynalink/CallSiteDescriptor;
            0    1     2  request  Ljdk/dynalink/linker/LinkRequest;
    MethodParameters:
         Name  Flags
      desc     final
      request  final

  private jdk.dynalink.linker.GuardedInvocation notAFunction(jdk.dynalink.CallSiteDescriptor);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
         0: .line 1914
            ldc "not.a.function"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* desc */
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getFunctionErrorMessage:(Ljdk/dynalink/CallSiteDescriptor;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
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1  desc  Ljdk/dynalink/CallSiteDescriptor;
    MethodParameters:
      Name  Flags
      desc  final

  boolean hasWithScope();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 1922
            iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  static java.lang.invoke.MethodHandle addProtoFilter(java.lang.invoke.MethodHandle, int);
    descriptor: (Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=10, locals=4, args_size=2
        start local 0 // java.lang.invoke.MethodHandle methodHandle
        start local 1 // int depth
         0: .line 1933
            iload 1 /* depth */
            ifne 2
         1: .line 1934
            aload 0 /* methodHandle */
            areturn
         2: .line 1936
      StackMap locals:
      StackMap stack:
            iload 1 /* depth */
            iconst_1
            isub
            istore 2 /* listIndex */
        start local 2 // int listIndex
         3: .line 1937
            iload 2 /* listIndex */
            getstatic jdk.nashorn.internal.runtime.ScriptObject.PROTO_FILTERS:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmpge 4
            getstatic jdk.nashorn.internal.runtime.ScriptObject.PROTO_FILTERS:Ljava/util/ArrayList;
            iload 2 /* listIndex */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.invoke.MethodHandle
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandle
         5: astore 3 /* filter */
        start local 3 // java.lang.invoke.MethodHandle filter
         6: .line 1939
            aload 3 /* filter */
            ifnonnull 10
         7: .line 1940
            getstatic jdk.nashorn.internal.runtime.ScriptObject.GETPROTO:Ljava/lang/invoke/MethodHandle;
            iload 1 /* depth */
            iconst_1
            isub
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.addProtoFilter:(Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            astore 3 /* filter */
         8: .line 1941
            getstatic jdk.nashorn.internal.runtime.ScriptObject.PROTO_FILTERS:Ljava/util/ArrayList;
            aconst_null
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1942
            getstatic jdk.nashorn.internal.runtime.ScriptObject.PROTO_FILTERS:Ljava/util/ArrayList;
            iload 2 /* listIndex */
            aload 3 /* filter */
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1945
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 0 /* methodHandle */
            iconst_0
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
            aload 3 /* filter */
            aload 3 /* filter */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 0 /* methodHandle */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)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
        end local 3 // java.lang.invoke.MethodHandle filter
        end local 2 // int listIndex
        end local 1 // int depth
        end local 0 // java.lang.invoke.MethodHandle methodHandle
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0  methodHandle  Ljava/lang/invoke/MethodHandle;
            0   11     1         depth  I
            3   11     2     listIndex  I
            6   11     3        filter  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
              Name  Flags
      methodHandle  final
      depth         final

  protected jdk.dynalink.linker.GuardedInvocation findGetMethod(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=16, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // jdk.dynalink.linker.LinkRequest request
         0: .line 1957
            aload 1 /* desc */
            aload 2 /* request */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.explicitInstanceOfCheck:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Z
            istore 3 /* explicitInstanceOfCheck */
        start local 3 // boolean explicitInstanceOfCheck
         1: .line 1959
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getOperand:(Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         2: .line 1960
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isApplyToCall:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 5
         3: .line 1961
            invokestatic jdk.nashorn.internal.objects.Global.isBuiltinFunctionPrototypeApply:()Z
            ifeq 5
         4: .line 1962
            ldc "call"
            astore 4 /* name */
         5: .line 1966
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 2 /* request */
            invokeinterface jdk.dynalink.linker.LinkRequest.isCallSiteUnstable:()Z
            ifne 6
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasWithScope:()Z
            ifeq 7
         6: .line 1967
      StackMap locals:
      StackMap stack:
            aload 1 /* desc */
            aload 4 /* name */
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isMethodFirstOperation:(Ljdk/dynalink/CallSiteDescriptor;)Z
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findMegaMorphicGetMethod:(Ljdk/dynalink/CallSiteDescriptor;Ljava/lang/String;Z)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
         7: .line 1970
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* name */
            iconst_1
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isScope:(Ljdk/dynalink/CallSiteDescriptor;)Z
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;ZZLjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 5 /* find */
        start local 5 // jdk.nashorn.internal.runtime.FindProperty find
         8: .line 1973
            aload 5 /* find */
            ifnonnull 12
         9: .line 1974
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isMethodFirstOperation:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifne 11
        10: .line 1975
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.noSuchProperty:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        11: .line 1977
      StackMap locals: jdk.nashorn.internal.runtime.FindProperty
      StackMap stack:
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.noSuchMethod:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        12: .line 1981
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getGlobalConstants:()Ljdk/nashorn/internal/runtime/GlobalConstants;
            astore 7 /* globalConstants */
        start local 7 // jdk.nashorn.internal.runtime.GlobalConstants globalConstants
        13: .line 1982
            aload 7 /* globalConstants */
            ifnull 17
        14: .line 1983
            aload 7 /* globalConstants */
            aload 5 /* find */
            aload 0 /* this */
            aload 1 /* desc */
            invokevirtual jdk.nashorn.internal.runtime.GlobalConstants.findGetMethod:(Ljdk/nashorn/internal/runtime/FindProperty;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/dynalink/CallSiteDescriptor;)Ljdk/dynalink/linker/GuardedInvocation;
            astore 8 /* cinv */
        start local 8 // jdk.dynalink.linker.GuardedInvocation cinv
        15: .line 1984
            aload 8 /* cinv */
            ifnull 17
        16: .line 1985
            aload 8 /* cinv */
            areturn
        end local 8 // jdk.dynalink.linker.GuardedInvocation cinv
        17: .line 1989
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest int java.lang.String jdk.nashorn.internal.runtime.FindProperty top jdk.nashorn.internal.runtime.GlobalConstants
      StackMap stack:
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 8 /* returnType */
        start local 8 // java.lang.Class returnType
        18: .line 1990
            aload 5 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            astore 9 /* property */
        start local 9 // jdk.nashorn.internal.runtime.Property property
        19: .line 1992
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isOptimistic:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 21
        20: .line 1993
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getProgramPoint:(Ljdk/dynalink/CallSiteDescriptor;)I
            goto 22
        21: .line 1994
      StackMap locals: java.lang.Class jdk.nashorn.internal.runtime.Property
      StackMap stack:
            iconst_m1
        22: .line 1992
      StackMap locals:
      StackMap stack: int
            istore 10 /* programPoint */
        start local 10 // int programPoint
        23: .line 1996
            aload 5 /* find */
            aload 8 /* returnType */
            iload 10 /* programPoint */
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getGetter:(Ljava/lang/Class;ILjdk/dynalink/linker/LinkRequest;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* mh */
        start local 6 // java.lang.invoke.MethodHandle mh
        24: .line 1998
            aload 0 /* this */
            aload 9 /* property */
            aload 1 /* desc */
            iload 3 /* explicitInstanceOfCheck */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.getGuard:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/Property;Ljdk/dynalink/CallSiteDescriptor;Z)Ljava/lang/invoke/MethodHandle;
            astore 11 /* guard */
        start local 11 // java.lang.invoke.MethodHandle guard
        25: .line 1999
            aload 5 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getOwner:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 12 /* owner */
        start local 12 // jdk.nashorn.internal.runtime.ScriptObject owner
        26: .line 2000
            iload 3 /* explicitInstanceOfCheck */
            ifeq 27
            aconst_null
            goto 28
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest int java.lang.String jdk.nashorn.internal.runtime.FindProperty java.lang.invoke.MethodHandle jdk.nashorn.internal.runtime.GlobalConstants java.lang.Class jdk.nashorn.internal.runtime.Property int java.lang.invoke.MethodHandle jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
        27: ldc Ljava/lang/ClassCastException;
      StackMap locals:
      StackMap stack: java.lang.Class
        28: astore 13 /* exception */
        start local 13 // java.lang.Class exception
        29: .line 2004
            aload 6 /* mh */
            ifnonnull 33
        30: .line 2005
            aload 8 /* returnType */
            invokestatic jdk.nashorn.internal.lookup.Lookup.emptyGetter:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* mh */
        31: .line 2006
            aload 0 /* this */
            aload 4 /* name */
            aload 12 /* owner */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProtoSwitchPoints:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/ScriptObject;)[Ljava/lang/invoke/SwitchPoint;
            astore 14 /* protoSwitchPoints */
        start local 14 // java.lang.invoke.SwitchPoint[] protoSwitchPoints
        32: .line 2007
            goto 41
        end local 14 // java.lang.invoke.SwitchPoint[] protoSwitchPoints
      StackMap locals: java.lang.Class
      StackMap stack:
        33: aload 5 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.isSelf:()Z
            ifne 40
        34: .line 2008
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 36
            aload 6 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            aload 8 /* returnType */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 36
            new java.lang.AssertionError
            dup
        35: .line 2009
            new java.lang.StringBuilder
            dup
            ldc "return type mismatch for getter "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " != "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* returnType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        36: .line 2010
      StackMap locals:
      StackMap stack:
            aload 9 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.isAccessorProperty:()Z
            ifne 38
        37: .line 2012
            aload 6 /* mh */
            aload 5 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProtoChainLength:()I
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.addProtoFilter:(Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            astore 6 /* mh */
        38: .line 2014
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* name */
            aload 12 /* owner */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProtoSwitchPoints:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/ScriptObject;)[Ljava/lang/invoke/SwitchPoint;
            astore 14 /* protoSwitchPoints */
        start local 14 // java.lang.invoke.SwitchPoint[] protoSwitchPoints
        39: .line 2015
            goto 41
        end local 14 // java.lang.invoke.SwitchPoint[] protoSwitchPoints
        40: .line 2016
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 14 /* protoSwitchPoints */
        start local 14 // java.lang.invoke.SwitchPoint[] protoSwitchPoints
        41: .line 2019
      StackMap locals: java.lang.invoke.SwitchPoint[]
      StackMap stack:
            new jdk.dynalink.linker.GuardedInvocation
            dup
            aload 6 /* mh */
            aload 11 /* guard */
            aload 14 /* protoSwitchPoints */
            aload 13 /* exception */
            invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;[Ljava/lang/invoke/SwitchPoint;Ljava/lang/Class;)V
            astore 15 /* inv */
        start local 15 // jdk.dynalink.linker.GuardedInvocation inv
        42: .line 2020
            aload 15 /* inv */
            aload 0 /* this */
            aload 4 /* name */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findBuiltinSwitchPoint:(Ljava/lang/Object;)Ljava/lang/invoke/SwitchPoint;
            invokevirtual jdk.dynalink.linker.GuardedInvocation.addSwitchPoint:(Ljava/lang/invoke/SwitchPoint;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        end local 15 // jdk.dynalink.linker.GuardedInvocation inv
        end local 14 // java.lang.invoke.SwitchPoint[] protoSwitchPoints
        end local 13 // java.lang.Class exception
        end local 12 // jdk.nashorn.internal.runtime.ScriptObject owner
        end local 11 // java.lang.invoke.MethodHandle guard
        end local 10 // int programPoint
        end local 9 // jdk.nashorn.internal.runtime.Property property
        end local 8 // java.lang.Class returnType
        end local 7 // jdk.nashorn.internal.runtime.GlobalConstants globalConstants
        end local 6 // java.lang.invoke.MethodHandle mh
        end local 5 // jdk.nashorn.internal.runtime.FindProperty find
        end local 4 // java.lang.String name
        end local 3 // boolean explicitInstanceOfCheck
        end local 2 // jdk.dynalink.linker.LinkRequest request
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   43     0                     this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   43     1                     desc  Ljdk/dynalink/CallSiteDescriptor;
            0   43     2                  request  Ljdk/dynalink/linker/LinkRequest;
            1   43     3  explicitInstanceOfCheck  Z
            2   43     4                     name  Ljava/lang/String;
            8   43     5                     find  Ljdk/nashorn/internal/runtime/FindProperty;
           24   43     6                       mh  Ljava/lang/invoke/MethodHandle;
           13   43     7          globalConstants  Ljdk/nashorn/internal/runtime/GlobalConstants;
           15   17     8                     cinv  Ljdk/dynalink/linker/GuardedInvocation;
           18   43     8               returnType  Ljava/lang/Class<*>;
           19   43     9                 property  Ljdk/nashorn/internal/runtime/Property;
           23   43    10             programPoint  I
           25   43    11                    guard  Ljava/lang/invoke/MethodHandle;
           26   43    12                    owner  Ljdk/nashorn/internal/runtime/ScriptObject;
           29   43    13                exception  Ljava/lang/Class<Ljava/lang/ClassCastException;>;
           32   33    14        protoSwitchPoints  [Ljava/lang/invoke/SwitchPoint;
           39   40    14        protoSwitchPoints  [Ljava/lang/invoke/SwitchPoint;
           41   43    14        protoSwitchPoints  [Ljava/lang/invoke/SwitchPoint;
           42   43    15                      inv  Ljdk/dynalink/linker/GuardedInvocation;
    MethodParameters:
         Name  Flags
      desc     final
      request  final

  private static jdk.dynalink.linker.GuardedInvocation findMegaMorphicGetMethod(jdk.dynalink.CallSiteDescriptor, java.lang.String, boolean);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljava/lang/String;Z)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // jdk.dynalink.CallSiteDescriptor desc
        start local 1 // java.lang.String name
        start local 2 // boolean isMethod
         0: .line 2024
            invokestatic jdk.nashorn.internal.runtime.Context.getContextTrusted:()Ljdk/nashorn/internal/runtime/Context;
            ldc Ljdk/nashorn/internal/codegen/ObjectClassGenerator;
            invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "Megamorphic getter: "
            aastore
            dup
            iconst_1
            aload 0 /* desc */
            aastore
            dup
            iconst_2
            ldc " "
            aastore
            dup
            iconst_3
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_4
            iload 2 /* isMethod */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.warning:([Ljava/lang/Object;)V
         1: .line 2025
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.runtime.ScriptObject.MEGAMORPHIC_GET:Ljava/lang/invoke/MethodHandle;
            iconst_1
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            iload 2 /* isMethod */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_2
            aload 0 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isScope:(Ljdk/dynalink/CallSiteDescriptor;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* invoker */
        start local 3 // java.lang.invoke.MethodHandle invoker
         2: .line 2026
            aload 0 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            iconst_1
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.getScriptObjectGuard:(Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
            astore 4 /* guard */
        start local 4 // java.lang.invoke.MethodHandle guard
         3: .line 2027
            new jdk.dynalink.linker.GuardedInvocation
            dup
            aload 3 /* invoker */
            aload 4 /* guard */
            invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
            areturn
        end local 4 // java.lang.invoke.MethodHandle guard
        end local 3 // java.lang.invoke.MethodHandle invoker
        end local 2 // boolean isMethod
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.CallSiteDescriptor desc
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      desc  Ljdk/dynalink/CallSiteDescriptor;
            0    4     1      name  Ljava/lang/String;
            0    4     2  isMethod  Z
            2    4     3   invoker  Ljava/lang/invoke/MethodHandle;
            3    4     4     guard  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
          Name  Flags
      desc      final
      name      final
      isMethod  final

  private java.lang.Object megamorphicGet(java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;ZZ)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.String key
        start local 2 // boolean isMethod
        start local 3 // boolean isScope
         0: .line 2032
            aload 0 /* this */
            aload 1 /* key */
            iconst_1
            iload 3 /* isScope */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;ZZLjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 4 /* find */
        start local 4 // jdk.nashorn.internal.runtime.FindProperty find
         1: .line 2033
            aload 4 /* find */
            ifnull 6
         2: .line 2036
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getObjectValue:()Ljava/lang/Object;
            astore 5 /* value */
        start local 5 // java.lang.Object value
         3: .line 2037
            iload 2 /* isMethod */
            ifeq 5
            aload 5 /* value */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifeq 5
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getSelf:()Ljdk/nashorn/internal/runtime/ScriptObject;
            aload 0 /* this */
            if_acmpeq 5
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getSelf:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isInternal:()Z
            ifne 5
         4: .line 2038
            aload 5 /* value */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getSelf:()Ljdk/nashorn/internal/runtime/ScriptObject;
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.EMPTY_ARRAY:[Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.createBound:(Ljava/lang/Object;[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptFunction;
            areturn
         5: .line 2040
      StackMap locals: jdk.nashorn.internal.runtime.FindProperty java.lang.Object
      StackMap stack:
            aload 5 /* value */
            areturn
        end local 5 // java.lang.Object value
         6: .line 2043
      StackMap locals:
      StackMap stack:
            iload 2 /* isMethod */
            ifeq 7
            aload 0 /* this */
            aload 1 /* key */
            iload 3 /* isScope */
            iconst_m1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getNoSuchMethod:(Ljava/lang/String;ZI)Ljava/lang/Object;
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            aload 1 /* key */
            iload 3 /* isScope */
            iconst_m1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.invokeNoSuchProperty:(Ljava/lang/Object;ZI)Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         8: areturn
        end local 4 // jdk.nashorn.internal.runtime.FindProperty find
        end local 3 // boolean isScope
        end local 2 // boolean isMethod
        end local 1 // java.lang.String key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    9     1       key  Ljava/lang/String;
            0    9     2  isMethod  Z
            0    9     3   isScope  Z
            1    9     4      find  Ljdk/nashorn/internal/runtime/FindProperty;
            3    6     5     value  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      key       final
      isMethod  final
      isScope   final

  private void declareAndSet(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object value
         0: .line 2049
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* key */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            aload 2 /* value */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.declareAndSet:(Ljdk/nashorn/internal/runtime/FindProperty;Ljava/lang/Object;)V
         1: .line 2050
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    2     1    key  Ljava/lang/String;
            0    2     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      key    final
      value  final

  private void declareAndSet(jdk.nashorn.internal.runtime.FindProperty, java.lang.Object);
    descriptor: (Ljdk/nashorn/internal/runtime/FindProperty;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.FindProperty find
        start local 2 // java.lang.Object value
         0: .line 2053
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 3 /* oldMap */
        start local 3 // jdk.nashorn.internal.runtime.PropertyMap oldMap
         1: .line 2054
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 2
            aload 1 /* find */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2056
      StackMap locals: jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 1 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            astore 4 /* property */
        start local 4 // jdk.nashorn.internal.runtime.Property property
         3: .line 2057
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 4
            aload 4 /* property */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2058
      StackMap locals: jdk.nashorn.internal.runtime.Property
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 5
            aload 4 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.needsDeclaration:()Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 2060
      StackMap locals:
      StackMap stack:
            aload 3 /* oldMap */
            aload 4 /* property */
            aload 4 /* property */
            sipush 512
            invokevirtual jdk.nashorn.internal.runtime.Property.removeFlags:(I)Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.replaceProperty:(Ljdk/nashorn/internal/runtime/Property;Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 5 /* newMap */
        start local 5 // jdk.nashorn.internal.runtime.PropertyMap newMap
         6: .line 2061
            aload 0 /* this */
            aload 5 /* newMap */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setMap:(Ljdk/nashorn/internal/runtime/PropertyMap;)V
         7: .line 2062
            aload 0 /* this */
            aload 4 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            aload 2 /* value */
            sipush 512
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.set:(Ljava/lang/Object;Ljava/lang/Object;I)V
         8: .line 2063
            return
        end local 5 // jdk.nashorn.internal.runtime.PropertyMap newMap
        end local 4 // jdk.nashorn.internal.runtime.Property property
        end local 3 // jdk.nashorn.internal.runtime.PropertyMap oldMap
        end local 2 // java.lang.Object value
        end local 1 // jdk.nashorn.internal.runtime.FindProperty find
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    9     1      find  Ljdk/nashorn/internal/runtime/FindProperty;
            0    9     2     value  Ljava/lang/Object;
            1    9     3    oldMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            3    9     4  property  Ljdk/nashorn/internal/runtime/Property;
            6    9     5    newMap  Ljdk/nashorn/internal/runtime/PropertyMap;
    MethodParameters:
       Name  Flags
      find   final
      value  final

  protected jdk.dynalink.linker.GuardedInvocation findGetIndexMethod(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=10, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // jdk.dynalink.linker.LinkRequest request
         0: .line 2074
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 3 /* callType */
        start local 3 // java.lang.invoke.MethodType callType
         1: .line 2075
            aload 3 /* callType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 4 /* returnType */
        start local 4 // java.lang.Class returnType
         2: .line 2076
            aload 4 /* returnType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 3
            aload 4 /* returnType */
            goto 4
      StackMap locals: java.lang.invoke.MethodType java.lang.Class
      StackMap stack:
         3: ldc Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Class
         4: astore 5 /* returnClass */
        start local 5 // java.lang.Class returnClass
         5: .line 2077
            aload 3 /* callType */
            iconst_1
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            astore 6 /* keyClass */
        start local 6 // java.lang.Class keyClass
         6: .line 2078
            aload 1 /* desc */
            aload 2 /* request */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.explicitInstanceOfCheck:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Z
            istore 7 /* explicitInstanceOfCheck */
        start local 7 // boolean explicitInstanceOfCheck
         7: .line 2081
            aload 5 /* returnClass */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 11
         8: .line 2083
            aload 5 /* returnClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 9 /* returnTypeName */
        start local 9 // java.lang.String returnTypeName
         9: .line 2084
            new java.lang.StringBuilder
            dup
            ldc "get"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* returnTypeName */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.toUpperCase:(C)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 9 /* returnTypeName */
            iconst_1
            aload 9 /* returnTypeName */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* name */
        end local 9 // java.lang.String returnTypeName
        start local 8 // java.lang.String name
        10: .line 2085
            goto 12
        end local 8 // java.lang.String name
        11: .line 2086
      StackMap locals: java.lang.Class java.lang.Class int
      StackMap stack:
            ldc "get"
            astore 8 /* name */
        start local 8 // java.lang.String name
        12: .line 2089
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* returnClass */
            aload 8 /* name */
            aload 6 /* keyClass */
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findGetIndexMethodHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
            astore 9 /* mh */
        start local 9 // java.lang.invoke.MethodHandle mh
        13: .line 2090
            new jdk.dynalink.linker.GuardedInvocation
            dup
            aload 9 /* mh */
            aload 3 /* callType */
            iload 7 /* explicitInstanceOfCheck */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.getScriptObjectGuard:(Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
            aconst_null
            iload 7 /* explicitInstanceOfCheck */
            ifeq 14
            aconst_null
            goto 15
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.invoke.MethodType java.lang.Class java.lang.Class java.lang.Class int java.lang.String java.lang.invoke.MethodHandle
      StackMap stack: new 13 new 13 java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle null
        14: ldc Ljava/lang/ClassCastException;
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.invoke.MethodType java.lang.Class java.lang.Class java.lang.Class int java.lang.String java.lang.invoke.MethodHandle
      StackMap stack: new 13 new 13 java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle null java.lang.Class
        15: 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 9 // java.lang.invoke.MethodHandle mh
        end local 8 // java.lang.String name
        end local 7 // boolean explicitInstanceOfCheck
        end local 6 // java.lang.Class keyClass
        end local 5 // java.lang.Class returnClass
        end local 4 // java.lang.Class returnType
        end local 3 // java.lang.invoke.MethodType callType
        end local 2 // jdk.dynalink.linker.LinkRequest request
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   16     0                     this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   16     1                     desc  Ljdk/dynalink/CallSiteDescriptor;
            0   16     2                  request  Ljdk/dynalink/linker/LinkRequest;
            1   16     3                 callType  Ljava/lang/invoke/MethodType;
            2   16     4               returnType  Ljava/lang/Class<*>;
            5   16     5              returnClass  Ljava/lang/Class<*>;
            6   16     6                 keyClass  Ljava/lang/Class<*>;
            7   16     7  explicitInstanceOfCheck  Z
           10   11     8                     name  Ljava/lang/String;
           12   16     8                     name  Ljava/lang/String;
            9   10     9           returnTypeName  Ljava/lang/String;
           13   16     9                       mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
         Name  Flags
      desc     final
      request  final

  private static java.lang.invoke.MethodHandle getScriptObjectGuard(java.lang.invoke.MethodType, boolean);
    descriptor: (Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodType type
        start local 1 // boolean explicitInstanceOfCheck
         0: .line 2094
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            aload 0 /* type */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* explicitInstanceOfCheck */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.getScriptObjectGuard:(Z)Ljava/lang/invoke/MethodHandle;
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandle
         2: areturn
        end local 1 // boolean explicitInstanceOfCheck
        end local 0 // java.lang.invoke.MethodType type
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    3     0                     type  Ljava/lang/invoke/MethodType;
            0    3     1  explicitInstanceOfCheck  Z
    MethodParameters:
                         Name  Flags
      type                     final
      explicitInstanceOfCheck  final

  private static java.lang.invoke.MethodHandle findGetIndexMethodHandle(java.lang.Class<?>, java.lang.String, java.lang.Class<?>, jdk.dynalink.CallSiteDescriptor);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // java.lang.Class returnType
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class elementType
        start local 3 // jdk.dynalink.CallSiteDescriptor desc
         0: .line 2106
            aload 0 /* returnType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 2
         1: .line 2107
            aload 1 /* name */
            aload 0 /* returnType */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 2 /* elementType */
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_V:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 2110
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
         3: .line 2111
            aload 1 /* name */
            aload 0 /* returnType */
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            aload 2 /* elementType */
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_V:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
         4: .line 2112
            iconst_2
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 2113
            aload 3 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isOptimistic:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 7
         6: .line 2114
            aload 3 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getProgramPoint:(Ljdk/dynalink/CallSiteDescriptor;)I
            goto 8
         7: .line 2115
      StackMap locals: java.lang.Class java.lang.String java.lang.Class jdk.dynalink.CallSiteDescriptor
      StackMap stack: jdk.nashorn.internal.lookup.MethodHandleFunctionality java.lang.invoke.MethodHandle int java.lang.Object[] java.lang.Object[] int
            iconst_m1
         8: .line 2113
      StackMap locals: java.lang.Class java.lang.String java.lang.Class jdk.dynalink.CallSiteDescriptor
      StackMap stack: jdk.nashorn.internal.lookup.MethodHandleFunctionality java.lang.invoke.MethodHandle int java.lang.Object[] java.lang.Object[] int int
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         9: .line 2110
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // jdk.dynalink.CallSiteDescriptor desc
        end local 2 // java.lang.Class elementType
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class returnType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0   returnType  Ljava/lang/Class<*>;
            0   10     1         name  Ljava/lang/String;
            0   10     2  elementType  Ljava/lang/Class<*>;
            0   10     3         desc  Ljdk/dynalink/CallSiteDescriptor;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
             Name  Flags
      returnType   final
      name         final
      elementType  final
      desc         final

  public final java.lang.invoke.SwitchPoint[] getProtoSwitchPoints(java.lang.String, jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljava/lang/String;Ljdk/nashorn/internal/runtime/ScriptObject;)[Ljava/lang/invoke/SwitchPoint;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.String name
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject owner
         0: .line 2128
            aload 2 /* owner */
            aload 0 /* this */
            if_acmpeq 1
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            ifnonnull 2
         1: .line 2129
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 2132
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* switchPoints */
        start local 3 // java.util.Set switchPoints
         3: .line 2133
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* name */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.getSwitchPoint:(Ljava/lang/String;)Ljava/lang/invoke/SwitchPoint;
            astore 4 /* switchPoint */
        start local 4 // java.lang.invoke.SwitchPoint switchPoint
         4: .line 2135
            aload 4 /* switchPoint */
            ifnonnull 11
         5: .line 2136
            new java.lang.invoke.SwitchPoint
            dup
            invokespecial java.lang.invoke.SwitchPoint.<init>:()V
            astore 4 /* switchPoint */
         6: .line 2137
            aload 0 /* this */
            astore 5 /* obj */
        start local 5 // jdk.nashorn.internal.runtime.ScriptObject obj
         7: goto 10
         8: .line 2138
      StackMap locals: java.util.Set java.lang.invoke.SwitchPoint jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 5 /* obj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* name */
            aload 4 /* switchPoint */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.addSwitchPoint:(Ljava/lang/String;Ljava/lang/invoke/SwitchPoint;)V
         9: .line 2137
            aload 5 /* obj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 5 /* obj */
      StackMap locals:
      StackMap stack:
        10: aload 5 /* obj */
            aload 2 /* owner */
            if_acmpeq 11
            aload 5 /* obj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            ifnonnull 8
        end local 5 // jdk.nashorn.internal.runtime.ScriptObject obj
        11: .line 2142
      StackMap locals:
      StackMap stack:
            aload 3 /* switchPoints */
            aload 4 /* switchPoint */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        12: .line 2144
            aload 0 /* this */
            astore 5 /* obj */
        start local 5 // jdk.nashorn.internal.runtime.ScriptObject obj
        13: goto 18
        14: .line 2145
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 5 /* obj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.getSharedProtoSwitchPoint:()Ljava/lang/invoke/SwitchPoint;
            astore 6 /* sharedProtoSwitchPoint */
        start local 6 // java.lang.invoke.SwitchPoint sharedProtoSwitchPoint
        15: .line 2146
            aload 6 /* sharedProtoSwitchPoint */
            ifnull 17
            aload 6 /* sharedProtoSwitchPoint */
            invokevirtual java.lang.invoke.SwitchPoint.hasBeenInvalidated:()Z
            ifne 17
        16: .line 2147
            aload 3 /* switchPoints */
            aload 6 /* sharedProtoSwitchPoint */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.invoke.SwitchPoint sharedProtoSwitchPoint
        17: .line 2144
      StackMap locals:
      StackMap stack:
            aload 5 /* obj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 5 /* obj */
      StackMap locals:
      StackMap stack:
        18: aload 5 /* obj */
            aload 2 /* owner */
            if_acmpeq 19
            aload 5 /* obj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            ifnonnull 14
        end local 5 // jdk.nashorn.internal.runtime.ScriptObject obj
        19: .line 2151
      StackMap locals:
      StackMap stack:
            aload 3 /* switchPoints */
            iconst_0
            anewarray java.lang.invoke.SwitchPoint
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.invoke.SwitchPoint[]
            areturn
        end local 4 // java.lang.invoke.SwitchPoint switchPoint
        end local 3 // java.util.Set switchPoints
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject owner
        end local 1 // java.lang.String name
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   20     0                    this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   20     1                    name  Ljava/lang/String;
            0   20     2                   owner  Ljdk/nashorn/internal/runtime/ScriptObject;
            3   20     3            switchPoints  Ljava/util/Set<Ljava/lang/invoke/SwitchPoint;>;
            4   20     4             switchPoint  Ljava/lang/invoke/SwitchPoint;
            7   11     5                     obj  Ljdk/nashorn/internal/runtime/ScriptObject;
           13   19     5                     obj  Ljdk/nashorn/internal/runtime/ScriptObject;
           15   17     6  sharedProtoSwitchPoint  Ljava/lang/invoke/SwitchPoint;
    MethodParameters:
       Name  Flags
      name   final
      owner  final

  final java.lang.invoke.SwitchPoint getProtoSwitchPoint(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/invoke/SwitchPoint;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.String name
         0: .line 2157
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            ifnonnull 2
         1: .line 2158
            aconst_null
            areturn
         2: .line 2161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* name */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.getSwitchPoint:(Ljava/lang/String;)Ljava/lang/invoke/SwitchPoint;
            astore 2 /* switchPoint */
        start local 2 // java.lang.invoke.SwitchPoint switchPoint
         3: .line 2163
            aload 2 /* switchPoint */
            ifnonnull 10
         4: .line 2164
            new java.lang.invoke.SwitchPoint
            dup
            invokespecial java.lang.invoke.SwitchPoint.<init>:()V
            astore 2 /* switchPoint */
         5: .line 2165
            aload 0 /* this */
            astore 3 /* obj */
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject obj
         6: goto 9
         7: .line 2166
      StackMap locals: java.lang.invoke.SwitchPoint jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 3 /* obj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* name */
            aload 2 /* switchPoint */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.addSwitchPoint:(Ljava/lang/String;Ljava/lang/invoke/SwitchPoint;)V
         8: .line 2165
            aload 3 /* obj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 3 /* obj */
      StackMap locals:
      StackMap stack:
         9: aload 3 /* obj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            ifnonnull 7
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject obj
        10: .line 2170
      StackMap locals:
      StackMap stack:
            aload 2 /* switchPoint */
            areturn
        end local 2 // java.lang.invoke.SwitchPoint switchPoint
        end local 1 // java.lang.String name
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   11     1         name  Ljava/lang/String;
            3   11     2  switchPoint  Ljava/lang/invoke/SwitchPoint;
            6   10     3          obj  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
      Name  Flags
      name  final

  private void checkSharedProtoMap();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 2176
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.isInvalidSharedMapFor:(Ljdk/nashorn/internal/runtime/ScriptObject;)Z
            ifeq 2
         1: .line 2178
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.makeUnsharedCopy:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setMap:(Ljdk/nashorn/internal/runtime/PropertyMap;)V
         2: .line 2180
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  protected jdk.dynalink.linker.GuardedInvocation findSetMethod(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=9, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // jdk.dynalink.linker.LinkRequest request
         0: .line 2191
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getOperand:(Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         1: .line 2193
            aload 2 /* request */
            invokeinterface jdk.dynalink.linker.LinkRequest.isCallSiteUnstable:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasWithScope:()Z
            ifeq 3
         2: .line 2194
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* desc */
            aload 3 /* name */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findMegaMorphicSetMethod:(Ljdk/dynalink/CallSiteDescriptor;Ljava/lang/String;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
         3: .line 2197
      StackMap locals:
      StackMap stack:
            aload 1 /* desc */
            aload 2 /* request */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.explicitInstanceOfCheck:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Z
            istore 4 /* explicitInstanceOfCheck */
        start local 4 // boolean explicitInstanceOfCheck
         4: .line 2206
            aload 0 /* this */
            aload 3 /* name */
            iconst_1
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isScope:(Ljdk/dynalink/CallSiteDescriptor;)Z
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;ZZLjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 5 /* find */
        start local 5 // jdk.nashorn.internal.runtime.FindProperty find
         5: .line 2209
            aload 5 /* find */
            ifnull 10
            aload 5 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.isInheritedOrdinaryProperty:()Z
            ifeq 10
         6: .line 2211
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isExtensible:()Z
            ifeq 8
            aload 5 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.Property.isWritable:()Z
            ifne 8
         7: .line 2212
            aload 0 /* this */
            aload 1 /* desc */
            iload 4 /* explicitInstanceOfCheck */
            ldc "property.not.writable"
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.createEmptySetMethod:(Ljdk/dynalink/CallSiteDescriptor;ZLjava/lang/String;Z)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
         8: .line 2215
      StackMap locals: int jdk.nashorn.internal.runtime.FindProperty
      StackMap stack:
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isScope:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 9
            aload 5 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getOwner:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isScope:()Z
            ifne 10
         9: .line 2216
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* find */
        10: .line 2220
      StackMap locals:
      StackMap stack:
            aload 5 /* find */
            ifnull 17
        11: .line 2221
            aload 5 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.Property.isWritable:()Z
            ifne 15
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isDeclaration:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifne 15
        12: .line 2222
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isScope:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 14
            aload 5 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.Property.isLexicalBinding:()Z
            ifeq 14
        13: .line 2223
            ldc "assign.constant"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* name */
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        14: .line 2226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* desc */
            iload 4 /* explicitInstanceOfCheck */
            ldc "property.not.writable"
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.createEmptySetMethod:(Ljdk/dynalink/CallSiteDescriptor;ZLjava/lang/String;Z)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        15: .line 2228
      StackMap locals:
      StackMap stack:
            aload 5 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.Property.hasNativeSetter:()Z
            ifne 19
        16: .line 2230
            aload 0 /* this */
            aload 1 /* desc */
            iload 4 /* explicitInstanceOfCheck */
            ldc "property.has.no.setter"
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.createEmptySetMethod:(Ljdk/dynalink/CallSiteDescriptor;ZLjava/lang/String;Z)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        17: .line 2233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isExtensible:()Z
            ifne 19
        18: .line 2234
            aload 0 /* this */
            aload 1 /* desc */
            iload 4 /* explicitInstanceOfCheck */
            ldc "object.non.extensible"
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.createEmptySetMethod:(Ljdk/dynalink/CallSiteDescriptor;ZLjava/lang/String;Z)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        19: .line 2238
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.SetMethodCreator
            dup
            aload 0 /* this */
            aload 5 /* find */
            aload 1 /* desc */
            aload 2 /* request */
            invokespecial jdk.nashorn.internal.runtime.SetMethodCreator.<init>:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/FindProperty;Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)V
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findBuiltinSwitchPoint:(Ljava/lang/Object;)Ljava/lang/invoke/SwitchPoint;
            invokevirtual jdk.nashorn.internal.runtime.SetMethodCreator.createGuardedInvocation:(Ljava/lang/invoke/SwitchPoint;)Ljdk/dynalink/linker/GuardedInvocation;
            astore 6 /* inv */
        start local 6 // jdk.dynalink.linker.GuardedInvocation inv
        20: .line 2240
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getGlobalConstants:()Ljdk/nashorn/internal/runtime/GlobalConstants;
            astore 7 /* globalConstants */
        start local 7 // jdk.nashorn.internal.runtime.GlobalConstants globalConstants
        21: .line 2241
            aload 7 /* globalConstants */
            ifnull 25
        22: .line 2242
            aload 7 /* globalConstants */
            aload 5 /* find */
            aload 0 /* this */
            aload 6 /* inv */
            aload 1 /* desc */
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.runtime.GlobalConstants.findSetMethod:(Ljdk/nashorn/internal/runtime/FindProperty;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/dynalink/linker/GuardedInvocation;Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
            astore 8 /* cinv */
        start local 8 // jdk.dynalink.linker.GuardedInvocation cinv
        23: .line 2243
            aload 8 /* cinv */
            ifnull 25
        24: .line 2244
            aload 8 /* cinv */
            areturn
        end local 8 // jdk.dynalink.linker.GuardedInvocation cinv
        25: .line 2248
      StackMap locals: jdk.dynalink.linker.GuardedInvocation jdk.nashorn.internal.runtime.GlobalConstants
      StackMap stack:
            aload 6 /* inv */
            areturn
        end local 7 // jdk.nashorn.internal.runtime.GlobalConstants globalConstants
        end local 6 // jdk.dynalink.linker.GuardedInvocation inv
        end local 5 // jdk.nashorn.internal.runtime.FindProperty find
        end local 4 // boolean explicitInstanceOfCheck
        end local 3 // java.lang.String name
        end local 2 // jdk.dynalink.linker.LinkRequest request
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   26     0                     this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   26     1                     desc  Ljdk/dynalink/CallSiteDescriptor;
            0   26     2                  request  Ljdk/dynalink/linker/LinkRequest;
            1   26     3                     name  Ljava/lang/String;
            4   26     4  explicitInstanceOfCheck  Z
            5   26     5                     find  Ljdk/nashorn/internal/runtime/FindProperty;
           20   26     6                      inv  Ljdk/dynalink/linker/GuardedInvocation;
           21   26     7          globalConstants  Ljdk/nashorn/internal/runtime/GlobalConstants;
           23   25     8                     cinv  Ljdk/dynalink/linker/GuardedInvocation;
    MethodParameters:
         Name  Flags
      desc     final
      request  final

  private jdk.nashorn.internal.runtime.GlobalConstants getGlobalConstants();
    descriptor: ()Ljdk/nashorn/internal/runtime/GlobalConstants;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 2253
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isGlobal:()Z
            ifne 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getContext:()Ljdk/nashorn/internal/runtime/Context;
            invokevirtual jdk.nashorn.internal.runtime.Context.getGlobalConstants:()Ljdk/nashorn/internal/runtime/GlobalConstants;
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.GlobalConstants
         2: areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  private jdk.dynalink.linker.GuardedInvocation createEmptySetMethod(jdk.dynalink.CallSiteDescriptor, boolean, java.lang.String, boolean);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;ZLjava/lang/String;Z)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // boolean explicitInstanceOfCheck
        start local 3 // java.lang.String strictErrorMessage
        start local 4 // boolean canBeFastScope
         0: .line 2257
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getOperand:(Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         1: .line 2258
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrict:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 3
         2: .line 2259
            aload 3 /* strictErrorMessage */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 5 /* name */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            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 2261
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 4
            iload 4 /* canBeFastScope */
            ifne 4
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isFastScope:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2262
      StackMap locals:
      StackMap stack:
            new jdk.dynalink.linker.GuardedInvocation
            dup
         5: .line 2263
            getstatic jdk.nashorn.internal.lookup.Lookup.EMPTY_SETTER:Ljava/lang/invoke/MethodHandle;
         6: .line 2264
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            iload 2 /* explicitInstanceOfCheck */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.getMapGuard:(Ljdk/nashorn/internal/runtime/PropertyMap;Z)Ljava/lang/invoke/MethodHandle;
         7: .line 2265
            aload 0 /* this */
            aload 5 /* name */
            aconst_null
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProtoSwitchPoints:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/ScriptObject;)[Ljava/lang/invoke/SwitchPoint;
         8: .line 2266
            iload 2 /* explicitInstanceOfCheck */
            ifeq 9
            aconst_null
            goto 10
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.dynalink.CallSiteDescriptor int java.lang.String int java.lang.String
      StackMap stack: new 4 new 4 java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.SwitchPoint[]
         9: ldc Ljava/lang/ClassCastException;
        10: .line 2262
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.dynalink.CallSiteDescriptor int java.lang.String int java.lang.String
      StackMap stack: new 4 new 4 java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.SwitchPoint[] java.lang.Class
            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 // java.lang.String name
        end local 4 // boolean canBeFastScope
        end local 3 // java.lang.String strictErrorMessage
        end local 2 // boolean explicitInstanceOfCheck
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   11     0                     this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   11     1                     desc  Ljdk/dynalink/CallSiteDescriptor;
            0   11     2  explicitInstanceOfCheck  Z
            0   11     3       strictErrorMessage  Ljava/lang/String;
            0   11     4           canBeFastScope  Z
            1   11     5                     name  Ljava/lang/String;
    MethodParameters:
                         Name  Flags
      desc                     final
      explicitInstanceOfCheck  final
      strictErrorMessage       final
      canBeFastScope           final

  private boolean extensionCheck(boolean, java.lang.String);
    descriptor: (ZLjava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // boolean isStrict
        start local 2 // java.lang.String name
         0: .line 2271
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isExtensible:()Z
            ifeq 2
         1: .line 2272
            iconst_1
            ireturn
         2: .line 2273
      StackMap locals:
      StackMap stack:
            iload 1 /* isStrict */
            ifeq 4
         3: .line 2275
            ldc "object.non.extensible"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* name */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            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
         4: .line 2278
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.String name
        end local 1 // boolean isStrict
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    5     1  isStrict  Z
            0    5     2      name  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      isStrict  final
      name      final

  private static jdk.dynalink.linker.GuardedInvocation findMegaMorphicSetMethod(jdk.dynalink.CallSiteDescriptor, java.lang.String);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljava/lang/String;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=2
        start local 0 // jdk.dynalink.CallSiteDescriptor desc
        start local 1 // java.lang.String name
         0: .line 2283
            invokestatic jdk.nashorn.internal.runtime.Context.getContextTrusted:()Ljdk/nashorn/internal/runtime/Context;
            ldc Ljdk/nashorn/internal/codegen/ObjectClassGenerator;
            invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "Megamorphic setter: "
            aastore
            dup
            iconst_1
            aload 0 /* desc */
            aastore
            dup
            iconst_2
            ldc " "
            aastore
            dup
            iconst_3
            aload 1 /* name */
            aastore
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.warning:([Ljava/lang/Object;)V
         1: .line 2284
            aload 0 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            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 2 /* type */
        start local 2 // java.lang.invoke.MethodType type
         2: .line 2286
            aload 0 /* desc */
            iconst_0
            aload 2 /* type */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findSetIndexMethod:(Ljdk/dynalink/CallSiteDescriptor;ZLjava/lang/invoke/MethodType;)Ljdk/dynalink/linker/GuardedInvocation;
            astore 3 /* inv */
        start local 3 // jdk.dynalink.linker.GuardedInvocation inv
         3: .line 2287
            aload 3 /* inv */
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 3 /* inv */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
            iconst_1
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            aload 3 /* inv */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getGuard:()Ljava/lang/invoke/MethodHandle;
            invokevirtual jdk.dynalink.linker.GuardedInvocation.replaceMethods:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        end local 3 // jdk.dynalink.linker.GuardedInvocation inv
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.CallSiteDescriptor desc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  desc  Ljdk/dynalink/CallSiteDescriptor;
            0    4     1  name  Ljava/lang/String;
            2    4     2  type  Ljava/lang/invoke/MethodType;
            3    4     3   inv  Ljdk/dynalink/linker/GuardedInvocation;
    MethodParameters:
      Name  Flags
      desc  final
      name  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=2, args_size=1
        start local 0 // java.lang.Object object
         0: .line 2292
            aload 0 /* object */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            astore 1 /* sobj */
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject sobj
         1: .line 2293
            goto 3
         2: .line 2294
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 1 /* sobj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 1 /* sobj */
         3: .line 2293
      StackMap locals:
      StackMap stack:
            aload 1 /* sobj */
            ifnull 4
            aload 1 /* sobj */
            instanceof jdk.nashorn.internal.objects.Global
            ifeq 2
         4: .line 2296
      StackMap locals:
      StackMap stack:
            aload 1 /* sobj */
            areturn
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject sobj
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  object  Ljava/lang/Object;
            1    5     1    sobj  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
        Name  Flags
      object  final

  protected jdk.dynalink.linker.GuardedInvocation findSetIndexMethod(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=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // jdk.dynalink.linker.LinkRequest request
         0: .line 2309
            aload 1 /* desc */
            aload 1 /* desc */
            aload 2 /* request */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.explicitInstanceOfCheck:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Z
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findSetIndexMethod:(Ljdk/dynalink/CallSiteDescriptor;ZLjava/lang/invoke/MethodType;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        end local 2 // jdk.dynalink.linker.LinkRequest request
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1     desc  Ljdk/dynalink/CallSiteDescriptor;
            0    1     2  request  Ljdk/dynalink/linker/LinkRequest;
    MethodParameters:
         Name  Flags
      desc     final
      request  final

  private static jdk.dynalink.linker.GuardedInvocation findSetIndexMethod(jdk.dynalink.CallSiteDescriptor, boolean, java.lang.invoke.MethodType);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;ZLjava/lang/invoke/MethodType;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // jdk.dynalink.CallSiteDescriptor desc
        start local 1 // boolean explicitInstanceOfCheck
        start local 2 // java.lang.invoke.MethodType callType
         0: .line 2322
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 1
            aload 2 /* callType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_3
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2323
      StackMap locals:
      StackMap stack:
            aload 2 /* callType */
            iconst_1
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            astore 3 /* keyClass */
        start local 3 // java.lang.Class keyClass
         2: .line 2324
            aload 2 /* callType */
            iconst_2
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            astore 4 /* valueClass */
        start local 4 // java.lang.Class valueClass
         3: .line 2326
            ldc "set"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            aload 3 /* keyClass */
            aastore
            dup
            iconst_1
            aload 4 /* valueClass */
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.findOwnMH_V:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* methodHandle */
        start local 5 // java.lang.invoke.MethodHandle methodHandle
         4: .line 2327
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 5 /* methodHandle */
            iconst_3
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getFlags:(Ljdk/dynalink/CallSiteDescriptor;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* methodHandle */
         5: .line 2329
            new jdk.dynalink.linker.GuardedInvocation
            dup
            aload 5 /* methodHandle */
            aload 2 /* callType */
            iload 1 /* explicitInstanceOfCheck */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.getScriptObjectGuard:(Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
            aconst_null
            iload 1 /* explicitInstanceOfCheck */
            ifeq 6
            aconst_null
            goto 7
      StackMap locals: jdk.dynalink.CallSiteDescriptor int java.lang.invoke.MethodType java.lang.Class java.lang.Class java.lang.invoke.MethodHandle
      StackMap stack: new 5 new 5 java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle null
         6: ldc Ljava/lang/ClassCastException;
      StackMap locals: jdk.dynalink.CallSiteDescriptor int java.lang.invoke.MethodType java.lang.Class java.lang.Class java.lang.invoke.MethodHandle
      StackMap stack: new 5 new 5 java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle null java.lang.Class
         7: 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 // java.lang.invoke.MethodHandle methodHandle
        end local 4 // java.lang.Class valueClass
        end local 3 // java.lang.Class keyClass
        end local 2 // java.lang.invoke.MethodType callType
        end local 1 // boolean explicitInstanceOfCheck
        end local 0 // jdk.dynalink.CallSiteDescriptor desc
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    8     0                     desc  Ljdk/dynalink/CallSiteDescriptor;
            0    8     1  explicitInstanceOfCheck  Z
            0    8     2                 callType  Ljava/lang/invoke/MethodType;
            2    8     3                 keyClass  Ljava/lang/Class<*>;
            3    8     4               valueClass  Ljava/lang/Class<*>;
            4    8     5             methodHandle  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                         Name  Flags
      desc                     final
      explicitInstanceOfCheck  final
      callType                 final

  public jdk.dynalink.linker.GuardedInvocation noSuchMethod(jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkRequest);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=10, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // jdk.dynalink.linker.LinkRequest request
         0: .line 2339
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getOperand:(Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         1: .line 2340
            aload 0 /* this */
            ldc "__noSuchMethod__"
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 4 /* find */
        start local 4 // jdk.nashorn.internal.runtime.FindProperty find
         2: .line 2341
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isScope:()Z
            ifeq 3
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isScope:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: java.lang.String jdk.nashorn.internal.runtime.FindProperty
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* scopeCall */
        start local 5 // boolean scopeCall
         5: .line 2343
            aload 4 /* find */
            ifnonnull 9
         6: .line 2344
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.noSuchProperty:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
         7: .line 2346
            aload 0 /* this */
            ldc "__noSuchMethod__"
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProtoSwitchPoint:(Ljava/lang/String;)Ljava/lang/invoke/SwitchPoint;
            invokevirtual jdk.dynalink.linker.GuardedInvocation.addSwitchPoint:(Ljava/lang/invoke/SwitchPoint;)Ljdk/dynalink/linker/GuardedInvocation;
         8: .line 2344
            areturn
         9: .line 2349
      StackMap locals: int
      StackMap stack:
            aload 1 /* desc */
            aload 2 /* request */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.explicitInstanceOfCheck:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Z
            istore 6 /* explicitInstanceOfCheck */
        start local 6 // boolean explicitInstanceOfCheck
        10: .line 2351
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getObjectValue:()Ljava/lang/Object;
            astore 7 /* value */
        start local 7 // java.lang.Object value
        11: .line 2352
            aload 7 /* value */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifne 13
        12: .line 2353
            aload 0 /* this */
            aload 1 /* desc */
            iload 6 /* explicitInstanceOfCheck */
            aload 3 /* name */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.createEmptyGetter:(Ljdk/dynalink/CallSiteDescriptor;ZLjava/lang/String;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        13: .line 2356
      StackMap locals: int java.lang.Object
      StackMap stack:
            aload 7 /* value */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            astore 8 /* func */
        start local 8 // jdk.nashorn.internal.runtime.ScriptFunction func
        14: .line 2357
            iload 5 /* scopeCall */
            ifeq 15
            aload 8 /* func */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.isStrict:()Z
            ifeq 15
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            goto 16
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction
      StackMap stack:
        15: aload 0 /* this */
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.PropertyAccess
        16: astore 9 /* thiz */
        start local 9 // java.lang.Object thiz
        17: .line 2360
            new jdk.dynalink.linker.GuardedInvocation
            dup
        18: .line 2361
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
        19: .line 2362
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
        20: .line 2363
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
        21: .line 2364
            aload 8 /* func */
            aload 9 /* thiz */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* name */
            aastore
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.createBound:(Ljava/lang/Object;[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptFunction;
        22: .line 2362
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
        23: .line 2365
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        24: .line 2366
            ldc Ljava/lang/Object;
            aastore
        25: .line 2361
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
        26: .line 2368
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.getIdentityGuard:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljava/lang/invoke/MethodHandle;
        27: .line 2369
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            iconst_1
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.getMapGuard:(Ljdk/nashorn/internal/runtime/PropertyMap;Z)Ljava/lang/invoke/MethodHandle;
        28: .line 2367
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.combineGuards:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
        29: .line 2360
            invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
        30: .line 2371
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProtoSwitchPoint:(Ljava/lang/String;)Ljava/lang/invoke/SwitchPoint;
            invokevirtual jdk.dynalink.linker.GuardedInvocation.addSwitchPoint:(Ljava/lang/invoke/SwitchPoint;)Ljdk/dynalink/linker/GuardedInvocation;
        31: .line 2360
            areturn
        end local 9 // java.lang.Object thiz
        end local 8 // jdk.nashorn.internal.runtime.ScriptFunction func
        end local 7 // java.lang.Object value
        end local 6 // boolean explicitInstanceOfCheck
        end local 5 // boolean scopeCall
        end local 4 // jdk.nashorn.internal.runtime.FindProperty find
        end local 3 // java.lang.String name
        end local 2 // jdk.dynalink.linker.LinkRequest request
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   32     0                     this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   32     1                     desc  Ljdk/dynalink/CallSiteDescriptor;
            0   32     2                  request  Ljdk/dynalink/linker/LinkRequest;
            1   32     3                     name  Ljava/lang/String;
            2   32     4                     find  Ljdk/nashorn/internal/runtime/FindProperty;
            5   32     5                scopeCall  Z
           10   32     6  explicitInstanceOfCheck  Z
           11   32     7                    value  Ljava/lang/Object;
           14   32     8                     func  Ljdk/nashorn/internal/runtime/ScriptFunction;
           17   32     9                     thiz  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      desc     final
      request  final

  public jdk.dynalink.linker.GuardedInvocation noSuchProperty(jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkRequest);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // jdk.dynalink.linker.LinkRequest request
         0: .line 2381
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getOperand:(Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         1: .line 2382
            aload 0 /* this */
            ldc "__noSuchProperty__"
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 4 /* find */
        start local 4 // jdk.nashorn.internal.runtime.FindProperty find
         2: .line 2383
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isScope:()Z
            ifeq 3
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isScope:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: java.lang.String jdk.nashorn.internal.runtime.FindProperty
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* scopeAccess */
        start local 5 // boolean scopeAccess
         5: .line 2385
            aload 4 /* find */
            ifnull 34
         6: .line 2386
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getObjectValue:()Ljava/lang/Object;
            astore 6 /* value */
        start local 6 // java.lang.Object value
         7: .line 2387
            aconst_null
            astore 7 /* func */
        start local 7 // jdk.nashorn.internal.runtime.ScriptFunction func
         8: .line 2388
            aconst_null
            astore 8 /* mh */
        start local 8 // java.lang.invoke.MethodHandle mh
         9: .line 2390
            aload 6 /* value */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifeq 12
        10: .line 2391
            aload 6 /* value */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            astore 7 /* func */
        11: .line 2392
            aload 7 /* func */
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            aload 3 /* name */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.getCallMethodHandle:(Ljava/lang/Object;Ljava/lang/invoke/MethodType;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
            astore 8 /* mh */
        12: .line 2395
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.String jdk.nashorn.internal.runtime.FindProperty int java.lang.Object jdk.nashorn.internal.runtime.ScriptFunction java.lang.invoke.MethodHandle
      StackMap stack:
            aload 8 /* mh */
            ifnull 34
        13: .line 2396
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 14
            aload 7 /* func */
            ifnonnull 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 2397
      StackMap locals:
      StackMap stack:
            iload 5 /* scopeAccess */
            ifeq 16
            aload 7 /* func */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.isStrict:()Z
            ifeq 16
        15: .line 2398
            aload 8 /* mh */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.bindTo:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 8 /* mh */
        16: .line 2401
      StackMap locals:
      StackMap stack:
            new jdk.dynalink.linker.GuardedInvocation
            dup
        17: .line 2402
            aload 8 /* mh */
        18: .line 2403
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.isSelf:()Z
            ifeq 24
        19: .line 2405
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
        20: .line 2406
            aload 4 /* find */
            ldc Ljava/lang/Object;
            iconst_m1
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getGetter:(Ljava/lang/Class;ILjdk/dynalink/linker/LinkRequest;)Ljava/lang/invoke/MethodHandle;
        21: .line 2407
            aload 7 /* func */
        22: .line 2404
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.getKnownFunctionPropertyGuardSelf:(Ljdk/nashorn/internal/runtime/PropertyMap;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljava/lang/invoke/MethodHandle;
        23: .line 2407
            goto 29
        24: .line 2411
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.String jdk.nashorn.internal.runtime.FindProperty int java.lang.Object jdk.nashorn.internal.runtime.ScriptFunction java.lang.invoke.MethodHandle
      StackMap stack: new 16 new 16 java.lang.invoke.MethodHandle
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
        25: .line 2412
            aload 4 /* find */
            ldc Ljava/lang/Object;
            iconst_m1
            aload 2 /* request */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getGetter:(Ljava/lang/Class;ILjdk/dynalink/linker/LinkRequest;)Ljava/lang/invoke/MethodHandle;
        26: .line 2413
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProtoChainLength:()I
        27: .line 2414
            aload 7 /* func */
        28: .line 2410
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.getKnownFunctionPropertyGuardProto:(Ljdk/nashorn/internal/runtime/PropertyMap;Ljava/lang/invoke/MethodHandle;ILjdk/nashorn/internal/runtime/ScriptFunction;)Ljava/lang/invoke/MethodHandle;
        29: .line 2415
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.String jdk.nashorn.internal.runtime.FindProperty int java.lang.Object jdk.nashorn.internal.runtime.ScriptFunction java.lang.invoke.MethodHandle
      StackMap stack: new 16 new 16 java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle
            aload 0 /* this */
            ldc "__noSuchProperty__"
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getOwner:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProtoSwitchPoints:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/ScriptObject;)[Ljava/lang/invoke/SwitchPoint;
        30: .line 2417
            aconst_null
        31: .line 2401
            invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;[Ljava/lang/invoke/SwitchPoint;Ljava/lang/Class;)V
        32: .line 2419
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProtoSwitchPoint:(Ljava/lang/String;)Ljava/lang/invoke/SwitchPoint;
            invokevirtual jdk.dynalink.linker.GuardedInvocation.addSwitchPoint:(Ljava/lang/invoke/SwitchPoint;)Ljdk/dynalink/linker/GuardedInvocation;
        33: .line 2401
            areturn
        end local 8 // java.lang.invoke.MethodHandle mh
        end local 7 // jdk.nashorn.internal.runtime.ScriptFunction func
        end local 6 // java.lang.Object value
        34: .line 2423
      StackMap locals:
      StackMap stack:
            iload 5 /* scopeAccess */
            ifeq 36
        35: .line 2424
            ldc "not.defined"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* name */
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.referenceError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        36: .line 2427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* desc */
            aload 1 /* desc */
            aload 2 /* request */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.explicitInstanceOfCheck:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Z
            aload 3 /* name */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.createEmptyGetter:(Ljdk/dynalink/CallSiteDescriptor;ZLjava/lang/String;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        end local 5 // boolean scopeAccess
        end local 4 // jdk.nashorn.internal.runtime.FindProperty find
        end local 3 // java.lang.String name
        end local 2 // jdk.dynalink.linker.LinkRequest request
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   37     0         this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   37     1         desc  Ljdk/dynalink/CallSiteDescriptor;
            0   37     2      request  Ljdk/dynalink/linker/LinkRequest;
            1   37     3         name  Ljava/lang/String;
            2   37     4         find  Ljdk/nashorn/internal/runtime/FindProperty;
            5   37     5  scopeAccess  Z
            7   34     6        value  Ljava/lang/Object;
            8   34     7         func  Ljdk/nashorn/internal/runtime/ScriptFunction;
            9   34     8           mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
         Name  Flags
      desc     final
      request  final

  protected java.lang.Object invokeNoSuchProperty(java.lang.Object, boolean, int);
    descriptor: (Ljava/lang/Object;ZI)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // boolean isScope
        start local 3 // int programPoint
         0: .line 2438
            aload 0 /* this */
            ldc "__noSuchProperty__"
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 4 /* find */
        start local 4 // jdk.nashorn.internal.runtime.FindProperty find
         1: .line 2439
            aload 4 /* find */
            ifnull 2
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getObjectValue:()Ljava/lang/Object;
            goto 3
      StackMap locals: jdk.nashorn.internal.runtime.FindProperty
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
         3: astore 5 /* func */
        start local 5 // java.lang.Object func
         4: .line 2441
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            astore 6 /* ret */
        start local 6 // java.lang.Object ret
         5: .line 2442
            aload 5 /* func */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifeq 12
         6: .line 2443
            aload 5 /* func */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            astore 7 /* sfunc */
        start local 7 // jdk.nashorn.internal.runtime.ScriptFunction sfunc
         7: .line 2444
            iload 2 /* isScope */
            ifeq 8
            aload 7 /* sfunc */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.isStrict:()Z
            ifeq 8
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            goto 9
      StackMap locals: java.lang.Object java.lang.Object jdk.nashorn.internal.runtime.ScriptFunction
      StackMap stack:
         8: aload 0 /* this */
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.PropertyAccess
         9: astore 8 /* self */
        start local 8 // java.lang.Object self
        10: .line 2445
            aload 7 /* sfunc */
            aload 8 /* self */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.apply:(Ljdk/nashorn/internal/runtime/ScriptFunction;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* ret */
        end local 8 // java.lang.Object self
        end local 7 // jdk.nashorn.internal.runtime.ScriptFunction sfunc
        11: .line 2446
            goto 14
      StackMap locals:
      StackMap stack:
        12: iload 2 /* isScope */
            ifeq 14
        13: .line 2447
            ldc "not.defined"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.referenceError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        14: .line 2450
      StackMap locals:
      StackMap stack:
            iload 3 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.UnwarrantedOptimismException.isValid:(I)Z
            ifeq 16
        15: .line 2451
            new jdk.nashorn.internal.runtime.UnwarrantedOptimismException
            dup
            aload 6 /* ret */
            iload 3 /* programPoint */
            invokespecial jdk.nashorn.internal.runtime.UnwarrantedOptimismException.<init>:(Ljava/lang/Object;I)V
            athrow
        16: .line 2454
      StackMap locals:
      StackMap stack:
            aload 6 /* ret */
            areturn
        end local 6 // java.lang.Object ret
        end local 5 // java.lang.Object func
        end local 4 // jdk.nashorn.internal.runtime.FindProperty find
        end local 3 // int programPoint
        end local 2 // boolean isScope
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   17     1           key  Ljava/lang/Object;
            0   17     2       isScope  Z
            0   17     3  programPoint  I
            1   17     4          find  Ljdk/nashorn/internal/runtime/FindProperty;
            4   17     5          func  Ljava/lang/Object;
            5   17     6           ret  Ljava/lang/Object;
            7   11     7         sfunc  Ljdk/nashorn/internal/runtime/ScriptFunction;
           10   11     8          self  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      key           final
      isScope       final
      programPoint  final

  private java.lang.Object getNoSuchMethod(java.lang.String, boolean, int);
    descriptor: (Ljava/lang/String;ZI)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.String name
        start local 2 // boolean isScope
        start local 3 // int programPoint
         0: .line 2465
            aload 0 /* this */
            ldc "__noSuchMethod__"
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 4 /* find */
        start local 4 // jdk.nashorn.internal.runtime.FindProperty find
         1: .line 2467
            aload 4 /* find */
            ifnonnull 3
         2: .line 2468
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* isScope */
            iload 3 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.invokeNoSuchProperty:(Ljava/lang/Object;ZI)Ljava/lang/Object;
            areturn
         3: .line 2471
      StackMap locals: jdk.nashorn.internal.runtime.FindProperty
      StackMap stack:
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getObjectValue:()Ljava/lang/Object;
            astore 5 /* value */
        start local 5 // java.lang.Object value
         4: .line 2472
            aload 5 /* value */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifne 8
         5: .line 2473
            iload 2 /* isScope */
            ifeq 7
         6: .line 2474
            ldc "not.defined"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* name */
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.referenceError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
         7: .line 2476
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            areturn
         8: .line 2479
      StackMap locals:
      StackMap stack:
            aload 5 /* value */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            astore 6 /* func */
        start local 6 // jdk.nashorn.internal.runtime.ScriptFunction func
         9: .line 2480
            iload 2 /* isScope */
            ifeq 10
            aload 6 /* func */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.isStrict:()Z
            ifeq 10
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            goto 11
      StackMap locals: jdk.nashorn.internal.runtime.ScriptFunction
      StackMap stack:
        10: aload 0 /* this */
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.PropertyAccess
        11: astore 7 /* self */
        start local 7 // java.lang.Object self
        12: .line 2481
            aload 6 /* func */
            aload 7 /* self */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.createBound:(Ljava/lang/Object;[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptFunction;
            areturn
        end local 7 // java.lang.Object self
        end local 6 // jdk.nashorn.internal.runtime.ScriptFunction func
        end local 5 // java.lang.Object value
        end local 4 // jdk.nashorn.internal.runtime.FindProperty find
        end local 3 // int programPoint
        end local 2 // boolean isScope
        end local 1 // java.lang.String name
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   13     1          name  Ljava/lang/String;
            0   13     2       isScope  Z
            0   13     3  programPoint  I
            1   13     4          find  Ljdk/nashorn/internal/runtime/FindProperty;
            4   13     5         value  Ljava/lang/Object;
            9   13     6          func  Ljdk/nashorn/internal/runtime/ScriptFunction;
           12   13     7          self  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      name          final
      isScope       final
      programPoint  final

  private jdk.dynalink.linker.GuardedInvocation createEmptyGetter(jdk.dynalink.CallSiteDescriptor, boolean, java.lang.String);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;ZLjava/lang/String;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // boolean explicitInstanceOfCheck
        start local 3 // java.lang.String name
         0: .line 2485
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isOptimistic:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 2
         1: .line 2486
            new jdk.nashorn.internal.runtime.UnwarrantedOptimismException
            dup
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getProgramPoint:(Ljdk/dynalink/CallSiteDescriptor;)I
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokespecial jdk.nashorn.internal.runtime.UnwarrantedOptimismException.<init>:(Ljava/lang/Object;ILjdk/nashorn/internal/codegen/types/Type;)V
            athrow
         2: .line 2489
      StackMap locals:
      StackMap stack:
            new jdk.dynalink.linker.GuardedInvocation
            dup
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokestatic jdk.nashorn.internal.lookup.Lookup.emptyGetter:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
         3: .line 2490
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            iload 2 /* explicitInstanceOfCheck */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.getMapGuard:(Ljdk/nashorn/internal/runtime/PropertyMap;Z)Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            aload 3 /* name */
            aconst_null
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProtoSwitchPoints:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/ScriptObject;)[Ljava/lang/invoke/SwitchPoint;
         4: .line 2491
            iload 2 /* explicitInstanceOfCheck */
            ifeq 5
            aconst_null
            goto 6
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.dynalink.CallSiteDescriptor int java.lang.String
      StackMap stack: new 2 new 2 java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.SwitchPoint[]
         5: ldc Ljava/lang/ClassCastException;
         6: .line 2489
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.dynalink.CallSiteDescriptor int java.lang.String
      StackMap stack: new 2 new 2 java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.SwitchPoint[] java.lang.Class
            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 3 // java.lang.String name
        end local 2 // boolean explicitInstanceOfCheck
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    7     0                     this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    7     1                     desc  Ljdk/dynalink/CallSiteDescriptor;
            0    7     2  explicitInstanceOfCheck  Z
            0    7     3                     name  Ljava/lang/String;
    MethodParameters:
                         Name  Flags
      desc                     final
      explicitInstanceOfCheck  final
      name                     final

  private jdk.nashorn.internal.runtime.Property addSpillProperty(java.lang.Object, int, java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;Z)Ljdk/nashorn/internal/runtime/Property;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // int flags
        start local 3 // java.lang.Object value
        start local 4 // boolean hasInitialValue
         0: .line 2568
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 5 /* propertyMap */
        start local 5 // jdk.nashorn.internal.runtime.PropertyMap propertyMap
         1: .line 2569
            aload 5 /* propertyMap */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.getFreeFieldSlot:()I
            istore 6 /* fieldSlot */
        start local 6 // int fieldSlot
         2: .line 2570
            iload 2 /* flags */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.useDualFields:()Z
            ifeq 3
            sipush 2048
            goto 4
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object int java.lang.Object int jdk.nashorn.internal.runtime.PropertyMap int
      StackMap stack: int
         3: iconst_0
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object int java.lang.Object int jdk.nashorn.internal.runtime.PropertyMap int
      StackMap stack: int int
         4: ior
            istore 7 /* propertyFlags */
        start local 7 // int propertyFlags
         5: .line 2573
            iload 6 /* fieldSlot */
            iconst_m1
            if_icmple 12
         6: .line 2574
            iload 4 /* hasInitialValue */
            ifeq 8
         7: .line 2575
            new jdk.nashorn.internal.runtime.AccessorProperty
            dup
            aload 1 /* key */
            iload 7 /* propertyFlags */
            iload 6 /* fieldSlot */
            aload 0 /* this */
            aload 3 /* value */
            invokespecial jdk.nashorn.internal.runtime.AccessorProperty.<init>:(Ljava/lang/Object;IILjdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/Object;)V
            goto 9
         8: .line 2576
      StackMap locals: int
      StackMap stack:
            new jdk.nashorn.internal.runtime.AccessorProperty
            dup
            aload 1 /* key */
            iload 7 /* propertyFlags */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iload 6 /* fieldSlot */
            invokespecial jdk.nashorn.internal.runtime.AccessorProperty.<init>:(Ljava/lang/Object;ILjava/lang/Class;I)V
         9: .line 2574
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.AccessorProperty
            astore 8 /* property */
        start local 8 // jdk.nashorn.internal.runtime.Property property
        10: .line 2577
            aload 0 /* this */
            aload 8 /* property */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addOwnProperty:(Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/Property;
            astore 8 /* property */
        11: .line 2578
            goto 19
        end local 8 // jdk.nashorn.internal.runtime.Property property
        12: .line 2579
      StackMap locals:
      StackMap stack:
            aload 5 /* propertyMap */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.getFreeSpillSlot:()I
            istore 9 /* spillSlot */
        start local 9 // int spillSlot
        13: .line 2580
            iload 4 /* hasInitialValue */
            ifeq 15
        14: .line 2581
            new jdk.nashorn.internal.runtime.SpillProperty
            dup
            aload 1 /* key */
            iload 7 /* propertyFlags */
            iload 9 /* spillSlot */
            aload 0 /* this */
            aload 3 /* value */
            invokespecial jdk.nashorn.internal.runtime.SpillProperty.<init>:(Ljava/lang/Object;IILjdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/Object;)V
            goto 16
        15: .line 2582
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object int java.lang.Object int jdk.nashorn.internal.runtime.PropertyMap int int top int
      StackMap stack:
            new jdk.nashorn.internal.runtime.SpillProperty
            dup
            aload 1 /* key */
            iload 7 /* propertyFlags */
            iload 9 /* spillSlot */
            invokespecial jdk.nashorn.internal.runtime.SpillProperty.<init>:(Ljava/lang/Object;II)V
        16: .line 2580
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.SpillProperty
            astore 8 /* property */
        start local 8 // jdk.nashorn.internal.runtime.Property property
        17: .line 2583
            aload 0 /* this */
            aload 8 /* property */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addOwnProperty:(Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/Property;
            astore 8 /* property */
        18: .line 2584
            aload 0 /* this */
            aload 8 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.getSlot:()I
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.ensureSpillSize:(I)Ljava/lang/Object;
            pop
        end local 9 // int spillSlot
        19: .line 2586
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object int java.lang.Object int jdk.nashorn.internal.runtime.PropertyMap int int jdk.nashorn.internal.runtime.Property
      StackMap stack:
            aload 8 /* property */
            areturn
        end local 8 // jdk.nashorn.internal.runtime.Property property
        end local 7 // int propertyFlags
        end local 6 // int fieldSlot
        end local 5 // jdk.nashorn.internal.runtime.PropertyMap propertyMap
        end local 4 // boolean hasInitialValue
        end local 3 // java.lang.Object value
        end local 2 // int flags
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   20     1              key  Ljava/lang/Object;
            0   20     2            flags  I
            0   20     3            value  Ljava/lang/Object;
            0   20     4  hasInitialValue  Z
            1   20     5      propertyMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            2   20     6        fieldSlot  I
            5   20     7    propertyFlags  I
           10   12     8         property  Ljdk/nashorn/internal/runtime/Property;
           17   20     8         property  Ljdk/nashorn/internal/runtime/Property;
           13   19     9        spillSlot  I
    MethodParameters:
                 Name  Flags
      key              final
      flags            final
      value            final
      hasInitialValue  final

  java.lang.invoke.MethodHandle addSpill(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Class type
        start local 2 // java.lang.String key
         0: .line 2595
            aload 0 /* this */
            aload 2 /* key */
            iconst_0
            aconst_null
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addSpillProperty:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljdk/nashorn/internal/runtime/Property;
            aload 1 /* type */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.Property.getSetter:(Ljava/lang/Class;Ljdk/nashorn/internal/runtime/PropertyMap;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // java.lang.String key
        end local 1 // java.lang.Class type
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    1     1  type  Ljava/lang/Class<*>;
            0    1     2   key  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      type  final
      key   final

  protected static java.lang.invoke.MethodHandle pairArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandle methodHandle
        start local 1 // java.lang.invoke.MethodType callType
         0: .line 2609
            aload 0 /* methodHandle */
            aload 1 /* callType */
            aconst_null
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.pairArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/Boolean;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.invoke.MethodType callType
        end local 0 // java.lang.invoke.MethodHandle methodHandle
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  methodHandle  Ljava/lang/invoke/MethodHandle;
            0    1     1      callType  Ljava/lang/invoke/MethodType;
    MethodParameters:
              Name  Flags
      methodHandle  final
      callType      final

  public static java.lang.invoke.MethodHandle pairArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, java.lang.Boolean);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/Boolean;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // java.lang.invoke.MethodHandle methodHandle
        start local 1 // java.lang.invoke.MethodType callType
        start local 2 // java.lang.Boolean callerVarArg
         0: .line 2628
            aload 0 /* methodHandle */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 3 /* methodType */
        start local 3 // java.lang.invoke.MethodType methodType
         1: .line 2629
            aload 3 /* methodType */
            aload 1 /* callType */
            aload 3 /* methodType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 2630
            aload 0 /* methodHandle */
            areturn
         3: .line 2633
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            aload 3 /* methodType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 4 /* parameterCount */
        start local 4 // int parameterCount
         4: .line 2634
            aload 1 /* callType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 5 /* callCount */
        start local 5 // int callCount
         5: .line 2636
            iload 4 /* parameterCount */
            ifle 6
            aload 3 /* methodType */
            iload 4 /* parameterCount */
            iconst_1
            isub
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: int int
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* isCalleeVarArg */
        start local 6 // boolean isCalleeVarArg
         8: .line 2637
            aload 2 /* callerVarArg */
            ifnull 9
            aload 2 /* callerVarArg */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            goto 13
      StackMap locals: int
      StackMap stack:
         9: iload 5 /* callCount */
            ifle 12
        10: .line 2638
            aload 1 /* callType */
            iload 5 /* callCount */
            iconst_1
            isub
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 12
        11: .line 2637
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 7 /* isCallerVarArg */
        start local 7 // boolean isCallerVarArg
        14: .line 2640
            iload 6 /* isCalleeVarArg */
            ifeq 19
        15: .line 2641
            iload 7 /* isCallerVarArg */
            ifeq 17
        16: .line 2642
            aload 0 /* methodHandle */
            goto 18
        17: .line 2643
      StackMap locals: int
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 0 /* methodHandle */
            ldc [Ljava/lang/Object;
            iload 5 /* callCount */
            iload 4 /* parameterCount */
            isub
            iconst_1
            iadd
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.asCollector:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
        18: .line 2641
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandle
            areturn
        19: .line 2646
      StackMap locals:
      StackMap stack:
            iload 7 /* isCallerVarArg */
            ifeq 21
        20: .line 2647
            aload 0 /* methodHandle */
            iload 5 /* callCount */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.adaptHandleToVarArgCallSite:(Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            areturn
        21: .line 2650
      StackMap locals:
      StackMap stack:
            iload 5 /* callCount */
            iload 4 /* parameterCount */
            if_icmpge 32
        22: .line 2651
            iload 4 /* parameterCount */
            iload 5 /* callCount */
            isub
            istore 8 /* missingArgs */
        start local 8 // int missingArgs
        23: .line 2652
            iload 8 /* missingArgs */
            anewarray java.lang.Object
            astore 9 /* fillers */
        start local 9 // java.lang.Object[] fillers
        24: .line 2654
            aload 9 /* fillers */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
        25: .line 2656
            iload 6 /* isCalleeVarArg */
            ifeq 27
        26: .line 2657
            aload 9 /* fillers */
            iload 8 /* missingArgs */
            iconst_1
            isub
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.EMPTY_ARRAY:[Ljava/lang/Object;
            aastore
        27: .line 2660
      StackMap locals: int java.lang.Object[]
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
        28: .line 2661
            aload 0 /* methodHandle */
        29: .line 2662
            iload 4 /* parameterCount */
            iload 8 /* missingArgs */
            isub
        30: .line 2663
            aload 9 /* fillers */
        31: .line 2660
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 9 // java.lang.Object[] fillers
        end local 8 // int missingArgs
        32: .line 2666
      StackMap locals:
      StackMap stack:
            iload 5 /* callCount */
            iload 4 /* parameterCount */
            if_icmple 37
        33: .line 2667
            iload 5 /* callCount */
            iload 4 /* parameterCount */
            isub
            istore 8 /* discardedArgs */
        start local 8 // int discardedArgs
        34: .line 2669
            iload 8 /* discardedArgs */
            anewarray java.lang.Class
            astore 9 /* discards */
        start local 9 // java.lang.Class[] discards
        35: .line 2670
            aload 9 /* discards */
            ldc Ljava/lang/Object;
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
        36: .line 2672
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 0 /* methodHandle */
            iload 5 /* callCount */
            iload 8 /* discardedArgs */
            isub
            aload 9 /* discards */
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 9 // java.lang.Class[] discards
        end local 8 // int discardedArgs
        37: .line 2675
      StackMap locals:
      StackMap stack:
            aload 0 /* methodHandle */
            areturn
        end local 7 // boolean isCallerVarArg
        end local 6 // boolean isCalleeVarArg
        end local 5 // int callCount
        end local 4 // int parameterCount
        end local 3 // java.lang.invoke.MethodType methodType
        end local 2 // java.lang.Boolean callerVarArg
        end local 1 // java.lang.invoke.MethodType callType
        end local 0 // java.lang.invoke.MethodHandle methodHandle
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   38     0    methodHandle  Ljava/lang/invoke/MethodHandle;
            0   38     1        callType  Ljava/lang/invoke/MethodType;
            0   38     2    callerVarArg  Ljava/lang/Boolean;
            1   38     3      methodType  Ljava/lang/invoke/MethodType;
            4   38     4  parameterCount  I
            5   38     5       callCount  I
            8   38     6  isCalleeVarArg  Z
           14   38     7  isCallerVarArg  Z
           23   32     8     missingArgs  I
           24   32     9         fillers  [Ljava/lang/Object;
           34   37     8   discardedArgs  I
           35   37     9        discards  [Ljava/lang/Class;
    MethodParameters:
              Name  Flags
      methodHandle  final
      callType      final
      callerVarArg  final

  static java.lang.invoke.MethodHandle adaptHandleToVarArgCallSite(java.lang.invoke.MethodHandle, int);
    descriptor: (Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=13, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandle mh
        start local 1 // int callSiteParamCount
         0: .line 2679
            aload 0 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iload 1 /* callSiteParamCount */
            isub
            iconst_1
            iadd
            istore 2 /* spreadArgs */
        start local 2 // int spreadArgs
         1: .line 2680
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
         2: .line 2681
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
         3: .line 2682
            aload 0 /* mh */
         4: .line 2683
            ldc [Ljava/lang/Object;
         5: .line 2684
            iload 2 /* spreadArgs */
         6: .line 2681
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.asSpreader:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
         7: .line 2685
            iload 1 /* callSiteParamCount */
            iconst_1
            isub
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
         8: .line 2686
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
         9: .line 2687
            getstatic jdk.nashorn.internal.runtime.ScriptObject.TRUNCATINGFILTER:Ljava/lang/invoke/MethodHandle;
        10: .line 2688
            iconst_0
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        11: .line 2689
            iload 2 /* spreadArgs */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        12: .line 2686
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            aastore
        13: .line 2680
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // int spreadArgs
        end local 1 // int callSiteParamCount
        end local 0 // java.lang.invoke.MethodHandle mh
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0                  mh  Ljava/lang/invoke/MethodHandle;
            0   14     1  callSiteParamCount  I
            1   14     2          spreadArgs  I
    MethodParameters:
                    Name  Flags
      mh                  final
      callSiteParamCount  final

  private static java.lang.Object[] truncatingFilter(int, java.lang.Object[]);
    descriptor: (I[Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // int n
        start local 1 // java.lang.Object[] array
         0: .line 2695
            aload 1 /* array */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* array */
            arraylength
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* length */
        start local 2 // int length
         3: .line 2696
            iload 0 /* n */
            iload 2 /* length */
            if_icmpne 7
         4: .line 2697
            aload 1 /* array */
            ifnonnull 5
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.EMPTY_ARRAY:[Ljava/lang/Object;
            goto 6
      StackMap locals: int
      StackMap stack:
         5: aload 1 /* array */
      StackMap locals:
      StackMap stack: java.lang.Object[]
         6: areturn
         7: .line 2700
      StackMap locals:
      StackMap stack:
            iload 0 /* n */
            anewarray java.lang.Object
            astore 3 /* newArray */
        start local 3 // java.lang.Object[] newArray
         8: .line 2702
            aload 1 /* array */
            ifnull 10
         9: .line 2703
            aload 1 /* array */
            iconst_0
            aload 3 /* newArray */
            iconst_0
            iload 0 /* n */
            iload 2 /* length */
            invokestatic java.lang.Math.min:(II)I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 2706
      StackMap locals: java.lang.Object[]
      StackMap stack:
            iload 2 /* length */
            iload 0 /* n */
            if_icmpge 17
        11: .line 2707
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            astore 4 /* fill */
        start local 4 // java.lang.Object fill
        12: .line 2709
            iload 2 /* length */
            istore 5 /* i */
        start local 5 // int i
        13: goto 16
        14: .line 2710
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 3 /* newArray */
            iload 5 /* i */
            aload 4 /* fill */
            aastore
        15: .line 2709
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            iload 0 /* n */
            if_icmplt 14
        end local 5 // int i
        end local 4 // java.lang.Object fill
        17: .line 2714
      StackMap locals:
      StackMap stack:
            aload 3 /* newArray */
            areturn
        end local 3 // java.lang.Object[] newArray
        end local 2 // int length
        end local 1 // java.lang.Object[] array
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0         n  I
            0   18     1     array  [Ljava/lang/Object;
            3   18     2    length  I
            8   18     3  newArray  [Ljava/lang/Object;
           12   17     4      fill  Ljava/lang/Object;
           13   17     5         i  I
    MethodParameters:
       Name  Flags
      n      final
      array  final

  public final void setLength(long);
    descriptor: (J)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=8, locals=11, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // long newLength
         0: .line 2723
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 3 /* data */
        start local 3 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         1: .line 2724
            aload 3 /* data */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.length:()J
            lstore 4 /* arrayLength */
        start local 4 // long arrayLength
         2: .line 2725
            lload 1 /* newLength */
            lload 4 /* arrayLength */
            lcmp
            ifne 4
         3: .line 2726
            return
         4: .line 2729
      StackMap locals: jdk.nashorn.internal.runtime.arrays.ArrayData long
      StackMap stack:
            lload 1 /* newLength */
            lload 4 /* arrayLength */
            lcmp
            ifle 7
         5: .line 2730
            aload 0 /* this */
            aload 3 /* data */
            lload 1 /* newLength */
            lconst_1
            lsub
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.ensure:(J)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            lload 4 /* arrayLength */
            lload 1 /* newLength */
            lconst_1
            lsub
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.safeDelete:(JJZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         6: .line 2731
            return
         7: .line 2734
      StackMap locals:
      StackMap stack:
            lload 1 /* newLength */
            lload 4 /* arrayLength */
            lcmp
            ifge 23
         8: .line 2735
            lload 1 /* newLength */
            lstore 6 /* actualLength */
        start local 6 // long actualLength
         9: .line 2739
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.containsArrayKeys:()Z
            ifeq 21
        10: .line 2741
            lload 4 /* arrayLength */
            lconst_1
            lsub
            lstore 8 /* l */
        start local 8 // long l
        11: goto 20
        12: .line 2742
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            lload 8 /* l */
            l2d
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 10 /* find */
        start local 10 // jdk.nashorn.internal.runtime.FindProperty find
        13: .line 2744
            aload 10 /* find */
            ifnull 19
        14: .line 2746
            aload 10 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.Property.isConfigurable:()Z
            ifeq 17
        15: .line 2747
            aload 0 /* this */
            aload 10 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.deleteOwnProperty:(Ljdk/nashorn/internal/runtime/Property;)Z
            pop
        16: .line 2748
            goto 19
        17: .line 2749
      StackMap locals: jdk.nashorn.internal.runtime.FindProperty
      StackMap stack:
            lload 8 /* l */
            lconst_1
            ladd
            lstore 6 /* actualLength */
        18: .line 2750
            goto 21
        end local 10 // jdk.nashorn.internal.runtime.FindProperty find
        19: .line 2741
      StackMap locals:
      StackMap stack:
            lload 8 /* l */
            lconst_1
            lsub
            lstore 8 /* l */
      StackMap locals:
      StackMap stack:
        20: lload 8 /* l */
            lload 1 /* newLength */
            lcmp
            ifge 12
        end local 8 // long l
        21: .line 2756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* data */
            lload 6 /* actualLength */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.shrink:(J)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
        22: .line 2757
            aload 3 /* data */
            lload 6 /* actualLength */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.setLength:(J)V
        end local 6 // long actualLength
        23: .line 2759
      StackMap locals:
      StackMap stack:
            return
        end local 4 // long arrayLength
        end local 3 // jdk.nashorn.internal.runtime.arrays.ArrayData data
        end local 1 // long newLength
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   24     1     newLength  J
            1   24     3          data  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            2   24     4   arrayLength  J
            9   23     6  actualLength  J
           11   21     8             l  J
           13   19    10          find  Ljdk/nashorn/internal/runtime/FindProperty;
    MethodParameters:
           Name  Flags
      newLength  final

  private int getInt(int, java.lang.Object, int);
    descriptor: (ILjava/lang/Object;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int index
        start local 2 // java.lang.Object key
        start local 3 // int programPoint
         0: .line 2762
            iload 1 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 14
         1: .line 2763
            aload 0 /* this */
            astore 4 /* object */
        start local 4 // jdk.nashorn.internal.runtime.ScriptObject object
         2: .line 2764
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 4 /* object */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.containsArrayKeys:()Z
            ifeq 6
         3: .line 2765
            aload 4 /* object */
            aload 2 /* key */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 5 /* find */
        start local 5 // jdk.nashorn.internal.runtime.FindProperty find
         4: .line 2767
            aload 5 /* find */
            ifnull 6
         5: .line 2768
            aload 5 /* find */
            iload 3 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.getIntValue:(Ljdk/nashorn/internal/runtime/FindProperty;I)I
            ireturn
        end local 5 // jdk.nashorn.internal.runtime.FindProperty find
         6: .line 2772
      StackMap locals:
      StackMap stack:
            aload 4 /* object */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            dup
            astore 4 /* object */
            ifnonnull 8
         7: .line 2773
            goto 17
         8: .line 2776
      StackMap locals:
      StackMap stack:
            aload 4 /* object */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 5 /* array */
        start local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         9: .line 2778
            aload 5 /* array */
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 2
        10: .line 2779
            iload 3 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.UnwarrantedOptimismException.isValid:(I)Z
            ifeq 12
        11: .line 2780
            aload 5 /* array */
            iload 1 /* index */
            iload 3 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getIntOptimistic:(II)I
            goto 13
        12: .line 2781
      StackMap locals: jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 5 /* array */
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getInt:(I)I
        13: .line 2779
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 4 // jdk.nashorn.internal.runtime.ScriptObject object
        14: .line 2785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 4 /* find */
        start local 4 // jdk.nashorn.internal.runtime.FindProperty find
        15: .line 2787
            aload 4 /* find */
            ifnull 17
        16: .line 2788
            aload 4 /* find */
            iload 3 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.getIntValue:(Ljdk/nashorn/internal/runtime/FindProperty;I)I
            ireturn
        end local 4 // jdk.nashorn.internal.runtime.FindProperty find
        17: .line 2792
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            iconst_0
            iload 3 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.invokeNoSuchProperty:(Ljava/lang/Object;ZI)Ljava/lang/Object;
            invokestatic jdk.nashorn.internal.runtime.JSType.toInt32:(Ljava/lang/Object;)I
            ireturn
        end local 3 // int programPoint
        end local 2 // java.lang.Object key
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   18     1         index  I
            0   18     2           key  Ljava/lang/Object;
            0   18     3  programPoint  I
            2   14     4        object  Ljdk/nashorn/internal/runtime/ScriptObject;
            4    6     5          find  Ljdk/nashorn/internal/runtime/FindProperty;
            9   14     5         array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
           15   17     4          find  Ljdk/nashorn/internal/runtime/FindProperty;
    MethodParameters:
              Name  Flags
      index         final
      key           final
      programPoint  final

  public int getInt(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // int programPoint
         0: .line 2797
            aload 1 /* key */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 3 /* primitiveKey */
        start local 3 // java.lang.Object primitiveKey
         1: .line 2798
            aload 3 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 4 /* index */
        start local 4 // int index
         2: .line 2799
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 5 /* array */
        start local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         3: .line 2801
            aload 5 /* array */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 7
         4: .line 2802
            iload 2 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.UnwarrantedOptimismException.isValid:(I)Z
            ifeq 5
            aload 5 /* array */
            iload 4 /* index */
            iload 2 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getIntOptimistic:(II)I
            goto 6
      StackMap locals: java.lang.Object int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
         5: aload 5 /* array */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getInt:(I)I
      StackMap locals:
      StackMap stack: int
         6: ireturn
         7: .line 2805
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* index */
            aload 3 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.JSType.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
            iload 2 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getInt:(ILjava/lang/Object;I)I
            ireturn
        end local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 4 // int index
        end local 3 // java.lang.Object primitiveKey
        end local 2 // int programPoint
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    8     1           key  Ljava/lang/Object;
            0    8     2  programPoint  I
            1    8     3  primitiveKey  Ljava/lang/Object;
            2    8     4         index  I
            3    8     5         array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
              Name  Flags
      key           final
      programPoint  final

  public int getInt(double, int);
    descriptor: (DI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // double key
        start local 3 // int programPoint
         0: .line 2810
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
            istore 4 /* index */
        start local 4 // int index
         1: .line 2811
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 5 /* array */
        start local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         2: .line 2813
            aload 5 /* array */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 6
         3: .line 2814
            iload 3 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.UnwarrantedOptimismException.isValid:(I)Z
            ifeq 4
            aload 5 /* array */
            iload 4 /* index */
            iload 3 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getIntOptimistic:(II)I
            goto 5
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
         4: aload 5 /* array */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getInt:(I)I
      StackMap locals:
      StackMap stack: int
         5: ireturn
         6: .line 2817
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* index */
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            iload 3 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getInt:(ILjava/lang/Object;I)I
            ireturn
        end local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 4 // int index
        end local 3 // int programPoint
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    7     1           key  D
            0    7     3  programPoint  I
            1    7     4         index  I
            2    7     5         array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
              Name  Flags
      key           final
      programPoint  final

  public int getInt(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int key
        start local 2 // int programPoint
         0: .line 2822
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(I)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 2823
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 4 /* array */
        start local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         2: .line 2825
            aload 4 /* array */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 6
         3: .line 2826
            iload 2 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.UnwarrantedOptimismException.isValid:(I)Z
            ifeq 4
            aload 4 /* array */
            iload 1 /* key */
            iload 2 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getIntOptimistic:(II)I
            goto 5
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
         4: aload 4 /* array */
            iload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getInt:(I)I
      StackMap locals:
      StackMap stack: int
         5: ireturn
         6: .line 2829
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* index */
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(I)Ljava/lang/String;
            iload 2 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getInt:(ILjava/lang/Object;I)I
            ireturn
        end local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 3 // int index
        end local 2 // int programPoint
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    7     1           key  I
            0    7     2  programPoint  I
            1    7     3         index  I
            2    7     4         array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
              Name  Flags
      key           final
      programPoint  final

  private double getDouble(int, java.lang.Object, int);
    descriptor: (ILjava/lang/Object;I)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int index
        start local 2 // java.lang.Object key
        start local 3 // int programPoint
         0: .line 2833
            iload 1 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 14
         1: .line 2834
            aload 0 /* this */
            astore 4 /* object */
        start local 4 // jdk.nashorn.internal.runtime.ScriptObject object
         2: .line 2835
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 4 /* object */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.containsArrayKeys:()Z
            ifeq 6
         3: .line 2836
            aload 4 /* object */
            aload 2 /* key */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 5 /* find */
        start local 5 // jdk.nashorn.internal.runtime.FindProperty find
         4: .line 2837
            aload 5 /* find */
            ifnull 6
         5: .line 2838
            aload 5 /* find */
            iload 3 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.getDoubleValue:(Ljdk/nashorn/internal/runtime/FindProperty;I)D
            dreturn
        end local 5 // jdk.nashorn.internal.runtime.FindProperty find
         6: .line 2842
      StackMap locals:
      StackMap stack:
            aload 4 /* object */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            dup
            astore 4 /* object */
            ifnonnull 8
         7: .line 2843
            goto 17
         8: .line 2846
      StackMap locals:
      StackMap stack:
            aload 4 /* object */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 5 /* array */
        start local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         9: .line 2848
            aload 5 /* array */
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 2
        10: .line 2849
            iload 3 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.UnwarrantedOptimismException.isValid:(I)Z
            ifeq 12
        11: .line 2850
            aload 5 /* array */
            iload 1 /* index */
            iload 3 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getDoubleOptimistic:(II)D
            goto 13
        12: .line 2851
      StackMap locals: jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 5 /* array */
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getDouble:(I)D
        13: .line 2849
      StackMap locals:
      StackMap stack: double
            dreturn
        end local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 4 // jdk.nashorn.internal.runtime.ScriptObject object
        14: .line 2855
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 4 /* find */
        start local 4 // jdk.nashorn.internal.runtime.FindProperty find
        15: .line 2857
            aload 4 /* find */
            ifnull 17
        16: .line 2858
            aload 4 /* find */
            iload 3 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.getDoubleValue:(Ljdk/nashorn/internal/runtime/FindProperty;I)D
            dreturn
        end local 4 // jdk.nashorn.internal.runtime.FindProperty find
        17: .line 2862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            iconst_0
            iconst_m1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.invokeNoSuchProperty:(Ljava/lang/Object;ZI)Ljava/lang/Object;
            invokestatic jdk.nashorn.internal.runtime.JSType.toNumber:(Ljava/lang/Object;)D
            dreturn
        end local 3 // int programPoint
        end local 2 // java.lang.Object key
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   18     1         index  I
            0   18     2           key  Ljava/lang/Object;
            0   18     3  programPoint  I
            2   14     4        object  Ljdk/nashorn/internal/runtime/ScriptObject;
            4    6     5          find  Ljdk/nashorn/internal/runtime/FindProperty;
            9   14     5         array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
           15   17     4          find  Ljdk/nashorn/internal/runtime/FindProperty;
    MethodParameters:
              Name  Flags
      index         final
      key           final
      programPoint  final

  public double getDouble(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // int programPoint
         0: .line 2867
            aload 1 /* key */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 3 /* primitiveKey */
        start local 3 // java.lang.Object primitiveKey
         1: .line 2868
            aload 3 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 4 /* index */
        start local 4 // int index
         2: .line 2869
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 5 /* array */
        start local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         3: .line 2871
            aload 5 /* array */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 7
         4: .line 2872
            iload 2 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.UnwarrantedOptimismException.isValid:(I)Z
            ifeq 5
            aload 5 /* array */
            iload 4 /* index */
            iload 2 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getDoubleOptimistic:(II)D
            goto 6
      StackMap locals: java.lang.Object int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
         5: aload 5 /* array */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getDouble:(I)D
      StackMap locals:
      StackMap stack: double
         6: dreturn
         7: .line 2875
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* index */
            aload 3 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.JSType.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
            iload 2 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getDouble:(ILjava/lang/Object;I)D
            dreturn
        end local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 4 // int index
        end local 3 // java.lang.Object primitiveKey
        end local 2 // int programPoint
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    8     1           key  Ljava/lang/Object;
            0    8     2  programPoint  I
            1    8     3  primitiveKey  Ljava/lang/Object;
            2    8     4         index  I
            3    8     5         array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
              Name  Flags
      key           final
      programPoint  final

  public double getDouble(double, int);
    descriptor: (DI)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // double key
        start local 3 // int programPoint
         0: .line 2880
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
            istore 4 /* index */
        start local 4 // int index
         1: .line 2881
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 5 /* array */
        start local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         2: .line 2883
            aload 5 /* array */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 6
         3: .line 2884
            iload 3 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.UnwarrantedOptimismException.isValid:(I)Z
            ifeq 4
            aload 5 /* array */
            iload 4 /* index */
            iload 3 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getDoubleOptimistic:(II)D
            goto 5
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
         4: aload 5 /* array */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getDouble:(I)D
      StackMap locals:
      StackMap stack: double
         5: dreturn
         6: .line 2887
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* index */
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            iload 3 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getDouble:(ILjava/lang/Object;I)D
            dreturn
        end local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 4 // int index
        end local 3 // int programPoint
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    7     1           key  D
            0    7     3  programPoint  I
            1    7     4         index  I
            2    7     5         array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
              Name  Flags
      key           final
      programPoint  final

  public double getDouble(int, int);
    descriptor: (II)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int key
        start local 2 // int programPoint
         0: .line 2892
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(I)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 2893
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 4 /* array */
        start local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         2: .line 2895
            aload 4 /* array */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 6
         3: .line 2896
            iload 2 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.UnwarrantedOptimismException.isValid:(I)Z
            ifeq 4
            aload 4 /* array */
            iload 1 /* key */
            iload 2 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getDoubleOptimistic:(II)D
            goto 5
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
         4: aload 4 /* array */
            iload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getDouble:(I)D
      StackMap locals:
      StackMap stack: double
         5: dreturn
         6: .line 2899
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* index */
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(I)Ljava/lang/String;
            iload 2 /* programPoint */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getDouble:(ILjava/lang/Object;I)D
            dreturn
        end local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 3 // int index
        end local 2 // int programPoint
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    7     1           key  I
            0    7     2  programPoint  I
            1    7     3         index  I
            2    7     4         array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
              Name  Flags
      key           final
      programPoint  final

  private java.lang.Object get(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int index
        start local 2 // java.lang.Object key
         0: .line 2903
            iload 1 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 11
         1: .line 2904
            aload 0 /* this */
            astore 3 /* object */
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject object
         2: .line 2905
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 3 /* object */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.containsArrayKeys:()Z
            ifeq 6
         3: .line 2906
            aload 3 /* object */
            aload 2 /* key */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 4 /* find */
        start local 4 // jdk.nashorn.internal.runtime.FindProperty find
         4: .line 2908
            aload 4 /* find */
            ifnull 6
         5: .line 2909
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getObjectValue:()Ljava/lang/Object;
            areturn
        end local 4 // jdk.nashorn.internal.runtime.FindProperty find
         6: .line 2913
      StackMap locals:
      StackMap stack:
            aload 3 /* object */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            dup
            astore 3 /* object */
            ifnonnull 8
         7: .line 2914
            goto 14
         8: .line 2917
      StackMap locals:
      StackMap stack:
            aload 3 /* object */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 4 /* array */
        start local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         9: .line 2919
            aload 4 /* array */
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 2
        10: .line 2920
            aload 4 /* array */
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getObject:(I)Ljava/lang/Object;
            areturn
        end local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject object
        11: .line 2924
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 3 /* find */
        start local 3 // jdk.nashorn.internal.runtime.FindProperty find
        12: .line 2926
            aload 3 /* find */
            ifnull 14
        13: .line 2927
            aload 3 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getObjectValue:()Ljava/lang/Object;
            areturn
        end local 3 // jdk.nashorn.internal.runtime.FindProperty find
        14: .line 2931
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            iconst_0
            iconst_m1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.invokeNoSuchProperty:(Ljava/lang/Object;ZI)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object key
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   15     1   index  I
            0   15     2     key  Ljava/lang/Object;
            2   11     3  object  Ljdk/nashorn/internal/runtime/ScriptObject;
            4    6     4    find  Ljdk/nashorn/internal/runtime/FindProperty;
            9   11     4   array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
           12   14     3    find  Ljdk/nashorn/internal/runtime/FindProperty;
    MethodParameters:
       Name  Flags
      index  final
      key    final

  public java.lang.Object get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
         0: .line 2936
            aload 1 /* key */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 2 /* primitiveKey */
        start local 2 // java.lang.Object primitiveKey
         1: .line 2937
            aload 2 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 3 /* index */
        start local 3 // int index
         2: .line 2938
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 4 /* array */
        start local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         3: .line 2940
            aload 4 /* array */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 5
         4: .line 2941
            aload 4 /* array */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getObject:(I)Ljava/lang/Object;
            areturn
         5: .line 2944
      StackMap locals: java.lang.Object int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 0 /* this */
            iload 3 /* index */
            aload 2 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.JSType.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(ILjava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 3 // int index
        end local 2 // java.lang.Object primitiveKey
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    6     1           key  Ljava/lang/Object;
            1    6     2  primitiveKey  Ljava/lang/Object;
            2    6     3         index  I
            3    6     4         array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
      Name  Flags
      key   final

  public java.lang.Object get(double);
    descriptor: (D)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // double key
         0: .line 2949
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 2950
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 4 /* array */
        start local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         2: .line 2952
            aload 4 /* array */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 4
         3: .line 2953
            aload 4 /* array */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getObject:(I)Ljava/lang/Object;
            areturn
         4: .line 2956
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 0 /* this */
            iload 3 /* index */
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(ILjava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 3 // int index
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    5     1    key  D
            1    5     3  index  I
            2    5     4  array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
      Name  Flags
      key   final

  public java.lang.Object get(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int key
         0: .line 2961
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(I)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 2962
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 3 /* array */
        start local 3 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         2: .line 2964
            aload 3 /* array */
            iload 2 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 4
         3: .line 2965
            aload 3 /* array */
            iload 2 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getObject:(I)Ljava/lang/Object;
            areturn
         4: .line 2968
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 0 /* this */
            iload 2 /* index */
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(I)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(ILjava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 2 // int index
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    5     1    key  I
            1    5     2  index  I
            2    5     3  array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
      Name  Flags
      key   final

  private boolean doesNotHaveCheckArrayKeys(long, int, int);
    descriptor: (JII)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // long longIndex
        start local 3 // int value
        start local 4 // int callSiteFlags
         0: .line 2972
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasDefinedArrayProperties:()Z
            ifeq 6
         1: .line 2973
            lload 1 /* longIndex */
            l2d
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            astore 5 /* key */
        start local 5 // java.lang.String key
         2: .line 2974
            aload 0 /* this */
            aload 5 /* key */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 6 /* find */
        start local 6 // jdk.nashorn.internal.runtime.FindProperty find
         3: .line 2975
            aload 6 /* find */
            ifnull 6
         4: .line 2976
            aload 0 /* this */
            aload 6 /* find */
            iload 4 /* callSiteFlags */
            aload 5 /* key */
            iload 3 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setObject:(Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
         5: .line 2977
            iconst_1
            ireturn
        end local 6 // jdk.nashorn.internal.runtime.FindProperty find
        end local 5 // java.lang.String key
         6: .line 2980
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // int callSiteFlags
        end local 3 // int value
        end local 1 // long longIndex
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    7     1      longIndex  J
            0    7     3          value  I
            0    7     4  callSiteFlags  I
            2    6     5            key  Ljava/lang/String;
            3    6     6           find  Ljdk/nashorn/internal/runtime/FindProperty;
    MethodParameters:
               Name  Flags
      longIndex      final
      value          final
      callSiteFlags  final

  private boolean doesNotHaveCheckArrayKeys(long, double, int);
    descriptor: (JDI)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // long longIndex
        start local 3 // double value
        start local 5 // int callSiteFlags
         0: .line 2984
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasDefinedArrayProperties:()Z
            ifeq 6
         1: .line 2985
            lload 1 /* longIndex */
            l2d
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            astore 6 /* key */
        start local 6 // java.lang.String key
         2: .line 2986
            aload 0 /* this */
            aload 6 /* key */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 7 /* find */
        start local 7 // jdk.nashorn.internal.runtime.FindProperty find
         3: .line 2987
            aload 7 /* find */
            ifnull 6
         4: .line 2988
            aload 0 /* this */
            aload 7 /* find */
            iload 5 /* callSiteFlags */
            aload 6 /* key */
            dload 3 /* value */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setObject:(Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
         5: .line 2989
            iconst_1
            ireturn
        end local 7 // jdk.nashorn.internal.runtime.FindProperty find
        end local 6 // java.lang.String key
         6: .line 2992
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // int callSiteFlags
        end local 3 // double value
        end local 1 // long longIndex
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    7     1      longIndex  J
            0    7     3          value  D
            0    7     5  callSiteFlags  I
            2    6     6            key  Ljava/lang/String;
            3    6     7           find  Ljdk/nashorn/internal/runtime/FindProperty;
    MethodParameters:
               Name  Flags
      longIndex      final
      value          final
      callSiteFlags  final

  private boolean doesNotHaveCheckArrayKeys(long, java.lang.Object, int);
    descriptor: (JLjava/lang/Object;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // long longIndex
        start local 3 // java.lang.Object value
        start local 4 // int callSiteFlags
         0: .line 2996
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasDefinedArrayProperties:()Z
            ifeq 6
         1: .line 2997
            lload 1 /* longIndex */
            l2d
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            astore 5 /* key */
        start local 5 // java.lang.String key
         2: .line 2998
            aload 0 /* this */
            aload 5 /* key */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 6 /* find */
        start local 6 // jdk.nashorn.internal.runtime.FindProperty find
         3: .line 2999
            aload 6 /* find */
            ifnull 6
         4: .line 3000
            aload 0 /* this */
            aload 6 /* find */
            iload 4 /* callSiteFlags */
            aload 5 /* key */
            aload 3 /* value */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setObject:(Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
         5: .line 3001
            iconst_1
            ireturn
        end local 6 // jdk.nashorn.internal.runtime.FindProperty find
        end local 5 // java.lang.String key
         6: .line 3004
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // int callSiteFlags
        end local 3 // java.lang.Object value
        end local 1 // long longIndex
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    7     1      longIndex  J
            0    7     3          value  Ljava/lang/Object;
            0    7     4  callSiteFlags  I
            2    6     5            key  Ljava/lang/String;
            3    6     6           find  Ljdk/nashorn/internal/runtime/FindProperty;
    MethodParameters:
               Name  Flags
      longIndex      final
      value          final
      callSiteFlags  final

  private boolean hasDefinedArrayProperties();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 3008
            aload 0 /* this */
            astore 1 /* obj */
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject obj
         1: goto 5
         2: .line 3009
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 1 /* obj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.containsArrayKeys:()Z
            ifeq 4
         3: .line 3010
            iconst_1
            ireturn
         4: .line 3008
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 1 /* obj */
      StackMap locals:
      StackMap stack:
         5: aload 1 /* obj */
            ifnonnull 2
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject obj
         6: .line 3013
            iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    6     1   obj  Ljdk/nashorn/internal/runtime/ScriptObject;

  private boolean doesNotHaveEnsureLength(long, long, int);
    descriptor: (JJI)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // long longIndex
        start local 3 // long oldLength
        start local 5 // int callSiteFlags
         0: .line 3018
            lload 1 /* longIndex */
            lload 3 /* oldLength */
            lcmp
            iflt 6
         1: .line 3019
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isExtensible:()Z
            ifne 5
         2: .line 3020
            iload 5 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            ifeq 4
         3: .line 3021
            ldc "object.non.extensible"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            lload 1 /* longIndex */
            l2d
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            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
         4: .line 3023
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 3025
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            lload 1 /* longIndex */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.ensure:(J)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         6: .line 3027
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // int callSiteFlags
        end local 3 // long oldLength
        end local 1 // long longIndex
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    7     1      longIndex  J
            0    7     3      oldLength  J
            0    7     5  callSiteFlags  I
    MethodParameters:
               Name  Flags
      longIndex      final
      oldLength      final
      callSiteFlags  final

  private void doesNotHave(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int index
        start local 2 // int value
        start local 3 // int callSiteFlags
         0: .line 3031
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.length:()J
            lstore 4 /* oldLength */
        start local 4 // long oldLength
         1: .line 3032
            iload 1 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.toLongIndex:(I)J
            lstore 6 /* longIndex */
        start local 6 // long longIndex
         2: .line 3033
            aload 0 /* this */
            lload 6 /* longIndex */
            iload 2 /* value */
            iload 3 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHaveCheckArrayKeys:(JII)Z
            ifne 5
            aload 0 /* this */
            lload 6 /* longIndex */
            lload 4 /* oldLength */
            iload 3 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHaveEnsureLength:(JJI)Z
            ifne 5
         3: .line 3034
            iload 3 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            istore 8 /* strict */
        start local 8 // boolean strict
         4: .line 3035
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            iload 1 /* index */
            iload 2 /* value */
            iload 8 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(IIZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            lload 4 /* oldLength */
            lload 6 /* longIndex */
            lconst_1
            lsub
            iload 8 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.safeDelete:(JJZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
        end local 8 // boolean strict
         5: .line 3037
      StackMap locals: long long
      StackMap stack:
            return
        end local 6 // long longIndex
        end local 4 // long oldLength
        end local 3 // int callSiteFlags
        end local 2 // int value
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    6     1          index  I
            0    6     2          value  I
            0    6     3  callSiteFlags  I
            1    6     4      oldLength  J
            2    6     6      longIndex  J
            4    5     8         strict  Z
    MethodParameters:
               Name  Flags
      index          final
      value          final
      callSiteFlags  final

  private void doesNotHave(int, double, int);
    descriptor: (IDI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=10, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int index
        start local 2 // double value
        start local 4 // int callSiteFlags
         0: .line 3040
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.length:()J
            lstore 5 /* oldLength */
        start local 5 // long oldLength
         1: .line 3041
            iload 1 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.toLongIndex:(I)J
            lstore 7 /* longIndex */
        start local 7 // long longIndex
         2: .line 3042
            aload 0 /* this */
            lload 7 /* longIndex */
            dload 2 /* value */
            iload 4 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHaveCheckArrayKeys:(JDI)Z
            ifne 5
            aload 0 /* this */
            lload 7 /* longIndex */
            lload 5 /* oldLength */
            iload 4 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHaveEnsureLength:(JJI)Z
            ifne 5
         3: .line 3043
            iload 4 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            istore 9 /* strict */
        start local 9 // boolean strict
         4: .line 3044
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            iload 1 /* index */
            dload 2 /* value */
            iload 9 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(IDZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            lload 5 /* oldLength */
            lload 7 /* longIndex */
            lconst_1
            lsub
            iload 9 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.safeDelete:(JJZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
        end local 9 // boolean strict
         5: .line 3046
      StackMap locals: long long
      StackMap stack:
            return
        end local 7 // long longIndex
        end local 5 // long oldLength
        end local 4 // int callSiteFlags
        end local 2 // double value
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    6     1          index  I
            0    6     2          value  D
            0    6     4  callSiteFlags  I
            1    6     5      oldLength  J
            2    6     7      longIndex  J
            4    5     9         strict  Z
    MethodParameters:
               Name  Flags
      index          final
      value          final
      callSiteFlags  final

  private void doesNotHave(int, java.lang.Object, int);
    descriptor: (ILjava/lang/Object;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int index
        start local 2 // java.lang.Object value
        start local 3 // int callSiteFlags
         0: .line 3049
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.length:()J
            lstore 4 /* oldLength */
        start local 4 // long oldLength
         1: .line 3050
            iload 1 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.toLongIndex:(I)J
            lstore 6 /* longIndex */
        start local 6 // long longIndex
         2: .line 3051
            aload 0 /* this */
            lload 6 /* longIndex */
            aload 2 /* value */
            iload 3 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHaveCheckArrayKeys:(JLjava/lang/Object;I)Z
            ifne 5
            aload 0 /* this */
            lload 6 /* longIndex */
            lload 4 /* oldLength */
            iload 3 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHaveEnsureLength:(JJI)Z
            ifne 5
         3: .line 3052
            iload 3 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            istore 8 /* strict */
        start local 8 // boolean strict
         4: .line 3053
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            iload 1 /* index */
            aload 2 /* value */
            iload 8 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(ILjava/lang/Object;Z)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            lload 4 /* oldLength */
            lload 6 /* longIndex */
            lconst_1
            lsub
            iload 8 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.safeDelete:(JJZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
        end local 8 // boolean strict
         5: .line 3055
      StackMap locals: long long
      StackMap stack:
            return
        end local 6 // long longIndex
        end local 4 // long oldLength
        end local 3 // int callSiteFlags
        end local 2 // java.lang.Object value
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    6     1          index  I
            0    6     2          value  Ljava/lang/Object;
            0    6     3  callSiteFlags  I
            1    6     4      oldLength  J
            2    6     6      longIndex  J
            4    5     8         strict  Z
    MethodParameters:
               Name  Flags
      index          final
      value          final
      callSiteFlags  final

  public final void setObject(jdk.nashorn.internal.runtime.FindProperty, int, java.lang.Object, java.lang.Object);
    descriptor: (Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // jdk.nashorn.internal.runtime.FindProperty find
        start local 2 // int callSiteFlags
        start local 3 // java.lang.Object key
        start local 4 // java.lang.Object value
         0: .line 3067
            aload 1 /* find */
            astore 5 /* f */
        start local 5 // jdk.nashorn.internal.runtime.FindProperty f
         1: .line 3069
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.invalidateGlobalConstant:(Ljava/lang/Object;)V
         2: .line 3071
            aload 5 /* f */
            ifnull 9
            aload 5 /* f */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.isInheritedOrdinaryProperty:()Z
            ifeq 9
         3: .line 3072
            iload 2 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isScopeFlag:(I)Z
            istore 6 /* isScope */
        start local 6 // boolean isScope
         4: .line 3080
            iload 6 /* isScope */
            ifeq 7
            aload 5 /* f */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getSelf:()Ljdk/nashorn/internal/runtime/ScriptObject;
            aload 0 /* this */
            if_acmpeq 7
         5: .line 3081
            aload 5 /* f */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getSelf:()Ljdk/nashorn/internal/runtime/ScriptObject;
            aconst_null
            iconst_0
            aload 3 /* key */
            aload 4 /* value */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setObject:(Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
         6: .line 3082
            return
         7: .line 3086
      StackMap locals: jdk.nashorn.internal.runtime.FindProperty int
      StackMap stack:
            iload 6 /* isScope */
            ifeq 8
            aload 5 /* f */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getOwner:()Ljdk/nashorn/internal/runtime/ScriptObject;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isScope:()Z
            ifne 9
         8: .line 3087
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* f */
        end local 6 // boolean isScope
         9: .line 3091
      StackMap locals:
      StackMap stack:
            aload 5 /* f */
            ifnull 26
        10: .line 3092
            aload 5 /* f */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.Property.isWritable:()Z
            ifne 11
            iload 2 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isDeclaration:(I)Z
            ifeq 12
      StackMap locals:
      StackMap stack:
        11: aload 5 /* f */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.Property.hasNativeSetter:()Z
            ifne 21
        12: .line 3093
      StackMap locals:
      StackMap stack:
            iload 2 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isScopeFlag:(I)Z
            ifeq 14
            aload 5 /* f */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.Property.isLexicalBinding:()Z
            ifeq 14
        13: .line 3094
            ldc "assign.constant"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        14: .line 3096
      StackMap locals:
      StackMap stack:
            iload 2 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            ifeq 20
        15: .line 3098
            aload 5 /* f */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.Property.isAccessorProperty:()Z
            ifeq 16
            ldc "property.has.no.setter"
            goto 17
      StackMap locals:
      StackMap stack:
        16: ldc "property.not.writable"
      StackMap locals:
      StackMap stack: java.lang.String
        17: iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        18: .line 3099
            aload 3 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
        19: .line 3097
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        20: .line 3101
      StackMap locals:
      StackMap stack:
            return
        21: .line 3104
      StackMap locals:
      StackMap stack:
            iload 2 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isDeclaration:(I)Z
            ifeq 24
            aload 5 /* f */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.Property.needsDeclaration:()Z
            ifeq 24
        22: .line 3105
            aload 5 /* f */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getOwner:()Ljdk/nashorn/internal/runtime/ScriptObject;
            aload 5 /* f */
            aload 4 /* value */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.declareAndSet:(Ljdk/nashorn/internal/runtime/FindProperty;Ljava/lang/Object;)V
        23: .line 3106
            return
        24: .line 3109
      StackMap locals:
      StackMap stack:
            aload 5 /* f */
            aload 4 /* value */
            iload 2 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.setValue:(Ljava/lang/Object;Z)V
        25: .line 3111
            goto 36
      StackMap locals:
      StackMap stack:
        26: aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isExtensible:()Z
            ifne 29
        27: .line 3112
            iload 2 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            ifeq 36
        28: .line 3113
            ldc "object.non.extensible"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            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
        29: .line 3116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 6 /* sobj */
        start local 6 // jdk.nashorn.internal.runtime.ScriptObject sobj
        30: .line 3118
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isScope:()Z
            ifeq 35
        31: .line 3119
            goto 33
        32: .line 3120
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 6 /* sobj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 6 /* sobj */
        33: .line 3119
      StackMap locals:
      StackMap stack:
            aload 6 /* sobj */
            ifnull 34
            aload 6 /* sobj */
            instanceof jdk.nashorn.internal.objects.Global
            ifeq 32
        34: .line 3122
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$assertionsDisabled:Z
            ifne 35
            aload 6 /* sobj */
            ifnonnull 35
            new java.lang.AssertionError
            dup
            ldc "no parent global object in scope"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        35: .line 3127
      StackMap locals:
      StackMap stack:
            aload 6 /* sobj */
            aload 3 /* key */
            iconst_0
            aload 4 /* value */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addSpillProperty:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljdk/nashorn/internal/runtime/Property;
            pop
        end local 6 // jdk.nashorn.internal.runtime.ScriptObject sobj
        36: .line 3129
      StackMap locals:
      StackMap stack:
            return
        end local 5 // jdk.nashorn.internal.runtime.FindProperty f
        end local 4 // java.lang.Object value
        end local 3 // java.lang.Object key
        end local 2 // int callSiteFlags
        end local 1 // jdk.nashorn.internal.runtime.FindProperty find
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   37     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   37     1           find  Ljdk/nashorn/internal/runtime/FindProperty;
            0   37     2  callSiteFlags  I
            0   37     3            key  Ljava/lang/Object;
            0   37     4          value  Ljava/lang/Object;
            1   37     5              f  Ljdk/nashorn/internal/runtime/FindProperty;
            4    9     6        isScope  Z
           30   36     6           sobj  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
               Name  Flags
      find           final
      callSiteFlags  final
      key            final
      value          final

  public void set(java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // int value
        start local 3 // int callSiteFlags
         0: .line 3133
            aload 1 /* key */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 4 /* primitiveKey */
        start local 4 // java.lang.Object primitiveKey
         1: .line 3134
            aload 4 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 5 /* index */
        start local 5 // int index
         2: .line 3136
            iload 5 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 9
         3: .line 3137
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 6 /* data */
        start local 6 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         4: .line 3138
            aload 6 /* data */
            iload 5 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 7
         5: .line 3139
            aload 0 /* this */
            aload 6 /* data */
            iload 5 /* index */
            iload 2 /* value */
            iload 3 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(IIZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         6: .line 3140
            goto 8
         7: .line 3141
      StackMap locals: java.lang.Object int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 0 /* this */
            iload 5 /* index */
            iload 2 /* value */
            iload 3 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHave:(III)V
         8: .line 3144
      StackMap locals:
      StackMap stack:
            return
        end local 6 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         9: .line 3147
      StackMap locals:
      StackMap stack:
            aload 4 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.JSType.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* propName */
        start local 6 // java.lang.Object propName
        10: .line 3148
            aload 0 /* this */
            aload 0 /* this */
            aload 6 /* propName */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            iload 3 /* callSiteFlags */
            aload 6 /* propName */
            iload 2 /* value */
            invokestatic jdk.nashorn.internal.runtime.JSType.toObject:(I)Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setObject:(Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
        11: .line 3149
            return
        end local 6 // java.lang.Object propName
        end local 5 // int index
        end local 4 // java.lang.Object primitiveKey
        end local 3 // int callSiteFlags
        end local 2 // int value
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   12     1            key  Ljava/lang/Object;
            0   12     2          value  I
            0   12     3  callSiteFlags  I
            1   12     4   primitiveKey  Ljava/lang/Object;
            2   12     5          index  I
            4    9     6           data  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
           10   12     6       propName  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      key            final
      value          final
      callSiteFlags  final

  public void set(java.lang.Object, double, int);
    descriptor: (Ljava/lang/Object;DI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // double value
        start local 4 // int callSiteFlags
         0: .line 3153
            aload 1 /* key */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 5 /* primitiveKey */
        start local 5 // java.lang.Object primitiveKey
         1: .line 3154
            aload 5 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 6 /* index */
        start local 6 // int index
         2: .line 3156
            iload 6 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 9
         3: .line 3157
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 7 /* data */
        start local 7 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         4: .line 3158
            aload 7 /* data */
            iload 6 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 7
         5: .line 3159
            aload 0 /* this */
            aload 7 /* data */
            iload 6 /* index */
            dload 2 /* value */
            iload 4 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(IDZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         6: .line 3160
            goto 8
         7: .line 3161
      StackMap locals: java.lang.Object int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 0 /* this */
            iload 6 /* index */
            dload 2 /* value */
            iload 4 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHave:(IDI)V
         8: .line 3164
      StackMap locals:
      StackMap stack:
            return
        end local 7 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         9: .line 3167
      StackMap locals:
      StackMap stack:
            aload 5 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.JSType.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* propName */
        start local 7 // java.lang.Object propName
        10: .line 3168
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* propName */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            iload 4 /* callSiteFlags */
            aload 7 /* propName */
            dload 2 /* value */
            invokestatic jdk.nashorn.internal.runtime.JSType.toObject:(D)Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setObject:(Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
        11: .line 3169
            return
        end local 7 // java.lang.Object propName
        end local 6 // int index
        end local 5 // java.lang.Object primitiveKey
        end local 4 // int callSiteFlags
        end local 2 // double value
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   12     1            key  Ljava/lang/Object;
            0   12     2          value  D
            0   12     4  callSiteFlags  I
            1   12     5   primitiveKey  Ljava/lang/Object;
            2   12     6          index  I
            4    9     7           data  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
           10   12     7       propName  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      key            final
      value          final
      callSiteFlags  final

  public void set(java.lang.Object, java.lang.Object, int);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
        start local 3 // int callSiteFlags
         0: .line 3173
            aload 1 /* key */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 4 /* primitiveKey */
        start local 4 // java.lang.Object primitiveKey
         1: .line 3174
            aload 4 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 5 /* index */
        start local 5 // int index
         2: .line 3176
            iload 5 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 9
         3: .line 3177
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 6 /* data */
        start local 6 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         4: .line 3178
            aload 6 /* data */
            iload 5 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 7
         5: .line 3179
            aload 0 /* this */
            aload 6 /* data */
            iload 5 /* index */
            aload 2 /* value */
            iload 3 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(ILjava/lang/Object;Z)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         6: .line 3180
            goto 8
         7: .line 3181
      StackMap locals: java.lang.Object int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 0 /* this */
            iload 5 /* index */
            aload 2 /* value */
            iload 3 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHave:(ILjava/lang/Object;I)V
         8: .line 3184
      StackMap locals:
      StackMap stack:
            return
        end local 6 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         9: .line 3187
      StackMap locals:
      StackMap stack:
            aload 4 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.JSType.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* propName */
        start local 6 // java.lang.Object propName
        10: .line 3188
            aload 0 /* this */
            aload 0 /* this */
            aload 6 /* propName */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            iload 3 /* callSiteFlags */
            aload 6 /* propName */
            aload 2 /* value */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setObject:(Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
        11: .line 3189
            return
        end local 6 // java.lang.Object propName
        end local 5 // int index
        end local 4 // java.lang.Object primitiveKey
        end local 3 // int callSiteFlags
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   12     1            key  Ljava/lang/Object;
            0   12     2          value  Ljava/lang/Object;
            0   12     3  callSiteFlags  I
            1   12     4   primitiveKey  Ljava/lang/Object;
            2   12     5          index  I
            4    9     6           data  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
           10   12     6       propName  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      key            final
      value          final
      callSiteFlags  final

  public void set(double, int, int);
    descriptor: (DII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // double key
        start local 3 // int value
        start local 4 // int callSiteFlags
         0: .line 3193
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
            istore 5 /* index */
        start local 5 // int index
         1: .line 3195
            iload 5 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 8
         2: .line 3196
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 6 /* data */
        start local 6 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         3: .line 3197
            aload 6 /* data */
            iload 5 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 6
         4: .line 3198
            aload 0 /* this */
            aload 6 /* data */
            iload 5 /* index */
            iload 3 /* value */
            iload 4 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(IIZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         5: .line 3199
            goto 7
         6: .line 3200
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 0 /* this */
            iload 5 /* index */
            iload 3 /* value */
            iload 4 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHave:(III)V
         7: .line 3203
      StackMap locals:
      StackMap stack:
            return
        end local 6 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         8: .line 3206
      StackMap locals:
      StackMap stack:
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            astore 6 /* propName */
        start local 6 // java.lang.String propName
         9: .line 3207
            aload 0 /* this */
            aload 0 /* this */
            aload 6 /* propName */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            iload 4 /* callSiteFlags */
            aload 6 /* propName */
            iload 3 /* value */
            invokestatic jdk.nashorn.internal.runtime.JSType.toObject:(I)Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setObject:(Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
        10: .line 3208
            return
        end local 6 // java.lang.String propName
        end local 5 // int index
        end local 4 // int callSiteFlags
        end local 3 // int value
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   11     1            key  D
            0   11     3          value  I
            0   11     4  callSiteFlags  I
            1   11     5          index  I
            3    8     6           data  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            9   11     6       propName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      key            final
      value          final
      callSiteFlags  final

  public void set(double, double, int);
    descriptor: (DDI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // double key
        start local 3 // double value
        start local 5 // int callSiteFlags
         0: .line 3212
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
            istore 6 /* index */
        start local 6 // int index
         1: .line 3214
            iload 6 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 8
         2: .line 3215
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 7 /* data */
        start local 7 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         3: .line 3216
            aload 7 /* data */
            iload 6 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 6
         4: .line 3217
            aload 0 /* this */
            aload 7 /* data */
            iload 6 /* index */
            dload 3 /* value */
            iload 5 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(IDZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         5: .line 3218
            goto 7
         6: .line 3219
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 0 /* this */
            iload 6 /* index */
            dload 3 /* value */
            iload 5 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHave:(IDI)V
         7: .line 3222
      StackMap locals:
      StackMap stack:
            return
        end local 7 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         8: .line 3225
      StackMap locals:
      StackMap stack:
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            astore 7 /* propName */
        start local 7 // java.lang.String propName
         9: .line 3226
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* propName */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            iload 5 /* callSiteFlags */
            aload 7 /* propName */
            dload 3 /* value */
            invokestatic jdk.nashorn.internal.runtime.JSType.toObject:(D)Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setObject:(Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
        10: .line 3227
            return
        end local 7 // java.lang.String propName
        end local 6 // int index
        end local 5 // int callSiteFlags
        end local 3 // double value
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   11     1            key  D
            0   11     3          value  D
            0   11     5  callSiteFlags  I
            1   11     6          index  I
            3    8     7           data  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            9   11     7       propName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      key            final
      value          final
      callSiteFlags  final

  public void set(double, java.lang.Object, int);
    descriptor: (DLjava/lang/Object;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // double key
        start local 3 // java.lang.Object value
        start local 4 // int callSiteFlags
         0: .line 3231
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
            istore 5 /* index */
        start local 5 // int index
         1: .line 3233
            iload 5 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 8
         2: .line 3234
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 6 /* data */
        start local 6 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         3: .line 3235
            aload 6 /* data */
            iload 5 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 6
         4: .line 3236
            aload 0 /* this */
            aload 6 /* data */
            iload 5 /* index */
            aload 3 /* value */
            iload 4 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(ILjava/lang/Object;Z)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         5: .line 3237
            goto 7
         6: .line 3238
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 0 /* this */
            iload 5 /* index */
            aload 3 /* value */
            iload 4 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHave:(ILjava/lang/Object;I)V
         7: .line 3241
      StackMap locals:
      StackMap stack:
            return
        end local 6 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         8: .line 3244
      StackMap locals:
      StackMap stack:
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            astore 6 /* propName */
        start local 6 // java.lang.String propName
         9: .line 3245
            aload 0 /* this */
            aload 0 /* this */
            aload 6 /* propName */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            iload 4 /* callSiteFlags */
            aload 6 /* propName */
            aload 3 /* value */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setObject:(Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
        10: .line 3246
            return
        end local 6 // java.lang.String propName
        end local 5 // int index
        end local 4 // int callSiteFlags
        end local 3 // java.lang.Object value
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   11     1            key  D
            0   11     3          value  Ljava/lang/Object;
            0   11     4  callSiteFlags  I
            1   11     5          index  I
            3    8     6           data  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            9   11     6       propName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      key            final
      value          final
      callSiteFlags  final

  public void set(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int key
        start local 2 // int value
        start local 3 // int callSiteFlags
         0: .line 3250
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(I)I
            istore 4 /* index */
        start local 4 // int index
         1: .line 3251
            iload 4 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 8
         2: .line 3252
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 6
         3: .line 3253
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 5 /* data */
        start local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         4: .line 3254
            aload 0 /* this */
            aload 5 /* data */
            iload 4 /* index */
            iload 2 /* value */
            iload 3 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(IIZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
        end local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         5: .line 3255
            goto 7
         6: .line 3256
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* index */
            iload 2 /* value */
            iload 3 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHave:(III)V
         7: .line 3258
      StackMap locals:
      StackMap stack:
            return
         8: .line 3261
      StackMap locals:
      StackMap stack:
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(I)Ljava/lang/String;
            astore 5 /* propName */
        start local 5 // java.lang.String propName
         9: .line 3262
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* propName */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            iload 3 /* callSiteFlags */
            aload 5 /* propName */
            iload 2 /* value */
            invokestatic jdk.nashorn.internal.runtime.JSType.toObject:(I)Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setObject:(Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
        10: .line 3263
            return
        end local 5 // java.lang.String propName
        end local 4 // int index
        end local 3 // int callSiteFlags
        end local 2 // int value
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   11     1            key  I
            0   11     2          value  I
            0   11     3  callSiteFlags  I
            1   11     4          index  I
            4    5     5           data  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            9   11     5       propName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      key            final
      value          final
      callSiteFlags  final

  public void set(int, double, int);
    descriptor: (IDI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int key
        start local 2 // double value
        start local 4 // int callSiteFlags
         0: .line 3267
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(I)I
            istore 5 /* index */
        start local 5 // int index
         1: .line 3269
            iload 5 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 8
         2: .line 3270
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 6 /* data */
        start local 6 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         3: .line 3271
            aload 6 /* data */
            iload 5 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 6
         4: .line 3272
            aload 0 /* this */
            aload 6 /* data */
            iload 5 /* index */
            dload 2 /* value */
            iload 4 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(IDZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         5: .line 3273
            goto 7
         6: .line 3274
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 0 /* this */
            iload 5 /* index */
            dload 2 /* value */
            iload 4 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHave:(IDI)V
         7: .line 3277
      StackMap locals:
      StackMap stack:
            return
        end local 6 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         8: .line 3280
      StackMap locals:
      StackMap stack:
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(I)Ljava/lang/String;
            astore 6 /* propName */
        start local 6 // java.lang.String propName
         9: .line 3281
            aload 0 /* this */
            aload 0 /* this */
            aload 6 /* propName */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            iload 4 /* callSiteFlags */
            aload 6 /* propName */
            dload 2 /* value */
            invokestatic jdk.nashorn.internal.runtime.JSType.toObject:(D)Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setObject:(Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
        10: .line 3282
            return
        end local 6 // java.lang.String propName
        end local 5 // int index
        end local 4 // int callSiteFlags
        end local 2 // double value
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   11     1            key  I
            0   11     2          value  D
            0   11     4  callSiteFlags  I
            1   11     5          index  I
            3    8     6           data  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            9   11     6       propName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      key            final
      value          final
      callSiteFlags  final

  public void set(int, java.lang.Object, int);
    descriptor: (ILjava/lang/Object;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int key
        start local 2 // java.lang.Object value
        start local 3 // int callSiteFlags
         0: .line 3286
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(I)I
            istore 4 /* index */
        start local 4 // int index
         1: .line 3288
            iload 4 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 8
         2: .line 3289
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 5 /* data */
        start local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         3: .line 3290
            aload 5 /* data */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 6
         4: .line 3291
            aload 0 /* this */
            aload 5 /* data */
            iload 4 /* index */
            aload 2 /* value */
            iload 3 /* callSiteFlags */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrictFlag:(I)Z
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(ILjava/lang/Object;Z)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         5: .line 3292
            goto 7
         6: .line 3293
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            aload 0 /* this */
            iload 4 /* index */
            aload 2 /* value */
            iload 3 /* callSiteFlags */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.doesNotHave:(ILjava/lang/Object;I)V
         7: .line 3296
      StackMap locals:
      StackMap stack:
            return
        end local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData data
         8: .line 3299
      StackMap locals:
      StackMap stack:
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(I)Ljava/lang/String;
            astore 5 /* propName */
        start local 5 // java.lang.String propName
         9: .line 3300
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* propName */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            iload 3 /* callSiteFlags */
            aload 5 /* propName */
            aload 2 /* value */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setObject:(Ljdk/nashorn/internal/runtime/FindProperty;ILjava/lang/Object;Ljava/lang/Object;)V
        10: .line 3301
            return
        end local 5 // java.lang.String propName
        end local 4 // int index
        end local 3 // int callSiteFlags
        end local 2 // java.lang.Object value
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   11     1            key  I
            0   11     2          value  Ljava/lang/Object;
            0   11     3  callSiteFlags  I
            1   11     4          index  I
            3    8     5           data  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            9   11     5       propName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      key            final
      value          final
      callSiteFlags  final

  public boolean has(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
         0: .line 3305
            aload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* primitiveKey */
        start local 2 // java.lang.Object primitiveKey
         1: .line 3306
            aload 2 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 3 /* index */
        start local 3 // int index
         2: .line 3307
            iload 3 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 3
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasArrayProperty:(I)Z
            goto 4
      StackMap locals: java.lang.Object int
      StackMap stack:
         3: aload 0 /* this */
            aload 2 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.JSType.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasProperty:(Ljava/lang/Object;Z)Z
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 3 // int index
        end local 2 // java.lang.Object primitiveKey
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    5     1           key  Ljava/lang/Object;
            1    5     2  primitiveKey  Ljava/lang/Object;
            2    5     3         index  I
    MethodParameters:
      Name  Flags
      key   final

  public boolean has(double);
    descriptor: (D)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // double key
         0: .line 3312
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 3313
            iload 3 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 2
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasArrayProperty:(I)Z
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasProperty:(Ljava/lang/Object;Z)Z
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 3 // int index
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    4     1    key  D
            1    4     3  index  I
    MethodParameters:
      Name  Flags
      key   final

  public boolean has(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int key
         0: .line 3318
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(I)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 3319
            iload 2 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 2
            aload 0 /* this */
            iload 2 /* index */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasArrayProperty:(I)Z
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(I)Ljava/lang/String;
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasProperty:(Ljava/lang/Object;Z)Z
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // int index
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    4     1    key  I
            1    4     2  index  I
    MethodParameters:
      Name  Flags
      key   final

  private boolean hasArrayProperty(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int index
         0: .line 3323
            iconst_0
            istore 2 /* hasArrayKeys */
        start local 2 // boolean hasArrayKeys
         1: .line 3325
            aload 0 /* this */
            astore 3 /* self */
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject self
         2: goto 9
         3: .line 3326
      StackMap locals: int jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 3 /* self */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 5
         4: .line 3327
            iconst_1
            ireturn
         5: .line 3329
      StackMap locals:
      StackMap stack:
            iload 2 /* hasArrayKeys */
            ifne 6
            aload 3 /* self */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.containsArrayKeys:()Z
            ifne 6
            iconst_0
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: istore 2 /* hasArrayKeys */
         8: .line 3325
            aload 3 /* self */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 3 /* self */
      StackMap locals:
      StackMap stack:
         9: aload 3 /* self */
            ifnonnull 3
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject self
        10: .line 3332
            iload 2 /* hasArrayKeys */
            ifeq 11
            aload 0 /* this */
            iload 1 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.toKey:(I)Ljava/lang/String;
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasProperty:(Ljava/lang/Object;Z)Z
            ifeq 11
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        11: iconst_0
            ireturn
        end local 2 // boolean hasArrayKeys
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   12     1         index  I
            1   12     2  hasArrayKeys  Z
            2   10     3          self  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
       Name  Flags
      index  final

  public boolean hasOwnProperty(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
         0: .line 3337
            aload 1 /* key */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 2 /* primitiveKey */
        start local 2 // java.lang.Object primitiveKey
         1: .line 3338
            aload 2 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 3 /* index */
        start local 3 // int index
         2: .line 3339
            iload 3 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 3
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasOwnArrayProperty:(I)Z
            goto 4
      StackMap locals: java.lang.Object int
      StackMap stack:
         3: aload 0 /* this */
            aload 2 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.JSType.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasProperty:(Ljava/lang/Object;Z)Z
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 3 // int index
        end local 2 // java.lang.Object primitiveKey
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    5     1           key  Ljava/lang/Object;
            1    5     2  primitiveKey  Ljava/lang/Object;
            2    5     3         index  I
    MethodParameters:
      Name  Flags
      key   final

  public boolean hasOwnProperty(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int key
         0: .line 3344
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(I)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 3345
            iload 2 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 2
            aload 0 /* this */
            iload 2 /* index */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasOwnArrayProperty:(I)Z
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(I)Ljava/lang/String;
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasProperty:(Ljava/lang/Object;Z)Z
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // int index
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    4     1    key  I
            1    4     2  index  I
    MethodParameters:
      Name  Flags
      key   final

  public boolean hasOwnProperty(double);
    descriptor: (D)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // double key
         0: .line 3350
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 3351
            iload 3 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex:(I)Z
            ifeq 2
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasOwnArrayProperty:(I)Z
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasProperty:(Ljava/lang/Object;Z)Z
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 3 // int index
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    4     1    key  D
            1    4     3  index  I
    MethodParameters:
      Name  Flags
      key   final

  private boolean hasOwnArrayProperty(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int index
         0: .line 3355
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifne 2
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.containsArrayKeys:()Z
            ifeq 1
            aload 0 /* this */
            iload 1 /* index */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.toKey:(I)Ljava/lang/String;
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasProperty:(Ljava/lang/Object;Z)Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    3     1  index  I
    MethodParameters:
       Name  Flags
      index  final

  public boolean delete(int, boolean);
    descriptor: (IZ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int key
        start local 2 // boolean strict
         0: .line 3360
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(I)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 3361
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 4 /* array */
        start local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         2: .line 3363
            aload 4 /* array */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 7
         3: .line 3364
            aload 4 /* array */
            iload 3 /* index */
            iload 2 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.canDelete:(IZ)Z
            ifeq 6
         4: .line 3365
            aload 0 /* this */
            aload 4 /* array */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.delete:(I)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         5: .line 3366
            iconst_1
            ireturn
         6: .line 3368
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            iconst_0
            ireturn
         7: .line 3370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toObject:(I)Ljava/lang/Object;
            iload 2 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.deleteObject:(Ljava/lang/Object;Z)Z
            ireturn
        end local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 3 // int index
        end local 2 // boolean strict
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    8     1     key  I
            0    8     2  strict  Z
            1    8     3   index  I
            2    8     4   array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
        Name  Flags
      key     final
      strict  final

  public boolean delete(double, boolean);
    descriptor: (DZ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // double key
        start local 3 // boolean strict
         0: .line 3375
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
            istore 4 /* index */
        start local 4 // int index
         1: .line 3376
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 5 /* array */
        start local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         2: .line 3378
            aload 5 /* array */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 7
         3: .line 3379
            aload 5 /* array */
            iload 4 /* index */
            iload 3 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.canDelete:(IZ)Z
            ifeq 6
         4: .line 3380
            aload 0 /* this */
            aload 5 /* array */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.delete:(I)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         5: .line 3381
            iconst_1
            ireturn
         6: .line 3383
      StackMap locals: int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            iconst_0
            ireturn
         7: .line 3386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toObject:(D)Ljava/lang/Object;
            iload 3 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.deleteObject:(Ljava/lang/Object;Z)Z
            ireturn
        end local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 4 // int index
        end local 3 // boolean strict
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    8     1     key  D
            0    8     3  strict  Z
            1    8     4   index  I
            2    8     5   array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
        Name  Flags
      key     final
      strict  final

  public boolean delete(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // boolean strict
         0: .line 3391
            aload 1 /* key */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 3 /* primitiveKey */
        start local 3 // java.lang.Object primitiveKey
         1: .line 3392
            aload 3 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 4 /* index */
        start local 4 // int index
         2: .line 3393
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 5 /* array */
        start local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
         3: .line 3395
            aload 5 /* array */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 8
         4: .line 3396
            aload 5 /* array */
            iload 4 /* index */
            iload 2 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.canDelete:(IZ)Z
            ifeq 7
         5: .line 3397
            aload 0 /* this */
            aload 5 /* array */
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.delete:(I)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         6: .line 3398
            iconst_1
            ireturn
         7: .line 3400
      StackMap locals: java.lang.Object int jdk.nashorn.internal.runtime.arrays.ArrayData
      StackMap stack:
            iconst_0
            ireturn
         8: .line 3403
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* primitiveKey */
            iload 2 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.deleteObject:(Ljava/lang/Object;Z)Z
            ireturn
        end local 5 // jdk.nashorn.internal.runtime.arrays.ArrayData array
        end local 4 // int index
        end local 3 // java.lang.Object primitiveKey
        end local 2 // boolean strict
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    9     1           key  Ljava/lang/Object;
            0    9     2        strict  Z
            1    9     3  primitiveKey  Ljava/lang/Object;
            2    9     4         index  I
            3    9     5         array  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
        Name  Flags
      key     final
      strict  final

  private boolean deleteObject(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // boolean strict
         0: .line 3407
            aload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* propName */
        start local 3 // java.lang.Object propName
         1: .line 3408
            aload 0 /* this */
            aload 3 /* propName */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.findProperty:(Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/FindProperty;
            astore 4 /* find */
        start local 4 // jdk.nashorn.internal.runtime.FindProperty find
         2: .line 3410
            aload 4 /* find */
            ifnonnull 4
         3: .line 3411
            iconst_1
            ireturn
         4: .line 3414
      StackMap locals: java.lang.Object jdk.nashorn.internal.runtime.FindProperty
      StackMap stack:
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            invokevirtual jdk.nashorn.internal.runtime.Property.isConfigurable:()Z
            ifne 8
         5: .line 3415
            iload 2 /* strict */
            ifeq 7
         6: .line 3416
            ldc "cant.delete.property"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* propName */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            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
         7: .line 3418
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         8: .line 3421
      StackMap locals:
      StackMap stack:
            aload 4 /* find */
            invokevirtual jdk.nashorn.internal.runtime.FindProperty.getProperty:()Ljdk/nashorn/internal/runtime/Property;
            astore 5 /* prop */
        start local 5 // jdk.nashorn.internal.runtime.Property prop
         9: .line 3422
            aload 0 /* this */
            aload 5 /* prop */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.deleteOwnProperty:(Ljdk/nashorn/internal/runtime/Property;)Z
            pop
        10: .line 3424
            iconst_1
            ireturn
        end local 5 // jdk.nashorn.internal.runtime.Property prop
        end local 4 // jdk.nashorn.internal.runtime.FindProperty find
        end local 3 // java.lang.Object propName
        end local 2 // boolean strict
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   11     1       key  Ljava/lang/Object;
            0   11     2    strict  Z
            1   11     3  propName  Ljava/lang/Object;
            2   11     4      find  Ljdk/nashorn/internal/runtime/FindProperty;
            9   11     5      prop  Ljdk/nashorn/internal/runtime/Property;
    MethodParameters:
        Name  Flags
      key     final
      strict  final

  public final jdk.nashorn.internal.runtime.ScriptObject copy();
    descriptor: ()Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 3433
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.clone:()Ljdk/nashorn/internal/runtime/ScriptObject;
         1: areturn
         2: .line 3434
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
            astore 1 /* e */
        start local 1 // java.lang.CloneNotSupportedException e
         3: .line 3435
            new java.lang.RuntimeException
            dup
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.CloneNotSupportedException e
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;
            3    4     1     e  Ljava/lang/CloneNotSupportedException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.CloneNotSupportedException

  protected jdk.nashorn.internal.runtime.ScriptObject clone();
    descriptor: ()Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 3441
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            astore 1 /* clone */
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject clone
         1: .line 3442
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.objectSpill:[Ljava/lang/Object;
            ifnull 5
         2: .line 3443
            aload 1 /* clone */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.objectSpill:[Ljava/lang/Object;
            invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            putfield jdk.nashorn.internal.runtime.ScriptObject.objectSpill:[Ljava/lang/Object;
         3: .line 3444
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.primitiveSpill:[J
            ifnull 5
         4: .line 3445
            aload 1 /* clone */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.primitiveSpill:[J
            invokevirtual long[].clone:()Ljava/lang/Object;
            checkcast long[]
            putfield jdk.nashorn.internal.runtime.ScriptObject.primitiveSpill:[J
         5: .line 3448
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 1 /* clone */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.arrayData:Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.copy:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            putfield jdk.nashorn.internal.runtime.ScriptObject.arrayData:Ljdk/nashorn/internal/runtime/arrays/ArrayData;
         6: .line 3449
            aload 1 /* clone */
            areturn
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject clone
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    7     1  clone  Ljdk/nashorn/internal/runtime/ScriptObject;
    Exceptions:
      throws java.lang.CloneNotSupportedException

  protected final jdk.nashorn.internal.runtime.UserAccessorProperty newUserAccessors(java.lang.Object, int, jdk.nashorn.internal.runtime.ScriptFunction, jdk.nashorn.internal.runtime.ScriptFunction);
    descriptor: (Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptFunction;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljdk/nashorn/internal/runtime/UserAccessorProperty;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // java.lang.Object key
        start local 2 // int propertyFlags
        start local 3 // jdk.nashorn.internal.runtime.ScriptFunction getter
        start local 4 // jdk.nashorn.internal.runtime.ScriptFunction setter
         0: .line 3463
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* key */
            iload 2 /* propertyFlags */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.newUserAccessors:(Ljava/lang/Object;I)Ljdk/nashorn/internal/runtime/UserAccessorProperty;
            astore 5 /* uc */
        start local 5 // jdk.nashorn.internal.runtime.UserAccessorProperty uc
         1: .line 3465
            aload 5 /* uc */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            new jdk.nashorn.internal.runtime.UserAccessorProperty$Accessors
            dup
            aload 3 /* getter */
            aload 4 /* setter */
            invokespecial jdk.nashorn.internal.runtime.UserAccessorProperty$Accessors.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokevirtual jdk.nashorn.internal.runtime.UserAccessorProperty.setAccessors:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/UserAccessorProperty$Accessors;)V
         2: .line 3466
            aload 5 /* uc */
            areturn
        end local 5 // jdk.nashorn.internal.runtime.UserAccessorProperty uc
        end local 4 // jdk.nashorn.internal.runtime.ScriptFunction setter
        end local 3 // jdk.nashorn.internal.runtime.ScriptFunction getter
        end local 2 // int propertyFlags
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    3     1            key  Ljava/lang/Object;
            0    3     2  propertyFlags  I
            0    3     3         getter  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    3     4         setter  Ljdk/nashorn/internal/runtime/ScriptFunction;
            1    3     5             uc  Ljdk/nashorn/internal/runtime/UserAccessorProperty;
    MethodParameters:
               Name  Flags
      key            final
      propertyFlags  final
      getter         final
      setter         final

  protected boolean useDualFields();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
         0: .line 3474
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.StructureLoader.isSingleFieldStructure:(Ljava/lang/String;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/runtime/ScriptObject;

  java.lang.Object ensureSpillSize(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject this
        start local 1 // int slot
         0: .line 3478
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.objectSpill:[Ljava/lang/Object;
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.objectSpill:[Ljava/lang/Object;
            arraylength
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* oldLength */
        start local 2 // int oldLength
         3: .line 3479
            iload 1 /* slot */
            iload 2 /* oldLength */
            if_icmpge 5
         4: .line 3480
            aload 0 /* this */
            areturn
         5: .line 3482
      StackMap locals: int
      StackMap stack:
            iload 1 /* slot */
            iconst_1
            iadd
            bipush 8
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.alignUp:(II)I
            istore 3 /* newLength */
        start local 3 // int newLength
         6: .line 3483
            iload 3 /* newLength */
            anewarray java.lang.Object
            astore 4 /* newObjectSpill */
        start local 4 // java.lang.Object[] newObjectSpill
         7: .line 3484
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.useDualFields:()Z
            ifeq 8
            iload 3 /* newLength */
            newarray 11
            goto 9
      StackMap locals: int java.lang.Object[]
      StackMap stack:
         8: aconst_null
      StackMap locals:
      StackMap stack: long[]
         9: astore 5 /* newPrimitiveSpill */
        start local 5 // long[] newPrimitiveSpill
        10: .line 3486
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.objectSpill:[Ljava/lang/Object;
            ifnull 14
        11: .line 3487
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.objectSpill:[Ljava/lang/Object;
            iconst_0
            aload 4 /* newObjectSpill */
            iconst_0
            iload 2 /* oldLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 3488
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.primitiveSpill:[J
            ifnull 14
            aload 5 /* newPrimitiveSpill */
            ifnull 14
        13: .line 3489
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.ScriptObject.primitiveSpill:[J
            iconst_0
            aload 5 /* newPrimitiveSpill */
            iconst_0
            iload 2 /* oldLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 3493
      StackMap locals: long[]
      StackMap stack:
            aload 0 /* this */
            aload 5 /* newPrimitiveSpill */
            putfield jdk.nashorn.internal.runtime.ScriptObject.primitiveSpill:[J
        15: .line 3494
            aload 0 /* this */
            aload 4 /* newObjectSpill */
            putfield jdk.nashorn.internal.runtime.ScriptObject.objectSpill:[Ljava/lang/Object;
        16: .line 3496
            aload 0 /* this */
            areturn
        end local 5 // long[] newPrimitiveSpill
        end local 4 // java.lang.Object[] newObjectSpill
        end local 3 // int newLength
        end local 2 // int oldLength
        end local 1 // int slot
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   17     1               slot  I
            3   17     2          oldLength  I
            6   17     3          newLength  I
            7   17     4     newObjectSpill  [Ljava/lang/Object;
           10   17     5  newPrimitiveSpill  [J
    MethodParameters:
      Name  Flags
      slot  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 3500
            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/ScriptObject;
            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.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 3504
            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/ScriptObject;
            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 getKnownFunctionPropertyGuardSelf(jdk.nashorn.internal.runtime.PropertyMap, java.lang.invoke.MethodHandle, jdk.nashorn.internal.runtime.ScriptFunction);
    descriptor: (Ljdk/nashorn/internal/runtime/PropertyMap;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/ScriptFunction;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.PropertyMap map
        start local 1 // java.lang.invoke.MethodHandle getter
        start local 2 // jdk.nashorn.internal.runtime.ScriptFunction func
         0: .line 3508
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.runtime.ScriptObject.KNOWNFUNCPROPGUARDSELF:Ljava/lang/invoke/MethodHandle;
            iconst_1
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* map */
            aastore
            dup
            iconst_1
            aload 1 /* getter */
            aastore
            dup
            iconst_2
            aload 2 /* func */
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // jdk.nashorn.internal.runtime.ScriptFunction func
        end local 1 // java.lang.invoke.MethodHandle getter
        end local 0 // jdk.nashorn.internal.runtime.PropertyMap map
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0     map  Ljdk/nashorn/internal/runtime/PropertyMap;
            0    1     1  getter  Ljava/lang/invoke/MethodHandle;
            0    1     2    func  Ljdk/nashorn/internal/runtime/ScriptFunction;
    MethodParameters:
        Name  Flags
      map     final
      getter  final
      func    final

  private static boolean knownFunctionPropertyGuardSelf(java.lang.Object, jdk.nashorn.internal.runtime.PropertyMap, java.lang.invoke.MethodHandle, jdk.nashorn.internal.runtime.ScriptFunction);
    descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/runtime/PropertyMap;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/ScriptFunction;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // java.lang.Object self
        start local 1 // jdk.nashorn.internal.runtime.PropertyMap map
        start local 2 // java.lang.invoke.MethodHandle getter
        start local 3 // jdk.nashorn.internal.runtime.ScriptFunction func
         0: .line 3513
            aload 0 /* self */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 8
            aload 0 /* self */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* map */
            if_acmpne 8
         1: .line 3515
            aload 2 /* getter */
            aload 0 /* self */
            invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 3 /* func */
            if_acmpne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
         3: ireturn
         4: .line 3516
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
         5: .line 3517
            aload 4 /* e */
            athrow
        end local 4 // java.lang.Throwable e
         6: .line 3518
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4 /* t */
        start local 4 // java.lang.Throwable t
         7: .line 3519
            new java.lang.RuntimeException
            dup
            aload 4 /* t */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Throwable t
         8: .line 3523
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // jdk.nashorn.internal.runtime.ScriptFunction func
        end local 2 // java.lang.invoke.MethodHandle getter
        end local 1 // jdk.nashorn.internal.runtime.PropertyMap map
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    self  Ljava/lang/Object;
            0    9     1     map  Ljdk/nashorn/internal/runtime/PropertyMap;
            0    9     2  getter  Ljava/lang/invoke/MethodHandle;
            0    9     3    func  Ljdk/nashorn/internal/runtime/ScriptFunction;
            5    6     4       e  Ljava/lang/Throwable;
            7    8     4       t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.RuntimeException
           1     3       4  Class java.lang.Error
           1     3       6  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      self    final
      map     final
      getter  final
      func    final

  private static java.lang.invoke.MethodHandle getKnownFunctionPropertyGuardProto(jdk.nashorn.internal.runtime.PropertyMap, java.lang.invoke.MethodHandle, int, jdk.nashorn.internal.runtime.ScriptFunction);
    descriptor: (Ljdk/nashorn/internal/runtime/PropertyMap;Ljava/lang/invoke/MethodHandle;ILjdk/nashorn/internal/runtime/ScriptFunction;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.PropertyMap map
        start local 1 // java.lang.invoke.MethodHandle getter
        start local 2 // int depth
        start local 3 // jdk.nashorn.internal.runtime.ScriptFunction func
         0: .line 3527
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            getstatic jdk.nashorn.internal.runtime.ScriptObject.KNOWNFUNCPROPGUARDPROTO:Ljava/lang/invoke/MethodHandle;
            iconst_1
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* map */
            aastore
            dup
            iconst_1
            aload 1 /* getter */
            aastore
            dup
            iconst_2
            iload 2 /* depth */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 3 /* func */
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // jdk.nashorn.internal.runtime.ScriptFunction func
        end local 2 // int depth
        end local 1 // java.lang.invoke.MethodHandle getter
        end local 0 // jdk.nashorn.internal.runtime.PropertyMap map
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0     map  Ljdk/nashorn/internal/runtime/PropertyMap;
            0    1     1  getter  Ljava/lang/invoke/MethodHandle;
            0    1     2   depth  I
            0    1     3    func  Ljdk/nashorn/internal/runtime/ScriptFunction;
    MethodParameters:
        Name  Flags
      map     final
      getter  final
      depth   final
      func    final

  private static jdk.nashorn.internal.runtime.ScriptObject getProto(jdk.nashorn.internal.runtime.ScriptObject, int);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;I)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject self
        start local 1 // int depth
         0: .line 3531
            aload 0 /* self */
            astore 2 /* proto */
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject proto
         1: .line 3532
            iconst_0
            istore 3 /* d */
        start local 3 // int d
         2: goto 7
         3: .line 3533
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject int
      StackMap stack:
            aload 2 /* proto */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 2 /* proto */
         4: .line 3534
            aload 2 /* proto */
            ifnonnull 6
         5: .line 3535
            aconst_null
            areturn
         6: .line 3532
      StackMap locals:
      StackMap stack:
            iinc 3 /* d */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* d */
            iload 1 /* depth */
            if_icmplt 3
        end local 3 // int d
         8: .line 3539
            aload 2 /* proto */
            areturn
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject proto
        end local 1 // int depth
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   self  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    9     1  depth  I
            1    9     2  proto  Ljdk/nashorn/internal/runtime/ScriptObject;
            2    8     3      d  I
    MethodParameters:
       Name  Flags
      self   final
      depth  final

  private static boolean knownFunctionPropertyGuardProto(java.lang.Object, jdk.nashorn.internal.runtime.PropertyMap, java.lang.invoke.MethodHandle, int, jdk.nashorn.internal.runtime.ScriptFunction);
    descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/runtime/PropertyMap;Ljava/lang/invoke/MethodHandle;ILjdk/nashorn/internal/runtime/ScriptFunction;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // java.lang.Object self
        start local 1 // jdk.nashorn.internal.runtime.PropertyMap map
        start local 2 // java.lang.invoke.MethodHandle getter
        start local 3 // int depth
        start local 4 // jdk.nashorn.internal.runtime.ScriptFunction func
         0: .line 3544
            aload 0 /* self */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 11
            aload 0 /* self */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            aload 1 /* map */
            if_acmpne 11
         1: .line 3545
            aload 0 /* self */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            iload 3 /* depth */
            invokestatic jdk.nashorn.internal.runtime.ScriptObject.getProto:(Ljdk/nashorn/internal/runtime/ScriptObject;I)Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 5 /* proto */
        start local 5 // jdk.nashorn.internal.runtime.ScriptObject proto
         2: .line 3546
            aload 5 /* proto */
            ifnonnull 4
         3: .line 3547
            iconst_0
            ireturn
         4: .line 3550
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 2 /* getter */
            aload 5 /* proto */
            invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 4 /* func */
            if_acmpne 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
         6: ireturn
         7: .line 3551
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6 /* e */
        start local 6 // java.lang.Throwable e
         8: .line 3552
            aload 6 /* e */
            athrow
        end local 6 // java.lang.Throwable e
         9: .line 3553
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6 /* t */
        start local 6 // java.lang.Throwable t
        10: .line 3554
            new java.lang.RuntimeException
            dup
            aload 6 /* t */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Throwable t
        end local 5 // jdk.nashorn.internal.runtime.ScriptObject proto
        11: .line 3558
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // jdk.nashorn.internal.runtime.ScriptFunction func
        end local 3 // int depth
        end local 2 // java.lang.invoke.MethodHandle getter
        end local 1 // jdk.nashorn.internal.runtime.PropertyMap map
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    self  Ljava/lang/Object;
            0   12     1     map  Ljdk/nashorn/internal/runtime/PropertyMap;
            0   12     2  getter  Ljava/lang/invoke/MethodHandle;
            0   12     3   depth  I
            0   12     4    func  Ljdk/nashorn/internal/runtime/ScriptFunction;
            2   11     5   proto  Ljdk/nashorn/internal/runtime/ScriptObject;
            8    9     6       e  Ljava/lang/Throwable;
           10   11     6       t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4     6       7  Class java.lang.RuntimeException
           4     6       7  Class java.lang.Error
           4     6       9  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      self    final
      map     final
      getter  final
      depth   final
      func    final

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

  protected java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.clone:()Ljdk/nashorn/internal/runtime/ScriptObject;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.CloneNotSupportedException

  static int[] $SWITCH_TABLE$jdk$dynalink$StandardOperation();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 102
            getstatic jdk.nashorn.internal.runtime.ScriptObject.$SWITCH_TABLE$jdk$dynalink$StandardOperation:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.dynalink.StandardOperation.values:()[Ljdk/dynalink/StandardOperation;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.dynalink.StandardOperation.CALL:Ljdk/dynalink/StandardOperation;
            invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.dynalink.StandardOperation.GET:Ljdk/dynalink/StandardOperation;
            invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.dynalink.StandardOperation.NEW:Ljdk/dynalink/StandardOperation;
            invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
            iconst_5
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.dynalink.StandardOperation.REMOVE:Ljdk/dynalink/StandardOperation;
            invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
            iconst_3
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.dynalink.StandardOperation.SET:Ljdk/dynalink/StandardOperation;
            invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
            iconst_2
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic jdk.nashorn.internal.runtime.ScriptObject.$SWITCH_TABLE$jdk$dynalink$StandardOperation:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
}
SourceFile: "ScriptObject.java"
NestMembers:
  jdk.nashorn.internal.runtime.ScriptObject$KeyIterator  jdk.nashorn.internal.runtime.ScriptObject$ScriptObjectIterator  jdk.nashorn.internal.runtime.ScriptObject$ValueIterator
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public SimpleImmutableEntry = java.util.AbstractMap$SimpleImmutableEntry of java.util.AbstractMap
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public abstract Call = jdk.nashorn.internal.codegen.CompilerConstants$Call of jdk.nashorn.internal.codegen.CompilerConstants
  private KeyIterator = jdk.nashorn.internal.runtime.ScriptObject$KeyIterator of jdk.nashorn.internal.runtime.ScriptObject
  private abstract ScriptObjectIterator = jdk.nashorn.internal.runtime.ScriptObject$ScriptObjectIterator of jdk.nashorn.internal.runtime.ScriptObject
  private ValueIterator = jdk.nashorn.internal.runtime.ScriptObject$ValueIterator of jdk.nashorn.internal.runtime.ScriptObject
  final Accessors = jdk.nashorn.internal.runtime.UserAccessorProperty$Accessors of jdk.nashorn.internal.runtime.UserAccessorProperty