public final class com.oracle.truffle.js.runtime.JSRuntime
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.js.runtime.JSRuntime
  super_class: java.lang.Object
{
  private static final long NEGATIVE_ZERO_DOUBLE_BITS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

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

  public static final double TWO32;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4.294967296E9

  public static final char LINE_SEPARATOR;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final long INVALID_ARRAY_INDEX;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final long MAX_ARRAY_LENGTH;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4294967295

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

  public static final double MAX_SAFE_INTEGER;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final double MIN_SAFE_INTEGER;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final long MAX_SAFE_INTEGER_LONG;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final long MIN_SAFE_INTEGER_LONG;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final long INVALID_INTEGER_INDEX;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

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

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

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

  public static final int MIN_SAFE_INTEGER_IN_FLOAT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -16777216

  public static final long MAX_BIG_INT_EXPONENT;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2147483647

  public static final long INVALID_SAFE_INTEGER;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -9223372036854775808

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

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

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

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

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

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

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

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

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

  public static final com.oracle.truffle.api.object.HiddenKey ITERATED_OBJECT_ID;
    descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.oracle.truffle.api.object.HiddenKey ITERATOR_NEXT_INDEX;
    descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.oracle.truffle.api.object.HiddenKey ENUMERATE_ITERATOR_ID;
    descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.oracle.truffle.api.object.HiddenKey FOR_IN_ITERATOR_ID;
    descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.oracle.truffle.api.object.HiddenKey FINALIZATION_GROUP_CLEANUP_ITERATOR_ID;
    descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

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

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

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

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 94
            ldc Lcom/oracle/truffle/js/runtime/JSRuntime;
            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 com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
         3: .line 95
            ldc -0.0
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            putstatic com.oracle.truffle.js.runtime.JSRuntime.NEGATIVE_ZERO_DOUBLE_BITS:J
         4: .line 96
            ldc Infinity
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            putstatic com.oracle.truffle.js.runtime.JSRuntime.POSITIVE_INFINITY_DOUBLE_BITS:J
         5: .line 106
            ldc 2.0
            ldc 53.0
            invokestatic java.lang.Math.pow:(DD)D
            dconst_1
            dsub
            putstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER:D
         6: .line 107
            getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER:D
            dneg
            putstatic com.oracle.truffle.js.runtime.JSRuntime.MIN_SAFE_INTEGER:D
         7: .line 108
            getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER:D
            d2l
            putstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER_LONG:J
         8: .line 109
            getstatic com.oracle.truffle.js.runtime.JSRuntime.MIN_SAFE_INTEGER:D
            d2l
            putstatic com.oracle.truffle.js.runtime.JSRuntime.MIN_SAFE_INTEGER_LONG:J
         9: .line 131
            new com.oracle.truffle.api.object.HiddenKey
            dup
            ldc "IteratedObject"
            invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
            putstatic com.oracle.truffle.js.runtime.JSRuntime.ITERATED_OBJECT_ID:Lcom/oracle/truffle/api/object/HiddenKey;
        10: .line 132
            new com.oracle.truffle.api.object.HiddenKey
            dup
            ldc "IteratorNextIndex"
            invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
            putstatic com.oracle.truffle.js.runtime.JSRuntime.ITERATOR_NEXT_INDEX:Lcom/oracle/truffle/api/object/HiddenKey;
        11: .line 133
            new com.oracle.truffle.api.object.HiddenKey
            dup
            ldc "EnumerateIterator"
            invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
            putstatic com.oracle.truffle.js.runtime.JSRuntime.ENUMERATE_ITERATOR_ID:Lcom/oracle/truffle/api/object/HiddenKey;
        12: .line 134
            new com.oracle.truffle.api.object.HiddenKey
            dup
            ldc "ForInIterator"
            invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
            putstatic com.oracle.truffle.js.runtime.JSRuntime.FOR_IN_ITERATOR_ID:Lcom/oracle/truffle/api/object/HiddenKey;
        13: .line 135
            new com.oracle.truffle.api.object.HiddenKey
            dup
            ldc "CleanupIterator"
            invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
            putstatic com.oracle.truffle.js.runtime.JSRuntime.FINALIZATION_GROUP_CLEANUP_ITERATOR_ID:Lcom/oracle/truffle/api/object/HiddenKey;
        14: .line 141
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSRuntime this
         0: .line 143
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 145
            return
        end local 0 // com.oracle.truffle.js.runtime.JSRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/runtime/JSRuntime;

  public static boolean doubleIsRepresentableAsInt(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // double d
         0: .line 148
            dload 0 /* d */
            iconst_0
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsInt:(DZ)Z
            ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static boolean doubleIsRepresentableAsInt(double, boolean);
    descriptor: (DZ)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // double d
        start local 2 // boolean ignoreNegativeZero
         0: .line 152
            dload 0 /* d */
            d2l
            lstore 3 /* longValue */
        start local 3 // long longValue
         1: .line 153
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsLong:(D)Z
            ifeq 3
            lload 3 /* longValue */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.longIsRepresentableAsInt:(J)Z
            ifeq 3
            iload 2 /* ignoreNegativeZero */
            ifne 2
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNegativeZero:(D)Z
            ifne 3
      StackMap locals: long
      StackMap stack:
         2: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 3 // long longValue
        end local 2 // boolean ignoreNegativeZero
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                   d  D
            0    4     2  ignoreNegativeZero  Z
            1    4     3           longValue  J
    MethodParameters:
                    Name  Flags
      d                   
      ignoreNegativeZero  

  public static boolean doubleIsRepresentableAsUnsignedInt(double, boolean);
    descriptor: (DZ)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // double d
        start local 2 // boolean ignoreNegativeZero
         0: .line 157
            dload 0 /* d */
            d2l
            lstore 3 /* longValue */
        start local 3 // long longValue
         1: .line 158
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsLong:(D)Z
            ifeq 3
            lload 3 /* longValue */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.longIsRepresentableAsInt:(J)Z
            ifeq 3
            iload 2 /* ignoreNegativeZero */
            ifne 2
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNegativeZero:(D)Z
            ifne 3
      StackMap locals: long
      StackMap stack:
         2: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 3 // long longValue
        end local 2 // boolean ignoreNegativeZero
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                   d  D
            0    4     2  ignoreNegativeZero  Z
            1    4     3           longValue  J
    MethodParameters:
                    Name  Flags
      d                   
      ignoreNegativeZero  

  public static boolean isNegativeZero(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double d
         0: .line 162
            dload 0 /* d */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            getstatic com.oracle.truffle.js.runtime.JSRuntime.NEGATIVE_ZERO_DOUBLE_BITS:J
            lcmp
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static boolean isPositiveInfinity(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double d
         0: .line 166
            dload 0 /* d */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            getstatic com.oracle.truffle.js.runtime.JSRuntime.POSITIVE_INFINITY_DOUBLE_BITS:J
            lcmp
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static java.lang.Number doubleToNarrowestNumber(double);
    descriptor: (D)Ljava/lang/Number;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 170
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsInt:(D)Z
            ifeq 2
         1: .line 171
            dload 0 /* d */
            d2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         2: .line 173
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static boolean longIsRepresentableAsInt(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long value
         0: .line 177
            lload 0 /* value */
            lload 0 /* value */
            l2i
            i2l
            lcmp
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static boolean isRepresentableAsUnsignedInt(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long value
         0: .line 181
            lload 0 /* value */
            ldc 4294967295
            land
            lload 0 /* value */
            lcmp
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static boolean doubleIsRepresentableAsLong(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double d
         0: .line 185
            dload 0 /* d */
            dload 0 /* d */
            d2l
            l2d
            dcmpl
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static java.lang.Object positiveLongToIntOrDouble(long);
    descriptor: (J)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long value
         0: .line 189
            lload 0 /* value */
            ldc 2147483647
            lcmp
            ifgt 2
         1: .line 190
            lload 0 /* value */
            l2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         2: .line 192
      StackMap locals:
      StackMap stack:
            lload 0 /* value */
            l2d
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Number longToIntOrDouble(long);
    descriptor: (J)Ljava/lang/Number;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long value
         0: .line 197
            ldc -2147483648
            lload 0 /* value */
            lcmp
            ifgt 2
            lload 0 /* value */
            ldc 2147483647
            lcmp
            ifgt 2
         1: .line 198
            lload 0 /* value */
            l2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         2: .line 200
      StackMap locals:
      StackMap stack:
            lload 0 /* value */
            l2d
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static boolean isNaN(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Object value
         0: .line 205
            aload 0 /* value */
            instanceof java.lang.Double
            ifne 2
         1: .line 206
            iconst_0
            ireturn
         2: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            dstore 1 /* d */
        start local 1 // double d
         3: .line 209
            dload 1 /* d */
            invokestatic java.lang.Double.isNaN:(D)Z
            ireturn
        end local 1 // double d
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  value  Ljava/lang/Object;
            3    4     1      d  D
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.String typeof(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.Object value
         0: .line 214
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 2
         1: .line 215
            ldc "object"
            areturn
         2: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 4
         3: .line 217
            ldc "undefined"
            areturn
         4: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 219
            ldc "string"
            areturn
         6: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 221
            ldc "number"
            areturn
         8: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 223
            ldc "bigint"
            areturn
        10: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Boolean
            ifeq 12
        11: .line 225
            ldc "boolean"
            areturn
        12: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ifeq 14
        13: .line 227
            ldc "symbol"
            areturn
        14: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 26
        15: .line 229
            aload 0 /* value */
            checkcast com.oracle.truffle.api.object.DynamicObject
            astore 1 /* object */
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        16: .line 230
            aload 1 /* object */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifeq 23
        17: .line 231
            aload 1 /* object */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            astore 2 /* target */
        start local 2 // java.lang.Object target
        18: .line 232
            aload 2 /* target */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 22
        19: .line 233
            aload 1 /* object */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isRevokedCallableProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifeq 20
            ldc "function"
            goto 21
      StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.Object
      StackMap stack:
        20: ldc "object"
      StackMap locals:
      StackMap stack: java.lang.String
        21: areturn
        22: .line 235
      StackMap locals:
      StackMap stack:
            aload 2 /* target */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.typeof:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.Object target
        23: .line 237
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
            ifeq 25
        24: .line 238
            ldc "function"
            areturn
        25: .line 240
      StackMap locals:
      StackMap stack:
            ldc "object"
            areturn
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        26: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.api.interop.TruffleObject
            ifeq 39
        27: .line 242
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 28
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ifeq 28
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        28: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            checkcast com.oracle.truffle.api.interop.TruffleObject
            astore 1 /* object */
        start local 1 // com.oracle.truffle.api.interop.TruffleObject object
        29: .line 244
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 2 /* interop */
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary interop
        30: .line 245
            aload 2 /* interop */
            aload 1 /* object */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
            ifeq 32
        31: .line 246
            ldc "boolean"
            areturn
        32: .line 247
      StackMap locals: com.oracle.truffle.api.interop.TruffleObject com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            aload 2 /* interop */
            aload 1 /* object */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            ifeq 34
        33: .line 248
            ldc "string"
            areturn
        34: .line 249
      StackMap locals:
      StackMap stack:
            aload 2 /* interop */
            aload 1 /* object */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifeq 36
        35: .line 250
            ldc "number"
            areturn
        36: .line 251
      StackMap locals:
      StackMap stack:
            aload 2 /* interop */
            aload 1 /* object */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
            ifne 37
            aload 2 /* interop */
            aload 1 /* object */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstantiable:(Ljava/lang/Object;)Z
            ifeq 38
        37: .line 252
      StackMap locals:
      StackMap stack:
            ldc "function"
            areturn
        38: .line 254
      StackMap locals:
      StackMap stack:
            ldc "object"
            areturn
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 1 // com.oracle.truffle.api.interop.TruffleObject object
        39: .line 257
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
        40: .line 258
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "typeof: don't know "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   41     0    value  Ljava/lang/Object;
           16   26     1   object  Lcom/oracle/truffle/api/object/DynamicObject;
           18   23     2   target  Ljava/lang/Object;
           29   39     1   object  Lcom/oracle/truffle/api/interop/TruffleObject;
           30   39     2  interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static boolean isObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object vo
         0: .line 267
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* vo */
            instanceof com.oracle.truffle.js.runtime.objects.JSObject
            aload 0 /* vo */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.hasJSDynamicType:(Ljava/lang/Object;)Z
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* vo */
            instanceof com.oracle.truffle.js.runtime.objects.JSObject
            ireturn
        end local 0 // java.lang.Object vo
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    vo  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      vo    

  private static boolean hasJSDynamicType(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object vo
         0: .line 272
            aload 0 /* vo */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 273
            aload 0 /* vo */
            checkcast com.oracle.truffle.js.runtime.objects.JSDynamicObject
            invokevirtual com.oracle.truffle.js.runtime.objects.JSDynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Shape.getDynamicType:()Ljava/lang/Object;
            astore 1 /* type */
        start local 1 // java.lang.Object type
         2: .line 274
            aload 1 /* type */
            instanceof com.oracle.truffle.js.runtime.builtins.JSClass
            ifeq 3
            aload 1 /* type */
            getstatic com.oracle.truffle.js.runtime.objects.Null.NULL_CLASS:Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            if_acmpeq 3
            iconst_1
            ireturn
      StackMap locals: java.lang.Object
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // java.lang.Object type
         4: .line 276
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Object vo
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    vo  Ljava/lang/Object;
            2    4     1  type  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      vo    

  public static boolean isNullOrUndefined(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 value
         0: .line 284
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.objects.Nullish
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isNullish(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 291
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 1
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 1
            aload 0 /* value */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object toPrimitive(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 303
            aload 0 /* value */
            ldc "default"
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPrimitive:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object toPrimitive(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object value
        start local 1 // java.lang.String hint
         0: .line 316
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 1
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 2
         1: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            areturn
         2: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.api.interop.TruffleObject
            ifeq 8
         3: .line 319
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 320
            aload 0 /* value */
            checkcast com.oracle.truffle.api.object.DynamicObject
            aload 1 /* hint */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.toPrimitive:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;)Ljava/lang/Object;
            areturn
         5: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 322
            aload 0 /* value */
            checkcast com.oracle.truffle.api.interop.TruffleObject
            astore 2 /* tObj */
        start local 2 // com.oracle.truffle.api.interop.TruffleObject tObj
         7: .line 323
            aload 2 /* tObj */
            aload 1 /* hint */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPrimitiveFromForeign:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 2 // com.oracle.truffle.api.interop.TruffleObject tObj
         8: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            areturn
        end local 1 // java.lang.String hint
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0  value  Ljava/lang/Object;
            0    9     1   hint  Ljava/lang/String;
            7    8     2   tObj  Lcom/oracle/truffle/api/interop/TruffleObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  
      hint   

  public static java.lang.Object toPrimitiveFromForeign(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.Object tObj
        start local 1 // java.lang.String hint
         0: .line 336
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 0 /* tObj */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 3 /* interop */
        start local 3 // com.oracle.truffle.api.interop.InteropLibrary interop
         1: .line 337
            aload 3 /* interop */
            aload 0 /* tObj */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 338
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            areturn
         3: .line 339
      StackMap locals: java.lang.Object java.lang.String top com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            dup
            astore 2 /* env */
        start local 2 // com.oracle.truffle.api.TruffleLanguage$Env env
         4: aload 0 /* tObj */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isHostObject:(Ljava/lang/Object;)Z
            ifeq 13
         5: .line 340
            aload 2 /* env */
            aload 0 /* tObj */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asHostObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* javaObject */
        start local 4 // java.lang.Object javaObject
         6: .line 341
            aload 4 /* javaObject */
            ifnonnull 8
         7: .line 342
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            areturn
         8: .line 343
      StackMap locals: java.lang.Object java.lang.String com.oracle.truffle.api.TruffleLanguage$Env com.oracle.truffle.api.interop.InteropLibrary java.lang.Object
      StackMap stack:
            aload 4 /* javaObject */
            invokestatic com.oracle.truffle.js.nodes.JSGuards.isJavaPrimitiveNumber:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 344
            aload 4 /* javaObject */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.importValue:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        10: .line 345
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentJSRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
            ifeq 12
            aload 4 /* javaObject */
            instanceof java.lang.Number
            ifeq 12
        11: .line 346
            aload 4 /* javaObject */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        12: .line 348
      StackMap locals:
      StackMap stack:
            aload 4 /* javaObject */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toJSNull:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Object javaObject
        13: .line 350
      StackMap locals:
      StackMap stack:
            aload 3 /* interop */
            aload 0 /* tObj */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
            ifne 14
            aload 3 /* interop */
            aload 0 /* tObj */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            ifne 14
            aload 3 /* interop */
            aload 0 /* tObj */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 351
      StackMap locals:
      StackMap stack:
            aload 0 /* tObj */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            aload 3 /* interop */
            aconst_null
            invokestatic com.oracle.truffle.js.runtime.interop.JSInteropUtil.toPrimitiveOrDefault:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
            areturn
        15: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* tObj */
            aload 1 /* hint */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.foreignOrdinaryToPrimitive:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 3 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 2 // com.oracle.truffle.api.TruffleLanguage$Env env
        end local 1 // java.lang.String hint
        end local 0 // java.lang.Object tObj
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        tObj  Ljava/lang/Object;
            0   16     1        hint  Ljava/lang/String;
            4   16     2         env  Lcom/oracle/truffle/api/TruffleLanguage$Env;
            1   16     3     interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            6   13     4  javaObject  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      tObj  
      hint  

  private static java.lang.Object foreignOrdinaryToPrimitive(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // java.lang.Object obj
        start local 1 // java.lang.String hint
         0: .line 359
            invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentJSRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            astore 2 /* realm */
        start local 2 // com.oracle.truffle.js.runtime.JSRealm realm
         1: .line 360
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 0 /* obj */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 3 /* interop */
        start local 3 // com.oracle.truffle.api.interop.InteropLibrary interop
         2: .line 362
            aload 1 /* hint */
            ldc "string"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 363
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "toString"
            aastore
            dup
            iconst_1
            ldc "valueOf"
            aastore
            astore 4 /* methodNames */
        start local 4 // java.lang.String[] methodNames
         4: .line 364
            goto 7
        end local 4 // java.lang.String[] methodNames
         5: .line 365
      StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 6
            ldc "number"
            aload 1 /* hint */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 366
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "valueOf"
            aastore
            dup
            iconst_1
            ldc "toString"
            aastore
            astore 4 /* methodNames */
        start local 4 // java.lang.String[] methodNames
         7: .line 369
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 3 /* interop */
            aload 0 /* obj */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 370
            aload 2 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getArrayPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* proto */
        start local 5 // com.oracle.truffle.api.object.DynamicObject proto
         9: .line 371
            goto 17
        end local 5 // com.oracle.truffle.api.object.DynamicObject proto
      StackMap locals:
      StackMap stack:
        10: aload 3 /* interop */
            aload 0 /* obj */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 372
            aload 2 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getFunctionPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* proto */
        start local 5 // com.oracle.truffle.api.object.DynamicObject proto
        12: .line 373
            goto 17
        end local 5 // com.oracle.truffle.api.object.DynamicObject proto
      StackMap locals:
      StackMap stack:
        13: aload 3 /* interop */
            aload 0 /* obj */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstant:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 374
            aload 2 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getDatePrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* proto */
        start local 5 // com.oracle.truffle.api.object.DynamicObject proto
        15: .line 375
            goto 17
        end local 5 // com.oracle.truffle.api.object.DynamicObject proto
        16: .line 376
      StackMap locals:
      StackMap stack:
            aload 2 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getObjectPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* proto */
        start local 5 // com.oracle.truffle.api.object.DynamicObject proto
        17: .line 379
      StackMap locals: com.oracle.truffle.api.object.DynamicObject
      StackMap stack:
            aload 4 /* methodNames */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 32
      StackMap locals: java.lang.Object java.lang.String com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.api.interop.InteropLibrary java.lang.String[] com.oracle.truffle.api.object.DynamicObject top int int java.lang.String[]
      StackMap stack:
        18: aload 9
            iload 7
            aaload
            astore 6 /* name */
        start local 6 // java.lang.String name
        19: .line 380
            aload 3 /* interop */
            aload 0 /* obj */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifeq 26
            aload 3 /* interop */
            aload 0 /* obj */
            aload 6 /* name */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInvocable:(Ljava/lang/Object;Ljava/lang/String;)Z
            ifeq 26
        20: .line 383
            aload 3 /* interop */
            aload 0 /* obj */
            aload 6 /* name */
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.importValue:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* result */
        start local 10 // java.lang.Object result
        21: .line 384
            goto 24
        end local 10 // java.lang.Object result
      StackMap locals: java.lang.Object java.lang.String com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.api.interop.InteropLibrary java.lang.String[] com.oracle.truffle.api.object.DynamicObject java.lang.String int int java.lang.String[]
      StackMap stack: com.oracle.truffle.api.interop.InteropException
        22: pop
        23: .line 385
            aconst_null
            astore 10 /* result */
        start local 10 // java.lang.Object result
        24: .line 387
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 10 /* result */
            ifnull 26
            aload 10 /* result */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifne 26
        25: .line 388
            aload 10 /* result */
            areturn
        end local 10 // java.lang.Object result
        26: .line 392
      StackMap locals:
      StackMap stack:
            aload 5 /* proto */
            aload 6 /* name */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getMethod:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* method */
        start local 10 // java.lang.Object method
        27: .line 393
            aload 10 /* method */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallable:(Ljava/lang/Object;)Z
            ifeq 31
        28: .line 394
            aload 10 /* method */
            aload 0 /* obj */
            iconst_0
            anewarray java.lang.Object
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.call:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 11 /* result */
        start local 11 // java.lang.Object result
        29: .line 395
            aload 11 /* result */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifne 31
        30: .line 396
            aload 11 /* result */
            areturn
        end local 11 // java.lang.Object result
        end local 10 // java.lang.Object method
        end local 6 // java.lang.String name
        31: .line 379
      StackMap locals: java.lang.Object java.lang.String com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.api.interop.InteropLibrary java.lang.String[] com.oracle.truffle.api.object.DynamicObject top int int java.lang.String[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        32: iload 7
            iload 8
            if_icmplt 18
        33: .line 400
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotConvertToPrimitiveValue:()Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 5 // com.oracle.truffle.api.object.DynamicObject proto
        end local 4 // java.lang.String[] methodNames
        end local 3 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 2 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 1 // java.lang.String hint
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0          obj  Ljava/lang/Object;
            0   34     1         hint  Ljava/lang/String;
            1   34     2        realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            2   34     3      interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            4    5     4  methodNames  [Ljava/lang/String;
            7   34     4  methodNames  [Ljava/lang/String;
            9   10     5        proto  Lcom/oracle/truffle/api/object/DynamicObject;
           12   13     5        proto  Lcom/oracle/truffle/api/object/DynamicObject;
           15   16     5        proto  Lcom/oracle/truffle/api/object/DynamicObject;
           17   34     5        proto  Lcom/oracle/truffle/api/object/DynamicObject;
           19   31     6         name  Ljava/lang/String;
           21   22    10       result  Ljava/lang/Object;
           24   26    10       result  Ljava/lang/Object;
           27   31    10       method  Ljava/lang/Object;
           29   31    11       result  Ljava/lang/Object;
      Exception table:
        from    to  target  type
          20    21      22  Class com.oracle.truffle.api.interop.InteropException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      obj   
      hint  

  public static boolean toBoolean(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 411
            aload 0 /* value */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            if_acmpne 2
         1: .line 412
            iconst_1
            ireturn
         2: .line 413
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            if_acmpeq 3
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 3
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 4
         3: .line 414
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 416
            aload 0 /* value */
            checkcast java.lang.Number
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toBoolean:(Ljava/lang/Number;)Z
            ireturn
         6: .line 417
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.String
            ifeq 9
         7: .line 418
            aload 0 /* value */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            ifeq 8
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
         9: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 420
            aload 0 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifeq 11
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        11: iconst_0
            ireturn
        12: .line 421
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.BigInt
            ifeq 15
        13: .line 422
            aload 0 /* value */
            checkcast com.oracle.truffle.js.runtime.BigInt
            getstatic com.oracle.truffle.js.runtime.BigInt.ZERO:Lcom/oracle/truffle/js/runtime/BigInt;
            invokevirtual com.oracle.truffle.js.runtime.BigInt.compareTo:(Lcom/oracle/truffle/js/runtime/BigInt;)I
            ifeq 14
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        14: iconst_0
            ireturn
        15: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 22
        16: .line 424
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 1 /* interop */
        start local 1 // com.oracle.truffle.api.interop.InteropLibrary interop
        17: .line 425
            aload 1 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 426
            iconst_0
            ireturn
        19: .line 427
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            aload 1 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
            ifne 20
            aload 1 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            ifne 20
            aload 1 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifeq 21
        20: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            aload 1 /* interop */
            aconst_null
            invokestatic com.oracle.truffle.js.runtime.interop.JSInteropUtil.toPrimitiveOrDefault:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toBoolean:(Ljava/lang/Object;)Z
            ireturn
        21: .line 430
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // com.oracle.truffle.api.interop.InteropLibrary interop
        22: .line 433
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0    value  Ljava/lang/Object;
           17   22     1  interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static boolean toBoolean(java.lang.Number);
    descriptor: (Ljava/lang/Number;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.Number number
         0: .line 438
            aload 0 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
            dstore 1 /* val */
        start local 1 // double val
         1: .line 439
            dload 1 /* val */
            dconst_0
            dcmpl
            ifeq 2
            dload 1 /* val */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 3
         2: .line 440
      StackMap locals: double
      StackMap stack:
            iconst_0
            ireturn
         3: .line 442
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 1 // double val
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  number  Ljava/lang/Number;
            1    4     1     val  D
    MethodParameters:
        Name  Flags
      number  

  public static java.lang.Number toNumber(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Number;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 454
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 455
            aload 0 /* value */
            checkcast com.oracle.truffle.api.object.DynamicObject
            ldc "number"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.toPrimitive:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;)Ljava/lang/Object;
            astore 1 /* primitive */
        start local 1 // java.lang.Object primitive
         2: .line 456
            goto 7
        end local 1 // java.lang.Object primitive
      StackMap locals:
      StackMap stack:
         3: aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 457
            aload 0 /* value */
            ldc "number"
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPrimitiveFromForeign:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 1 /* primitive */
        start local 1 // java.lang.Object primitive
         5: .line 458
            goto 7
        end local 1 // java.lang.Object primitive
         6: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            astore 1 /* primitive */
        start local 1 // java.lang.Object primitive
         7: .line 461
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* primitive */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumberFromPrimitive:(Ljava/lang/Object;)Ljava/lang/Number;
            areturn
        end local 1 // java.lang.Object primitive
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0      value  Ljava/lang/Object;
            2    3     1  primitive  Ljava/lang/Object;
            5    6     1  primitive  Ljava/lang/Object;
            7    8     1  primitive  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object toNumeric(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 466
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifeq 1
            aload 0 /* value */
            checkcast com.oracle.truffle.api.object.DynamicObject
            ldc "number"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.toPrimitive:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;)Ljava/lang/Object;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* value */
      StackMap locals:
      StackMap stack: java.lang.Object
         2: astore 1 /* primitive */
        start local 1 // java.lang.Object primitive
         3: .line 467
            aload 1 /* primitive */
            instanceof com.oracle.truffle.js.runtime.BigInt
            ifeq 5
         4: .line 468
            aload 1 /* primitive */
            areturn
         5: .line 470
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* primitive */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumberFromPrimitive:(Ljava/lang/Object;)Ljava/lang/Number;
            areturn
        end local 1 // java.lang.Object primitive
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0      value  Ljava/lang/Object;
            3    6     1  primitive  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Number toNumberFromPrimitive(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Number;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 476
            ldc 0.75
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
            invokestatic com.oracle.truffle.api.CompilerDirectives.injectBranchProbability:(DZ)Z
            ifeq 2
         1: .line 477
            aload 0 /* value */
            checkcast java.lang.Number
            areturn
         2: .line 478
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 4
         3: .line 479
            ldc NaN
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         4: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 6
         5: .line 481
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         6: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Boolean
            ifeq 8
         7: .line 483
            aload 0 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.booleanToNumber:(Z)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         8: .line 484
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.String
            ifeq 10
         9: .line 485
            aload 0 /* value */
            checkcast java.lang.String
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumber:(Ljava/lang/String;)Ljava/lang/Number;
            areturn
        10: .line 486
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 487
            aload 0 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumber:(Ljava/lang/String;)Ljava/lang/Number;
            areturn
        12: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ifeq 14
        13: .line 489
            ldc "a Symbol value"
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotConvertToNumber:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        14: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.BigInt
            ifeq 16
        15: .line 491
            ldc "a BigInt value"
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotConvertToNumber:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        16: .line 492
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Number
            ifeq 19
        17: .line 493
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 18
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaPrimitive:(Ljava/lang/Object;)Z
            ifne 18
            new java.lang.AssertionError
            dup
            aload 0 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        18: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            checkcast java.lang.Number
            areturn
        19: .line 496
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 20
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "should never reach here, type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not handled."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        20: .line 497
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotConvertToNumber:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   21     0  value  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static int booleanToNumber(boolean);
    descriptor: (Z)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // boolean value
         0: .line 501
            iload 0 /* value */
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // boolean value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  Z
    MethodParameters:
       Name  Flags
      value  

  public static boolean isNumber(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 value
         0: .line 505
            aload 0 /* value */
            instanceof java.lang.Integer
            ifne 1
            aload 0 /* value */
            instanceof java.lang.Double
            ifne 1
            aload 0 /* value */
            instanceof java.lang.Long
            ifne 1
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.SafeInteger
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static com.oracle.truffle.js.runtime.BigInt toBigInt(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/BigInt;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 510
            aload 0 /* value */
            ldc "number"
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPrimitive:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 1 /* primitive */
        start local 1 // java.lang.Object primitive
         1: .line 511
            aload 1 /* primitive */
            instanceof java.lang.String
            ifeq 6
         2: .line 513
            aload 1 /* primitive */
            checkcast java.lang.String
            invokestatic com.oracle.truffle.js.runtime.BigInt.valueOf:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/BigInt;
         3: areturn
         4: .line 514
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack: java.lang.NumberFormatException
            pop
         5: .line 515
            getstatic com.oracle.truffle.js.runtime.JSErrorType.SyntaxError:Lcom/oracle/truffle/js/runtime/JSErrorType;
            aload 1 /* primitive */
            invokestatic com.oracle.truffle.js.runtime.Errors.createErrorCanNotConvertToBigInt:(Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         6: .line 517
      StackMap locals:
      StackMap stack:
            aload 1 /* primitive */
            instanceof com.oracle.truffle.js.runtime.BigInt
            ifeq 8
         7: .line 518
            aload 1 /* primitive */
            checkcast com.oracle.truffle.js.runtime.BigInt
            areturn
         8: .line 519
      StackMap locals:
      StackMap stack:
            aload 1 /* primitive */
            instanceof java.lang.Boolean
            ifeq 12
         9: .line 520
            aload 1 /* primitive */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 10
            getstatic com.oracle.truffle.js.runtime.BigInt.ONE:Lcom/oracle/truffle/js/runtime/BigInt;
            goto 11
      StackMap locals:
      StackMap stack:
        10: getstatic com.oracle.truffle.js.runtime.BigInt.ZERO:Lcom/oracle/truffle/js/runtime/BigInt;
      StackMap locals:
      StackMap stack: com.oracle.truffle.js.runtime.BigInt
        11: areturn
        12: .line 522
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSErrorType.TypeError:Lcom/oracle/truffle/js/runtime/JSErrorType;
            aload 1 /* primitive */
            invokestatic com.oracle.truffle.js.runtime.Errors.createErrorCanNotConvertToBigInt:(Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 1 // java.lang.Object primitive
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0      value  Ljava/lang/Object;
            1   13     1  primitive  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NumberFormatException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static boolean isBigInt(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 value
         0: .line 527
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.BigInt
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJavaNumber(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 value
         0: .line 531
            aload 0 /* value */
            instanceof java.lang.Number
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Number stringToNumber(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Number;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String string
         0: .line 543
            aload 0 /* string */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.trimJSWhiteSpace:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* strCamel */
        start local 1 // java.lang.String strCamel
         1: .line 544
            aload 1 /* strCamel */
            invokevirtual java.lang.String.length:()I
            ifne 3
         2: .line 545
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         3: .line 547
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* strCamel */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* firstChar */
        start local 2 // char firstChar
         4: .line 548
            aload 1 /* strCamel */
            invokevirtual java.lang.String.length:()I
            ldc "Infinity"
            invokevirtual java.lang.String.length:()I
            if_icmplt 6
            aload 1 /* strCamel */
            invokevirtual java.lang.String.length:()I
            ldc "Infinity"
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            if_icmpgt 6
            aload 1 /* strCamel */
            ldc "Infinity"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 549
            aload 1 /* strCamel */
            iload 2 /* firstChar */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.identifyInfinity:(Ljava/lang/String;C)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         6: .line 551
      StackMap locals: int
      StackMap stack:
            iload 2 /* firstChar */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
            ifne 8
            iload 2 /* firstChar */
            bipush 45
            if_icmpeq 8
            iload 2 /* firstChar */
            bipush 46
            if_icmpeq 8
            iload 2 /* firstChar */
            bipush 43
            if_icmpeq 8
         7: .line 552
            ldc NaN
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         8: .line 554
      StackMap locals:
      StackMap stack:
            aload 1 /* strCamel */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumberParse:(Ljava/lang/String;)Ljava/lang/Number;
            areturn
        end local 2 // char firstChar
        end local 1 // java.lang.String strCamel
        end local 0 // java.lang.String string
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0     string  Ljava/lang/String;
            1    9     1   strCamel  Ljava/lang/String;
            4    9     2  firstChar  C
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      string  

  private static java.lang.Number stringToNumberParse(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Number;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String str
         0: .line 558
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "0x"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
            aload 0 /* str */
            ldc "0X"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 1 /* hex */
        start local 1 // boolean hex
         4: .line 560
            aload 0 /* str */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.firstExpIndexInString:(Ljava/lang/String;)I
            istore 2 /* eIndex */
        start local 2 // int eIndex
         5: .line 561
            iload 1 /* hex */
            ifne 6
            iload 2 /* eIndex */
            iflt 6
            iload 2 /* eIndex */
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpge 6
            iconst_1
            goto 7
      StackMap locals: int int
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 3 /* sci */
        start local 3 // boolean sci
         8: .line 563
            iload 3 /* sci */
            ifne 14
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            bipush 18
            if_icmpgt 14
            aload 0 /* str */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 14
         9: .line 565
            iload 1 /* hex */
            ifeq 12
        10: .line 566
            aload 0 /* str */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            bipush 16
            invokestatic java.lang.Long.valueOf:(Ljava/lang/String;I)Ljava/lang/Long;
        11: areturn
        12: .line 568
      StackMap locals: int
      StackMap stack:
            aload 0 /* str */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumberLong:(Ljava/lang/String;)Ljava/lang/Number;
        13: areturn
        14: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.parseDoubleOrNaN:(Ljava/lang/String;)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
        15: areturn
        16: .line 573
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        17: .line 574
            ldc NaN
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        end local 3 // boolean sci
        end local 2 // int eIndex
        end local 1 // boolean hex
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0     str  Ljava/lang/String;
            4   18     1     hex  Z
            5   18     2  eIndex  I
            8   18     3     sci  Z
      Exception table:
        from    to  target  type
           8    11      16  Class java.lang.NumberFormatException
          12    13      16  Class java.lang.NumberFormatException
          14    15      16  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      str   

  private static java.lang.Number stringToNumberLong(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Number;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.String strLower
         0: .line 579
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* strLower */
            invokevirtual java.lang.String.length:()I
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* strLower */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            lstore 1 /* num */
        start local 1 // long num
         2: .line 581
            lload 1 /* num */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.longIsRepresentableAsInt:(J)Z
            ifeq 6
         3: .line 582
            lload 1 /* num */
            lconst_0
            lcmp
            ifne 5
            aload 0 /* strLower */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 5
         4: .line 583
            ldc -0.0
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         5: .line 585
      StackMap locals: long
      StackMap stack:
            lload 1 /* num */
            l2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         6: .line 587
      StackMap locals:
      StackMap stack:
            lload 1 /* num */
            l2d
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        end local 1 // long num
        end local 0 // java.lang.String strLower
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  strLower  Ljava/lang/String;
            2    7     1       num  J
    Exceptions:
      throws java.lang.NumberFormatException
    MethodParameters:
          Name  Flags
      strLower  

  public static double parseDoubleOrNaN(java.lang.String);
    descriptor: (Ljava/lang/String;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String input
         0: .line 600
            aload 0 /* input */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 1
            aload 0 /* input */
            aload 0 /* input */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 57
            if_icmple 2
         1: .line 601
      StackMap locals:
      StackMap stack:
            ldc NaN
            dreturn
         2: .line 604
      StackMap locals:
      StackMap stack:
            aload 0 /* input */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
         3: dreturn
         4: .line 605
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
         5: .line 606
            ldc NaN
            dreturn
        end local 0 // java.lang.String input
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  input  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NumberFormatException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      input  

  public static int firstExpIndexInString(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String str
         0: .line 615
            aload 0 /* str */
            bipush 101
            iconst_0
            invokevirtual java.lang.String.indexOf:(II)I
            istore 1 /* firstIdx */
        start local 1 // int firstIdx
         1: .line 616
            iload 1 /* firstIdx */
            iflt 3
         2: .line 617
            iload 1 /* firstIdx */
            ireturn
         3: .line 619
      StackMap locals: int
      StackMap stack:
            aload 0 /* str */
            bipush 69
            iconst_0
            invokevirtual java.lang.String.indexOf:(II)I
            ireturn
        end local 1 // int firstIdx
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0       str  Ljava/lang/String;
            1    4     1  firstIdx  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      str   

  public static double identifyInfinity(java.lang.String, char);
    descriptor: (Ljava/lang/String;C)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String str
        start local 1 // char firstChar
         0: .line 623
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            istore 2 /* len */
        start local 2 // int len
         1: .line 624
            ldc "Infinity"
            invokevirtual java.lang.String.length:()I
            istore 3 /* infinityLength */
        start local 3 // int infinityLength
         2: .line 625
            iload 2 /* len */
            iload 3 /* infinityLength */
            if_icmpne 4
         3: .line 626
            ldc Infinity
            dreturn
         4: .line 627
      StackMap locals: int int
      StackMap stack:
            iload 2 /* len */
            iload 3 /* infinityLength */
            iconst_1
            iadd
            if_icmpne 9
         5: .line 628
            iload 1 /* firstChar */
            bipush 43
            if_icmpne 7
         6: .line 629
            ldc Infinity
            dreturn
         7: .line 630
      StackMap locals:
      StackMap stack:
            iload 1 /* firstChar */
            bipush 45
            if_icmpne 9
         8: .line 631
            ldc -Infinity
            dreturn
         9: .line 634
      StackMap locals:
      StackMap stack:
            ldc NaN
            dreturn
        end local 3 // int infinityLength
        end local 2 // int len
        end local 1 // char firstChar
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0             str  Ljava/lang/String;
            0   10     1       firstChar  C
            1   10     2             len  I
            2   10     3  infinityLength  I
    MethodParameters:
           Name  Flags
      str        
      firstChar  

  public static long toInteger(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 644
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
            astore 1 /* number */
        start local 1 // java.lang.Number number
         1: .line 645
            aload 1 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInteger:(Ljava/lang/Number;)J
            lreturn
        end local 1 // java.lang.Number number
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0   value  Ljava/lang/Object;
            1    2     1  number  Ljava/lang/Number;
    MethodParameters:
       Name  Flags
      value  

  public static long toInteger(java.lang.Number);
    descriptor: (Ljava/lang/Number;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Number number
         0: .line 650
            aload 0 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.longValue:(Ljava/lang/Number;)J
            lreturn
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  number  Ljava/lang/Number;
    MethodParameters:
        Name  Flags
      number  

  public static long toLength(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Object value
         0: .line 657
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInteger:(Ljava/lang/Object;)J
            lstore 1 /* l */
        start local 1 // long l
         1: .line 658
            lload 1 /* l */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toLength:(J)J
            lreturn
        end local 1 // long l
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
            1    2     1      l  J
    MethodParameters:
       Name  Flags
      value  

  public static double toLength(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double d
         0: .line 662
            dload 0 /* d */
            dconst_0
            dcmpg
            ifgt 2
         1: .line 663
            dconst_0
            dreturn
         2: .line 665
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER:D
            dcmpl
            ifle 4
         3: .line 666
            getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER:D
            dreturn
         4: .line 668
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            dreturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static long toLength(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long l
         0: .line 672
            lload 0 /* l */
            lconst_0
            lcmp
            ifgt 2
         1: .line 673
            lconst_0
            lreturn
         2: .line 675
      StackMap locals:
      StackMap stack:
            lload 0 /* l */
            getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER_LONG:J
            lcmp
            ifle 4
         3: .line 676
            getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER_LONG:J
            lreturn
         4: .line 678
      StackMap locals:
      StackMap stack:
            lload 0 /* l */
            lreturn
        end local 0 // long l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     l  J
    MethodParameters:
      Name  Flags
      l     

  public static int toLength(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int value
         0: .line 682
            iload 0 /* value */
            ifgt 2
         1: .line 683
            iconst_0
            ireturn
         2: .line 685
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  I
    MethodParameters:
       Name  Flags
      value  

  public static int toUInt8(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 695
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
            astore 1 /* number */
        start local 1 // java.lang.Number number
         1: .line 696
            aload 1 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt8:(Ljava/lang/Number;)I
            ireturn
        end local 1 // java.lang.Number number
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0   value  Ljava/lang/Object;
            1    2     1  number  Ljava/lang/Number;
    MethodParameters:
       Name  Flags
      value  

  public static int toUInt8(java.lang.Number);
    descriptor: (Ljava/lang/Number;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Number number
         0: .line 701
            aload 0 /* number */
            instanceof java.lang.Double
            ifeq 4
         1: .line 702
            aload 0 /* number */
            checkcast java.lang.Double
            astore 1 /* d */
        start local 1 // java.lang.Double d
         2: .line 703
            aload 1 /* d */
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPositiveInfinity:(D)Z
            ifeq 4
         3: .line 704
            iconst_0
            ireturn
        end local 1 // java.lang.Double d
         4: .line 707
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            invokevirtual java.lang.Number.longValue:()J
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt8:(J)I
            ireturn
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  number  Ljava/lang/Number;
            2    4     1       d  Ljava/lang/Double;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      number  

  public static int toUInt8(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long number
         0: .line 711
            lload 0 /* number */
            ldc 255
            land
            l2i
            ireturn
        end local 0 // long number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  number  J
    MethodParameters:
        Name  Flags
      number  

  public static int toInt8(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 721
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
            astore 1 /* number */
        start local 1 // java.lang.Number number
         1: .line 722
            aload 1 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt8:(Ljava/lang/Number;)I
            ireturn
        end local 1 // java.lang.Number number
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0   value  Ljava/lang/Object;
            1    2     1  number  Ljava/lang/Number;
    MethodParameters:
       Name  Flags
      value  

  public static int toInt8(java.lang.Number);
    descriptor: (Ljava/lang/Number;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Number number
         0: .line 727
            aload 0 /* number */
            instanceof java.lang.Double
            ifeq 4
         1: .line 728
            aload 0 /* number */
            checkcast java.lang.Double
            astore 1 /* d */
        start local 1 // java.lang.Double d
         2: .line 729
            aload 1 /* d */
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPositiveInfinity:(D)Z
            ifeq 4
         3: .line 730
            iconst_0
            ireturn
        end local 1 // java.lang.Double d
         4: .line 733
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            invokevirtual java.lang.Number.longValue:()J
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt8:(J)I
            ireturn
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  number  Ljava/lang/Number;
            2    4     1       d  Ljava/lang/Double;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      number  

  public static int toInt8(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // long number
         0: .line 738
            lload 0 /* number */
            sipush 256
            invokestatic java.lang.Math.floorMod:(JI)I
            istore 2 /* res */
        start local 2 // int res
         1: .line 739
            iload 2 /* res */
            sipush 128
            if_icmplt 3
         2: .line 740
            iinc 2 /* res */ -256
         3: .line 742
      StackMap locals: int
      StackMap stack:
            iload 2 /* res */
            ireturn
        end local 2 // int res
        end local 0 // long number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  number  J
            1    4     2     res  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      number  

  public static int toUInt16(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 752
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
            astore 1 /* number */
        start local 1 // java.lang.Number number
         1: .line 753
            aload 1 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt16:(Ljava/lang/Number;)I
            ireturn
        end local 1 // java.lang.Number number
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0   value  Ljava/lang/Object;
            1    2     1  number  Ljava/lang/Number;
    MethodParameters:
       Name  Flags
      value  

  public static int toUInt16(java.lang.Number);
    descriptor: (Ljava/lang/Number;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Number number
         0: .line 757
            aload 0 /* number */
            instanceof java.lang.Double
            ifeq 4
         1: .line 758
            aload 0 /* number */
            checkcast java.lang.Double
            astore 1 /* d */
        start local 1 // java.lang.Double d
         2: .line 759
            aload 1 /* d */
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPositiveInfinity:(D)Z
            ifeq 4
         3: .line 760
            iconst_0
            ireturn
        end local 1 // java.lang.Double d
         4: .line 763
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.longValue:(Ljava/lang/Number;)J
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt16:(J)I
            ireturn
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  number  Ljava/lang/Number;
            2    4     1       d  Ljava/lang/Double;
    MethodParameters:
        Name  Flags
      number  

  public static int toUInt16(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long number
         0: .line 767
            lload 0 /* number */
            ldc 65535
            land
            l2i
            ireturn
        end local 0 // long number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  number  J
    MethodParameters:
        Name  Flags
      number  

  public static int toInt16(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 777
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
            astore 1 /* number */
        start local 1 // java.lang.Number number
         1: .line 778
            aload 1 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt16:(Ljava/lang/Number;)I
            ireturn
        end local 1 // java.lang.Number number
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0   value  Ljava/lang/Object;
            1    2     1  number  Ljava/lang/Number;
    MethodParameters:
       Name  Flags
      value  

  public static int toInt16(java.lang.Number);
    descriptor: (Ljava/lang/Number;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Number number
         0: .line 783
            aload 0 /* number */
            instanceof java.lang.Double
            ifeq 4
         1: .line 784
            aload 0 /* number */
            checkcast java.lang.Double
            astore 1 /* d */
        start local 1 // java.lang.Double d
         2: .line 785
            aload 1 /* d */
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPositiveInfinity:(D)Z
            ifeq 4
         3: .line 786
            iconst_0
            ireturn
        end local 1 // java.lang.Double d
         4: .line 789
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            invokevirtual java.lang.Number.longValue:()J
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt16:(J)I
            ireturn
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  number  Ljava/lang/Number;
            2    4     1       d  Ljava/lang/Double;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      number  

  public static int toInt16(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // long number
         0: .line 794
            lload 0 /* number */
            ldc 65536
            invokestatic java.lang.Math.floorMod:(JI)I
            istore 2 /* res */
        start local 2 // int res
         1: .line 795
            iload 2 /* res */
            ldc 32768
            if_icmplt 3
         2: .line 796
            iload 2 /* res */
            ldc 65536
            isub
            istore 2 /* res */
         3: .line 798
      StackMap locals: int
      StackMap stack:
            iload 2 /* res */
            ireturn
        end local 2 // int res
        end local 0 // long number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  number  J
            1    4     2     res  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      number  

  public static long toUInt32(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 808
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt32:(Ljava/lang/Number;)J
            lreturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static long toUInt32(java.lang.Number);
    descriptor: (Ljava/lang/Number;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Number number
         0: .line 812
            aload 0 /* number */
            instanceof java.lang.Double
            ifeq 2
         1: .line 813
            aload 0 /* number */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt32:(D)J
            lreturn
         2: .line 815
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.longValue:(Ljava/lang/Number;)J
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt32:(J)J
            lreturn
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  number  Ljava/lang/Number;
    MethodParameters:
        Name  Flags
      number  

  public static long toUInt32(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long value
         0: .line 819
            lload 0 /* value */
            ldc 4294967295
            land
            lreturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static long toUInt32(double);
    descriptor: (D)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double value
         0: .line 823
            dload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.truncateDouble:(D)D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt32NoTruncate:(D)J
            lreturn
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  D
    MethodParameters:
       Name  Flags
      value  

  public static long toUInt32NoTruncate(double);
    descriptor: (D)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // double value
         0: .line 827
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            dload 0 /* value */
            invokestatic java.lang.Double.isFinite:(D)Z
            ifeq 1
            dload 0 /* value */
            dconst_1
            drem
            dconst_0
            dcmpl
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 828
      StackMap locals:
      StackMap stack:
            dload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleModuloTwo32:(D)D
            dstore 2 /* d */
        start local 2 // double d
         2: .line 829
            dload 2 /* d */
            d2l
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt32:(J)J
            lreturn
        end local 2 // double d
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  D
            2    3     2      d  D
    MethodParameters:
       Name  Flags
      value  

  public static double truncateDouble(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double value
         0: .line 833
            dload 0 /* value */
            invokestatic java.lang.Math.signum:(D)D
            dload 0 /* value */
            invokestatic java.lang.Math.abs:(D)D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.mathFloor:(D)D
            dmul
            dreturn
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  D
    MethodParameters:
       Name  Flags
      value  

  public static double truncateDouble2(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double thing
         0: .line 837
            dload 0 /* thing */
            dconst_0
            dcmpg
            ifge 1
            dload 0 /* thing */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.mathCeil:(D)D
            goto 2
      StackMap locals:
      StackMap stack:
         1: dload 0 /* thing */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.mathFloor:(D)D
      StackMap locals:
      StackMap stack: double
         2: dreturn
        end local 0 // double thing
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  thing  D
    MethodParameters:
       Name  Flags
      thing  

  public static int toInt32(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 847
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
            astore 1 /* number */
        start local 1 // java.lang.Number number
         1: .line 848
            aload 1 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt32:(Ljava/lang/Number;)I
            ireturn
        end local 1 // java.lang.Number number
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0   value  Ljava/lang/Object;
            1    2     1  number  Ljava/lang/Number;
    MethodParameters:
       Name  Flags
      value  

  public static int toInt32(java.lang.Number);
    descriptor: (Ljava/lang/Number;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Number number
         0: .line 855
            aload 0 /* number */
            instanceof java.lang.Double
            ifeq 2
         1: .line 856
            aload 0 /* number */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt32:(D)I
            ireturn
         2: .line 858
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            instanceof java.lang.Integer
            ifeq 4
         3: .line 859
            aload 0 /* number */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
         4: .line 861
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            instanceof java.lang.Long
            ifeq 6
         5: .line 862
            aload 0 /* number */
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            l2i
            ireturn
         6: .line 864
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt32Intl:(Ljava/lang/Number;)I
            ireturn
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0  number  Ljava/lang/Number;
    MethodParameters:
        Name  Flags
      number  

  private static int toInt32Intl(java.lang.Number);
    descriptor: (Ljava/lang/Number;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Number number
         0: .line 869
            aload 0 /* number */
            invokevirtual java.lang.Number.doubleValue:()D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt32:(D)I
            ireturn
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  number  Ljava/lang/Number;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      number  

  public static int toInt32(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double value
         0: .line 873
            dload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.truncateDouble:(D)D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt32NoTruncate:(D)I
            ireturn
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  D
    MethodParameters:
       Name  Flags
      value  

  public static int toInt32NoTruncate(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double value
         0: .line 877
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            dload 0 /* value */
            invokestatic java.lang.Double.isFinite:(D)Z
            ifeq 1
            dload 0 /* value */
            dconst_1
            drem
            dconst_0
            dcmpl
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 879
      StackMap locals:
      StackMap stack:
            dload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleModuloTwo32:(D)D
            d2l
            l2i
            ireturn
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  D
    MethodParameters:
       Name  Flags
      value  

  private static double doubleModuloTwo32(double);
    descriptor: (D)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // double value
         0: .line 883
            dload 0 /* value */
            dload 0 /* value */
            ldc 4.294967296E9
            ddiv
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.mathFloor:(D)D
            ldc 4.294967296E9
            dmul
            dsub
            dreturn
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  D
    MethodParameters:
       Name  Flags
      value  

  public static double toDouble(java.lang.Object);
    descriptor: (Ljava/lang/Object;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 892
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
            dreturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static double toDouble(java.lang.Number);
    descriptor: (Ljava/lang/Number;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Number value
         0: .line 900
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
            dreturn
        end local 0 // java.lang.Number value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Number;
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.String toString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 908
            ldc 0.75
            aload 0 /* value */
            instanceof java.lang.String
            invokestatic com.oracle.truffle.api.CompilerDirectives.injectBranchProbability:(DZ)Z
            ifeq 2
         1: .line 909
            aload 0 /* value */
            checkcast java.lang.String
            areturn
         2: .line 910
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 911
            aload 0 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         4: .line 912
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 6
         5: .line 913
            ldc "undefined"
            areturn
         6: .line 914
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 8
         7: .line 915
            ldc "null"
            areturn
         8: .line 916
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Boolean
            ifeq 10
         9: .line 917
            aload 0 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.booleanToString:(Z)Ljava/lang/String;
            areturn
        10: .line 918
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 919
            aload 0 /* value */
            checkcast java.lang.Number
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.numberToString:(Ljava/lang/Number;)Ljava/lang/String;
            areturn
        12: .line 920
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ifeq 14
        13: .line 921
            ldc "a Symbol value"
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotConvertToString:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        14: .line 922
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.BigInt
            ifeq 16
        15: .line 923
            aload 0 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        16: .line 924
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 925
            aload 0 /* value */
            checkcast com.oracle.truffle.api.object.DynamicObject
            ldc "string"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.toPrimitive:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        18: .line 926
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.api.interop.TruffleObject
            ifeq 21
        19: .line 927
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 20
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSNative:(Ljava/lang/Object;)Z
            ifeq 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 928
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            ldc "string"
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPrimitiveFromForeign:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        21: .line 930
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toStringTypeError:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   22     0  value  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.String safeToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 935
            aload 0 /* value */
            iconst_3
            aconst_null
            iconst_0
            iconst_0
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayStringImpl:(Ljava/lang/Object;ILjava/lang/Object;ZZ)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.String toDisplayString(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.Object value
        start local 1 // boolean allowSideEffects
         0: .line 940
            aload 0 /* value */
            iconst_3
            aconst_null
            iconst_0
            iload 1 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayStringImpl:(Ljava/lang/Object;ILjava/lang/Object;ZZ)Ljava/lang/String;
            areturn
        end local 1 // boolean allowSideEffects
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0             value  Ljava/lang/Object;
            0    1     1  allowSideEffects  Z
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                  Name  Flags
      value             
      allowSideEffects  

  public static java.lang.String toDisplayString(java.lang.Object, int, java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.lang.Object value
        start local 1 // int currentDepth
        start local 2 // java.lang.Object parent
        start local 3 // boolean allowSideEffects
         0: .line 945
            aload 0 /* value */
            iload 1 /* currentDepth */
            iconst_1
            isub
            aload 2 /* parent */
            iconst_1
            iload 3 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayStringImpl:(Ljava/lang/Object;ILjava/lang/Object;ZZ)Ljava/lang/String;
            areturn
        end local 3 // boolean allowSideEffects
        end local 2 // java.lang.Object parent
        end local 1 // int currentDepth
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0             value  Ljava/lang/Object;
            0    1     1      currentDepth  I
            0    1     2            parent  Ljava/lang/Object;
            0    1     3  allowSideEffects  Z
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                  Name  Flags
      value             
      currentDepth      
      parent            
      allowSideEffects  

  public static java.lang.String toDisplayString(java.lang.Object, int, java.lang.Object, boolean, boolean);
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;ZZ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.lang.Object value
        start local 1 // int currentDepth
        start local 2 // java.lang.Object parent
        start local 3 // boolean quoteString
        start local 4 // boolean allowSideEffects
         0: .line 950
            aload 0 /* value */
            iload 1 /* currentDepth */
            iconst_1
            isub
            aload 2 /* parent */
            iload 3 /* quoteString */
            iload 4 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayStringImpl:(Ljava/lang/Object;ILjava/lang/Object;ZZ)Ljava/lang/String;
            areturn
        end local 4 // boolean allowSideEffects
        end local 3 // boolean quoteString
        end local 2 // java.lang.Object parent
        end local 1 // int currentDepth
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0             value  Ljava/lang/Object;
            0    1     1      currentDepth  I
            0    1     2            parent  Ljava/lang/Object;
            0    1     3       quoteString  Z
            0    1     4  allowSideEffects  Z
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                  Name  Flags
      value             
      currentDepth      
      parent            
      quoteString       
      allowSideEffects  

  private static java.lang.String toDisplayStringImpl(java.lang.Object, int, java.lang.Object, boolean, boolean);
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;ZZ)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // java.lang.Object value
        start local 1 // int depth
        start local 2 // java.lang.Object parent
        start local 3 // boolean quoteString
        start local 4 // boolean allowSideEffects
         0: .line 959
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 960
            aload 0 /* value */
            aload 2 /* parent */
            if_acmpne 3
         2: .line 961
            ldc "(this)"
            areturn
         3: .line 962
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 5
         4: .line 963
            ldc "undefined"
            areturn
         5: .line 964
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 7
         6: .line 965
            ldc "null"
            areturn
         7: .line 966
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Boolean
            ifeq 9
         8: .line 967
            aload 0 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.booleanToString:(Z)Ljava/lang/String;
            areturn
         9: .line 968
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 14
        10: .line 969
            aload 0 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 5 /* string */
        start local 5 // java.lang.String string
        11: .line 970
            iload 3 /* quoteString */
            ifeq 12
            aload 5 /* string */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.quote:(Ljava/lang/String;)Ljava/lang/String;
            goto 13
      StackMap locals: java.lang.String
      StackMap stack:
        12: aload 5 /* string */
      StackMap locals:
      StackMap stack: java.lang.String
        13: areturn
        end local 5 // java.lang.String string
        14: .line 971
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 972
            aload 0 /* value */
            checkcast com.oracle.truffle.api.object.DynamicObject
            iload 1 /* depth */
            iload 4 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.toDisplayString:(Lcom/oracle/truffle/api/object/DynamicObject;IZ)Ljava/lang/String;
            areturn
        16: .line 973
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ifeq 18
        17: .line 974
            aload 0 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        18: .line 975
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.BigInt
            ifeq 20
        19: .line 976
            new java.lang.StringBuilder
            dup
            aload 0 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 110
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        20: .line 977
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
            ifeq 25
        21: .line 978
            aload 0 /* value */
            checkcast java.lang.Number
            astore 5 /* number */
        start local 5 // java.lang.Number number
        22: .line 979
            aload 5 /* number */
            invokevirtual java.lang.Number.doubleValue:()D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNegativeZero:(D)Z
            ifeq 24
        23: .line 980
            ldc "-0"
            areturn
        24: .line 982
      StackMap locals: java.lang.Number
      StackMap stack:
            aload 5 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.numberToString:(Ljava/lang/Number;)Ljava/lang/String;
            areturn
        end local 5 // java.lang.Number number
        25: .line 984
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.interop.InteropFunction
            ifeq 27
        26: .line 985
            aload 0 /* value */
            checkcast com.oracle.truffle.js.runtime.interop.InteropFunction
            invokevirtual com.oracle.truffle.js.runtime.interop.InteropFunction.getFunction:()Lcom/oracle/truffle/js/runtime/builtins/JSFunctionObject;
            iload 1 /* depth */
            aload 2 /* parent */
            iload 3 /* quoteString */
            iload 4 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayStringImpl:(Ljava/lang/Object;ILjava/lang/Object;ZZ)Ljava/lang/String;
            areturn
        27: .line 986
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.api.interop.TruffleObject
            ifeq 30
        28: .line 987
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 29
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSNative:(Ljava/lang/Object;)Z
            ifeq 29
            new java.lang.AssertionError
            dup
            aload 0 /* value */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        29: .line 988
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            iload 1 /* depth */
            iload 4 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.foreignToString:(Ljava/lang/Object;IZ)Ljava/lang/String;
            areturn
        30: .line 990
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 4 // boolean allowSideEffects
        end local 3 // boolean quoteString
        end local 2 // java.lang.Object parent
        end local 1 // int depth
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   31     0             value  Ljava/lang/Object;
            0   31     1             depth  I
            0   31     2            parent  Ljava/lang/Object;
            0   31     3       quoteString  Z
            0   31     4  allowSideEffects  Z
           11   14     5            string  Ljava/lang/String;
           22   25     5            number  Ljava/lang/Number;
    MethodParameters:
                  Name  Flags
      value             
      depth             
      parent            
      quoteString       
      allowSideEffects  

  public static java.lang.String objectToConsoleString(com.oracle.truffle.api.object.DynamicObject, java.lang.String, int, boolean);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;IZ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.oracle.truffle.api.object.DynamicObject obj
        start local 1 // java.lang.String name
        start local 2 // int depth
        start local 3 // boolean allowSideEffects
         0: .line 996
            aload 0 /* obj */
            aload 1 /* name */
            iload 2 /* depth */
            aconst_null
            aconst_null
            iload 3 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.objectToConsoleString:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;I[Ljava/lang/String;[Ljava/lang/Object;Z)Ljava/lang/String;
            areturn
        end local 3 // boolean allowSideEffects
        end local 2 // int depth
        end local 1 // java.lang.String name
        end local 0 // com.oracle.truffle.api.object.DynamicObject obj
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0               obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0    1     1              name  Ljava/lang/String;
            0    1     2             depth  I
            0    1     3  allowSideEffects  Z
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                  Name  Flags
      obj               
      name              
      depth             
      allowSideEffects  

  public static java.lang.String objectToConsoleString(com.oracle.truffle.api.object.DynamicObject, java.lang.String, int, java.lang.String[], java.lang.Object[], boolean);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;I[Ljava/lang/String;[Ljava/lang/Object;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=20, args_size=6
        start local 0 // com.oracle.truffle.api.object.DynamicObject obj
        start local 1 // java.lang.String name
        start local 2 // int depth
        start local 3 // java.lang.String[] internalKeys
        start local 4 // java.lang.Object[] internalValues
        start local 5 // boolean allowSideEffects
         0: .line 1001
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 2
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 1
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1002
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* sb */
        start local 6 // java.lang.StringBuilder sb
         3: .line 1004
            aload 1 /* name */
            ifnull 5
         4: .line 1005
            aload 6 /* sb */
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1007
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            iconst_0
            istore 7 /* isArrayLike */
        start local 7 // boolean isArrayLike
         6: .line 1008
            iconst_0
            istore 8 /* isArray */
        start local 8 // boolean isArray
         7: .line 1009
            ldc -1
            lstore 9 /* length */
        start local 9 // long length
         8: .line 1010
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.isJSArray:(Ljava/lang/Object;)Z
            ifeq 13
         9: .line 1011
            iconst_1
            istore 7 /* isArrayLike */
        10: .line 1012
            iconst_1
            istore 8 /* isArray */
        11: .line 1013
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.arrayGetLength:(Lcom/oracle/truffle/api/object/DynamicObject;)J
            lstore 9 /* length */
        12: .line 1014
            goto 19
      StackMap locals: int int long
      StackMap stack:
        13: aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.isJSArrayBufferView:(Ljava/lang/Object;)Z
            ifeq 17
        14: .line 1015
            iconst_1
            istore 7 /* isArrayLike */
        15: .line 1016
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.typedArrayGetLength:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            i2l
            lstore 9 /* length */
        16: .line 1017
            goto 19
      StackMap locals:
      StackMap stack:
        17: aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSString.isJSString:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 1018
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSString.getStringLength:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            i2l
            lstore 9 /* length */
        19: .line 1020
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSString.isJSString:(Ljava/lang/Object;)Z
            istore 11 /* isStringObj */
        start local 11 // boolean isStringObj
        20: .line 1021
            ldc -1
            lstore 12 /* prevArrayIndex */
        start local 12 // long prevArrayIndex
        21: .line 1023
            iload 7 /* isArrayLike */
            ifeq 34
        22: .line 1024
            lload 9 /* length */
            lconst_0
            lcmp
            ifle 37
        23: .line 1025
            iload 2 /* depth */
            iconst_3
            if_icmpne 24
            iconst_1
            goto 25
      StackMap locals: int long
      StackMap stack:
        24: iconst_0
      StackMap locals:
      StackMap stack: int
        25: istore 14 /* topLevel */
        start local 14 // boolean topLevel
        26: .line 1026
            iload 2 /* depth */
            ifle 27
            iload 14 /* topLevel */
            ifne 31
            lload 9 /* length */
            ldc 20
            lcmp
            ifle 31
        27: .line 1027
      StackMap locals: int
      StackMap stack:
            aload 1 /* name */
            ifnonnull 29
        28: .line 1028
            aload 6 /* sb */
            ldc "Array"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 1030
      StackMap locals:
      StackMap stack:
            aload 6 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            lload 9 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        30: .line 1031
            aload 6 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        31: .line 1032
      StackMap locals:
      StackMap stack:
            iload 14 /* topLevel */
            ifeq 37
            lload 9 /* length */
            ldc 2
            lcmp
            iflt 37
        32: .line 1033
            aload 6 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            lload 9 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 14 // boolean topLevel
        33: .line 1036
            goto 37
      StackMap locals:
      StackMap stack:
        34: iload 2 /* depth */
            ifgt 37
        35: .line 1037
            aload 6 /* sb */
            ldc "{...}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        36: .line 1038
            aload 6 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        37: .line 1041
      StackMap locals:
      StackMap stack:
            aload 6 /* sb */
            iload 7 /* isArrayLike */
            ifeq 38
            bipush 91
            goto 39
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        38: bipush 123
      StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.String int java.lang.String[] java.lang.Object[] int java.lang.StringBuilder int int long int long
      StackMap stack: java.lang.StringBuilder int
        39: invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        40: .line 1042
            iconst_0
            istore 14 /* propertyCount */
        start local 14 // int propertyCount
        41: .line 1043
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.ownPropertyKeys:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 16
            goto 85
      StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.String int java.lang.String[] java.lang.Object[] int java.lang.StringBuilder int int long int long int top java.util.Iterator
      StackMap stack:
        42: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 15 /* key */
        start local 15 // java.lang.Object key
        43: .line 1044
            aload 0 /* obj */
            aload 15 /* key */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
            astore 17 /* desc */
        start local 17 // com.oracle.truffle.js.runtime.objects.PropertyDescriptor desc
        44: .line 1045
            iload 7 /* isArrayLike */
            ifne 45
            iload 11 /* isStringObj */
            ifeq 46
      StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.String int java.lang.String[] java.lang.Object[] int java.lang.StringBuilder int int long int long int java.lang.Object java.util.Iterator com.oracle.truffle.js.runtime.objects.PropertyDescriptor
      StackMap stack:
        45: aload 15 /* key */
            ldc "length"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 85
      StackMap locals:
      StackMap stack:
        46: iload 11 /* isStringObj */
            ifeq 48
            aload 15 /* key */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(Ljava/lang/Object;)Z
            ifeq 48
            aload 15 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.parseArrayIndexRaw:(Ljava/lang/String;)J
            lload 9 /* length */
            lcmp
            ifge 48
        47: .line 1048
            goto 85
        48: .line 1050
      StackMap locals:
      StackMap stack:
            iload 14 /* propertyCount */
            ifle 53
        49: .line 1051
            aload 6 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        50: .line 1052
            iload 14 /* propertyCount */
            bipush 20
            if_icmplt 53
        51: .line 1053
            aload 6 /* sb */
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        52: .line 1054
            goto 86
        53: .line 1057
      StackMap locals:
      StackMap stack:
            iload 8 /* isArray */
            ifeq 71
        54: .line 1059
            aload 15 /* key */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(Ljava/lang/Object;)Z
            ifeq 64
        55: .line 1060
            aload 15 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.parseArrayIndexRaw:(Ljava/lang/String;)J
            lstore 18 /* index */
        start local 18 // long index
        56: .line 1061
            lload 18 /* index */
            lload 9 /* length */
            lcmp
            ifge 62
            aload 6 /* sb */
            lload 18 /* index */
            lload 12 /* prevArrayIndex */
            iconst_0
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.fillEmptyArrayElements:(Ljava/lang/StringBuilder;JJZ)Z
            ifeq 62
        57: .line 1062
            aload 6 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        58: .line 1063
            iinc 14 /* propertyCount */ 1
        59: .line 1064
            iload 14 /* propertyCount */
            bipush 20
            if_icmplt 62
        60: .line 1065
            aload 6 /* sb */
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        61: .line 1066
            goto 86
        62: .line 1069
      StackMap locals: long
      StackMap stack:
            lload 18 /* index */
            lstore 12 /* prevArrayIndex */
        end local 18 // long index
        63: .line 1070
            goto 71
        64: .line 1071
      StackMap locals:
      StackMap stack:
            aload 6 /* sb */
            lload 9 /* length */
            lload 12 /* prevArrayIndex */
            iconst_0
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.fillEmptyArrayElements:(Ljava/lang/StringBuilder;JJZ)Z
            ifeq 70
        65: .line 1072
            aload 6 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        66: .line 1073
            iinc 14 /* propertyCount */ 1
        67: .line 1074
            iload 14 /* propertyCount */
            bipush 20
            if_icmplt 70
        68: .line 1075
            aload 6 /* sb */
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        69: .line 1076
            goto 86
        70: .line 1079
      StackMap locals:
      StackMap stack:
            lload 12 /* prevArrayIndex */
            lload 9 /* length */
            invokestatic java.lang.Math.max:(JJ)J
            lstore 12 /* prevArrayIndex */
        71: .line 1082
      StackMap locals:
      StackMap stack:
            iload 7 /* isArrayLike */
            ifeq 72
            aload 15 /* key */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(Ljava/lang/Object;)Z
            ifne 74
        72: .line 1084
      StackMap locals:
      StackMap stack:
            aload 6 /* sb */
            aload 15 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        73: .line 1085
            aload 6 /* sb */
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        74: .line 1087
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 18 /* valueStr */
        start local 18 // java.lang.String valueStr
        75: .line 1088
            aload 17 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isDataDescriptor:()Z
            ifeq 79
        76: .line 1089
            aload 17 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getValue:()Ljava/lang/Object;
            astore 19 /* value */
        start local 19 // java.lang.Object value
        77: .line 1090
            aload 19 /* value */
            iload 2 /* depth */
            aload 0 /* obj */
            iload 5 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayString:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/String;
            astore 18 /* valueStr */
        end local 19 // java.lang.Object value
        78: .line 1091
            goto 83
      StackMap locals: java.lang.String
      StackMap stack:
        79: aload 17 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isAccessorDescriptor:()Z
            ifeq 82
        80: .line 1092
            ldc "accessor"
            astore 18 /* valueStr */
        81: .line 1093
            goto 83
        82: .line 1094
      StackMap locals:
      StackMap stack:
            ldc "empty"
            astore 18 /* valueStr */
        83: .line 1096
      StackMap locals:
      StackMap stack:
            aload 6 /* sb */
            aload 18 /* valueStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        84: .line 1097
            iinc 14 /* propertyCount */ 1
        end local 18 // java.lang.String valueStr
        end local 17 // com.oracle.truffle.js.runtime.objects.PropertyDescriptor desc
        end local 15 // java.lang.Object key
        85: .line 1043
      StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.String int java.lang.String[] java.lang.Object[] int java.lang.StringBuilder int int long int long int top java.util.Iterator
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 42
        86: .line 1099
      StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.String int java.lang.String[] java.lang.Object[] int java.lang.StringBuilder int int long int long int
      StackMap stack:
            iload 8 /* isArray */
            ifeq 91
            iload 14 /* propertyCount */
            bipush 20
            if_icmpge 91
        87: .line 1101
            aload 6 /* sb */
            lload 9 /* length */
            lload 12 /* prevArrayIndex */
            iload 14 /* propertyCount */
            ifle 88
            iconst_1
            goto 89
      StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.String int java.lang.String[] java.lang.Object[] int java.lang.StringBuilder int int long int long int
      StackMap stack: java.lang.StringBuilder long long
        88: iconst_0
      StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.String int java.lang.String[] java.lang.Object[] int java.lang.StringBuilder int int long int long int
      StackMap stack: java.lang.StringBuilder long long int
        89: invokestatic com.oracle.truffle.js.runtime.JSRuntime.fillEmptyArrayElements:(Ljava/lang/StringBuilder;JJZ)Z
            ifeq 91
        90: .line 1102
            iinc 14 /* propertyCount */ 1
        91: .line 1105
      StackMap locals:
      StackMap stack:
            aload 3 /* internalKeys */
            ifnull 102
        92: .line 1106
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 94
            aload 4 /* internalValues */
            ifnull 93
            aload 3 /* internalKeys */
            arraylength
            aload 4 /* internalValues */
            arraylength
            if_icmpeq 94
      StackMap locals:
      StackMap stack:
        93: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        94: .line 1107
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        95: goto 101
        96: .line 1108
      StackMap locals: int
      StackMap stack:
            iload 14 /* propertyCount */
            ifle 98
        97: .line 1109
            aload 6 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        98: .line 1111
      StackMap locals:
      StackMap stack:
            aload 6 /* sb */
            ldc "[["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* internalKeys */
            iload 15 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]]: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* internalValues */
            iload 15 /* i */
            aaload
            iload 2 /* depth */
            aload 0 /* obj */
            iload 5 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayString:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        99: .line 1112
            iinc 14 /* propertyCount */ 1
       100: .line 1107
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
       101: iload 15 /* i */
            aload 3 /* internalKeys */
            arraylength
            if_icmplt 96
        end local 15 // int i
       102: .line 1115
      StackMap locals:
      StackMap stack:
            aload 6 /* sb */
            iload 7 /* isArrayLike */
            ifeq 103
            bipush 93
            goto 104
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
       103: bipush 125
      StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.String int java.lang.String[] java.lang.Object[] int java.lang.StringBuilder int int long int long int
      StackMap stack: java.lang.StringBuilder int
       104: invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       105: .line 1116
            aload 6 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 14 // int propertyCount
        end local 12 // long prevArrayIndex
        end local 11 // boolean isStringObj
        end local 9 // long length
        end local 8 // boolean isArray
        end local 7 // boolean isArrayLike
        end local 6 // java.lang.StringBuilder sb
        end local 5 // boolean allowSideEffects
        end local 4 // java.lang.Object[] internalValues
        end local 3 // java.lang.String[] internalKeys
        end local 2 // int depth
        end local 1 // java.lang.String name
        end local 0 // com.oracle.truffle.api.object.DynamicObject obj
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  106     0               obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0  106     1              name  Ljava/lang/String;
            0  106     2             depth  I
            0  106     3      internalKeys  [Ljava/lang/String;
            0  106     4    internalValues  [Ljava/lang/Object;
            0  106     5  allowSideEffects  Z
            3  106     6                sb  Ljava/lang/StringBuilder;
            6  106     7       isArrayLike  Z
            7  106     8           isArray  Z
            8  106     9            length  J
           20  106    11       isStringObj  Z
           21  106    12    prevArrayIndex  J
           26   33    14          topLevel  Z
           41  106    14     propertyCount  I
           43   85    15               key  Ljava/lang/Object;
           44   85    17              desc  Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
           56   63    18             index  J
           75   85    18          valueStr  Ljava/lang/String;
           77   78    19             value  Ljava/lang/Object;
           95  102    15                 i  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                  Name  Flags
      obj               
      name              
      depth             
      internalKeys      
      internalValues    
      allowSideEffects  

  private static java.lang.String foreignToString(java.lang.Object, int, boolean);
    descriptor: (Ljava/lang/Object;IZ)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // java.lang.Object value
        start local 1 // int depth
        start local 2 // boolean allowSideEffects
         0: .line 1120
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 1123
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 4 /* interop */
        start local 4 // com.oracle.truffle.api.interop.InteropLibrary interop
         2: .line 1124
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1125
            ldc "null"
            areturn
         4: .line 1126
      StackMap locals: java.lang.Object int int top com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 1127
            aload 0 /* value */
            iload 1 /* depth */
            iload 2 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.foreignArrayToString:(Ljava/lang/Object;IZ)Ljava/lang/String;
         6: areturn
         7: .line 1128
      StackMap locals:
      StackMap stack:
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 1129
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
         9: areturn
        10: .line 1130
      StackMap locals:
      StackMap stack:
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 1131
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asBoolean:(Ljava/lang/Object;)Z
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.booleanToString:(Z)Ljava/lang/String;
        12: areturn
        13: .line 1132
      StackMap locals:
      StackMap stack:
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifeq 25
        14: .line 1133
            ldc "Number"
            astore 5 /* unboxed */
        start local 5 // java.lang.Object unboxed
        15: .line 1134
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInInt:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 1135
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInt:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 5 /* unboxed */
        17: .line 1136
            goto 23
      StackMap locals: java.lang.Object
      StackMap stack:
        18: aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
            ifeq 21
        19: .line 1137
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 5 /* unboxed */
        20: .line 1138
            goto 23
      StackMap locals:
      StackMap stack:
        21: aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInDouble:(Ljava/lang/Object;)Z
            ifeq 23
        22: .line 1139
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDouble:(Ljava/lang/Object;)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            astore 5 /* unboxed */
        23: .line 1141
      StackMap locals:
      StackMap stack:
            aload 5 /* unboxed */
            iconst_0
            aconst_null
            iload 2 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayString:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/String;
        24: areturn
        end local 5 // java.lang.Object unboxed
        25: .line 1142
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            dup
            astore 3 /* env */
        start local 3 // com.oracle.truffle.api.TruffleLanguage$Env env
        26: aload 0 /* value */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isHostObject:(Ljava/lang/Object;)Z
            ifeq 35
        27: .line 1143
            aload 3 /* env */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asHostObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* hostObject */
        start local 5 // java.lang.Object hostObject
        28: .line 1144
            aload 5 /* hostObject */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 6 /* clazz */
        start local 6 // java.lang.Class clazz
        29: .line 1145
            aload 6 /* clazz */
            ldc Ljava/lang/Class;
            if_acmpne 33
        30: .line 1146
            aload 5 /* hostObject */
            checkcast java.lang.Class
            astore 6 /* clazz */
        31: .line 1147
            new java.lang.StringBuilder
            dup
            ldc "JavaClass["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* clazz */
            invokevirtual java.lang.Class.getTypeName:()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;
        32: areturn
        33: .line 1149
      StackMap locals: java.lang.Object int int com.oracle.truffle.api.TruffleLanguage$Env com.oracle.truffle.api.interop.InteropLibrary java.lang.Object java.lang.Class
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "JavaObject["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* clazz */
            invokevirtual java.lang.Class.getTypeName:()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;
        34: areturn
        end local 6 // java.lang.Class clazz
        end local 5 // java.lang.Object hostObject
        35: .line 1151
      StackMap locals:
      StackMap stack:
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaObject:(Ljava/lang/Object;)Z
            ifeq 38
        36: .line 1152
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaQualifiedName:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
        37: areturn
        38: .line 1153
      StackMap locals:
      StackMap stack:
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifeq 41
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
            ifne 41
            aload 4 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstantiable:(Ljava/lang/Object;)Z
            ifne 41
        39: .line 1154
            aload 0 /* value */
            iload 1 /* depth */
            iload 2 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.foreignObjectToString:(Ljava/lang/Object;IZ)Ljava/lang/String;
        40: areturn
        41: .line 1156
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            aload 4 /* interop */
            aload 0 /* value */
            iload 2 /* allowSideEffects */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.toDisplayString:(Ljava/lang/Object;Z)Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
        42: areturn
        end local 4 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 3 // com.oracle.truffle.api.TruffleLanguage$Env env
        43: .line 1158
      StackMap locals: java.lang.Object int int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            pop
        44: .line 1159
            ldc "Object"
            areturn
        end local 2 // boolean allowSideEffects
        end local 1 // int depth
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   45     0             value  Ljava/lang/Object;
            0   45     1             depth  I
            0   45     2  allowSideEffects  Z
           26   43     3               env  Lcom/oracle/truffle/api/TruffleLanguage$Env;
            2   43     4           interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
           15   25     5           unboxed  Ljava/lang/Object;
           28   35     5        hostObject  Ljava/lang/Object;
           29   35     6             clazz  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           1     3      43  Class com.oracle.truffle.api.interop.InteropException
           4     6      43  Class com.oracle.truffle.api.interop.InteropException
           7     9      43  Class com.oracle.truffle.api.interop.InteropException
          10    12      43  Class com.oracle.truffle.api.interop.InteropException
          13    24      43  Class com.oracle.truffle.api.interop.InteropException
          25    32      43  Class com.oracle.truffle.api.interop.InteropException
          33    34      43  Class com.oracle.truffle.api.interop.InteropException
          35    37      43  Class com.oracle.truffle.api.interop.InteropException
          38    40      43  Class com.oracle.truffle.api.interop.InteropException
          41    42      43  Class com.oracle.truffle.api.interop.InteropException
    MethodParameters:
                  Name  Flags
      value             
      depth             
      allowSideEffects  

  private static java.lang.String foreignArrayToString(java.lang.Object, int, boolean);
    descriptor: (Ljava/lang/Object;IZ)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // java.lang.Object truffleObject
        start local 1 // int depth
        start local 2 // boolean allowSideEffects
         0: .line 1164
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 1165
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 0 /* truffleObject */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 3 /* interop */
        start local 3 // com.oracle.truffle.api.interop.InteropLibrary interop
         2: .line 1166
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 3
            aload 3 /* interop */
            aload 0 /* truffleObject */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 1167
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            aload 3 /* interop */
            aload 0 /* truffleObject */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
            lstore 4 /* size */
        start local 4 // long size
         4: .line 1168
            lload 4 /* size */
            lconst_0
            lcmp
            ifne 6
         5: .line 1169
            ldc "[]"
            areturn
         6: .line 1170
      StackMap locals: long
      StackMap stack:
            iload 1 /* depth */
            ifgt 8
         7: .line 1171
            new java.lang.StringBuilder
            dup
            ldc "Array("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 4 /* size */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         8: .line 1173
      StackMap locals:
      StackMap stack:
            iload 1 /* depth */
            iconst_3
            if_icmpne 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 6 /* topLevel */
        start local 6 // boolean topLevel
        11: .line 1174
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* sb */
        start local 7 // java.lang.StringBuilder sb
        12: .line 1175
            iload 6 /* topLevel */
            ifeq 14
            lload 4 /* size */
            ldc 2
            lcmp
            iflt 14
        13: .line 1176
            aload 7 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            lload 4 /* size */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 1178
      StackMap locals: int java.lang.StringBuilder
      StackMap stack:
            aload 7 /* sb */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 1179
            lconst_0
            lstore 8 /* i */
        start local 8 // long i
        16: goto 25
        17: .line 1180
      StackMap locals: long
      StackMap stack:
            lload 8 /* i */
            lconst_0
            lcmp
            ifle 22
        18: .line 1181
            aload 7 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 1182
            lload 8 /* i */
            ldc 20
            lcmp
            iflt 22
        20: .line 1183
            aload 7 /* sb */
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 1184
            goto 26
        22: .line 1187
      StackMap locals:
      StackMap stack:
            aload 3 /* interop */
            aload 0 /* truffleObject */
            lload 8 /* i */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
            astore 10 /* value */
        start local 10 // java.lang.Object value
        23: .line 1188
            aload 7 /* sb */
            aload 10 /* value */
            iload 1 /* depth */
            aload 0 /* truffleObject */
            iload 2 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayString:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 10 // java.lang.Object value
        24: .line 1179
            lload 8 /* i */
            lconst_1
            ladd
            lstore 8 /* i */
      StackMap locals:
      StackMap stack:
        25: lload 8 /* i */
            lload 4 /* size */
            lcmp
            iflt 17
        end local 8 // long i
        26: .line 1190
      StackMap locals:
      StackMap stack:
            aload 7 /* sb */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        27: .line 1191
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 7 // java.lang.StringBuilder sb
        end local 6 // boolean topLevel
        end local 4 // long size
        end local 3 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 2 // boolean allowSideEffects
        end local 1 // int depth
        end local 0 // java.lang.Object truffleObject
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   28     0     truffleObject  Ljava/lang/Object;
            0   28     1             depth  I
            0   28     2  allowSideEffects  Z
            2   28     3           interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            4   28     4              size  J
           11   28     6          topLevel  Z
           12   28     7                sb  Ljava/lang/StringBuilder;
           16   26     8                 i  J
           23   24    10             value  Ljava/lang/Object;
    Exceptions:
      throws com.oracle.truffle.api.interop.InteropException
    MethodParameters:
                  Name  Flags
      truffleObject     
      depth             
      allowSideEffects  

  public static java.lang.String javaArrayToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object array
         0: .line 1196
            aload 0 /* array */
            iconst_3
            iconst_1
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.javaArrayToString:(Ljava/lang/Object;IZ)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      array  

  private static java.lang.String javaArrayToString(java.lang.Object, int, boolean);
    descriptor: (Ljava/lang/Object;IZ)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // java.lang.Object javaArray
        start local 1 // int depth
        start local 2 // boolean allowSideEffects
         0: .line 1200
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 1201
            aload 0 /* javaArray */
            ifnonnull 3
         2: .line 1202
            ldc "null"
            areturn
         3: .line 1204
      StackMap locals:
      StackMap stack:
            iload 1 /* depth */
            ifgt 5
         4: .line 1205
            ldc "[...]"
            areturn
         5: .line 1207
      StackMap locals:
      StackMap stack:
            aload 0 /* javaArray */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            iconst_1
            isub
            istore 3 /* size */
        start local 3 // int size
         6: .line 1208
            iload 3 /* size */
            iconst_m1
            if_icmpne 8
         7: .line 1209
            ldc "[]"
            areturn
         8: .line 1211
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* b */
        start local 4 // java.lang.StringBuilder b
         9: .line 1212
            aload 4 /* b */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 1213
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: .line 1214
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* javaArray */
            iload 5 /* i */
            invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
            astore 6 /* arrayValue */
        start local 6 // java.lang.Object arrayValue
        12: .line 1215
            aload 6 /* arrayValue */
            invokestatic com.oracle.truffle.js.nodes.JSGuards.isJavaArray:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 1216
            aload 4 /* b */
            aload 6 /* arrayValue */
            iload 1 /* depth */
            iconst_1
            isub
            iload 2 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.javaArrayToString:(Ljava/lang/Object;IZ)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 1217
            goto 16
        15: .line 1218
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* b */
            aload 6 /* arrayValue */
            iload 1 /* depth */
            aload 0 /* javaArray */
            iload 2 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayString:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 1220
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iload 3 /* size */
            if_icmpne 18
        17: .line 1221
            aload 4 /* b */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        18: .line 1223
      StackMap locals:
      StackMap stack:
            aload 4 /* b */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 6 // java.lang.Object arrayValue
        19: .line 1213
            iinc 5 /* i */ 1
            goto 11
        end local 5 // int i
        end local 4 // java.lang.StringBuilder b
        end local 3 // int size
        end local 2 // boolean allowSideEffects
        end local 1 // int depth
        end local 0 // java.lang.Object javaArray
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0         javaArray  Ljava/lang/Object;
            0   20     1             depth  I
            0   20     2  allowSideEffects  Z
            6   20     3              size  I
            9   20     4                 b  Ljava/lang/StringBuilder;
           11   20     5                 i  I
           12   19     6        arrayValue  Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      javaArray         
      depth             
      allowSideEffects  

  private static java.lang.String foreignObjectToString(java.lang.Object, int, boolean);
    descriptor: (Ljava/lang/Object;IZ)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=14, args_size=3
        start local 0 // java.lang.Object truffleObject
        start local 1 // int depth
        start local 2 // boolean allowSideEffects
         0: .line 1228
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 1229
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 0 /* truffleObject */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 3 /* objInterop */
        start local 3 // com.oracle.truffle.api.interop.InteropLibrary objInterop
         2: .line 1230
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 3
            aload 3 /* objInterop */
            aload 0 /* truffleObject */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 1231
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            iload 2 /* allowSideEffects */
            ifeq 5
            aload 3 /* objInterop */
            aload 0 /* truffleObject */
            ldc "toString"
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInvocable:(Ljava/lang/Object;Ljava/lang/String;)Z
            ifeq 5
         4: .line 1232
            aload 3 /* objInterop */
            aload 0 /* truffleObject */
            ldc "toString"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         5: .line 1234
      StackMap locals:
      StackMap stack:
            aload 3 /* objInterop */
            aload 0 /* truffleObject */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMembers:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* keys */
        start local 4 // java.lang.Object keys
         6: .line 1235
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 4 /* keys */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 5 /* keysInterop */
        start local 5 // com.oracle.truffle.api.interop.InteropLibrary keysInterop
         7: .line 1236
            aload 5 /* keysInterop */
            aload 4 /* keys */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
            lstore 6 /* keyCount */
        start local 6 // long keyCount
         8: .line 1237
            lload 6 /* keyCount */
            lconst_0
            lcmp
            ifne 10
         9: .line 1238
            ldc "{}"
            areturn
        10: .line 1239
      StackMap locals: java.lang.Object com.oracle.truffle.api.interop.InteropLibrary long
      StackMap stack:
            iload 1 /* depth */
            ifgt 12
        11: .line 1240
            ldc "{...}"
            areturn
        12: .line 1242
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 8 /* sb */
        start local 8 // java.lang.StringBuilder sb
        13: .line 1243
            aload 8 /* sb */
            bipush 123
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 1244
            lconst_0
            lstore 9 /* i */
        start local 9 // long i
        15: goto 31
        16: .line 1245
      StackMap locals: java.lang.StringBuilder long
      StackMap stack:
            lload 9 /* i */
            lconst_0
            lcmp
            ifle 21
        17: .line 1246
            aload 8 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 1247
            lload 9 /* i */
            ldc 20
            lcmp
            iflt 21
        19: .line 1248
            aload 8 /* sb */
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 1249
            goto 32
        21: .line 1252
      StackMap locals:
      StackMap stack:
            aload 5 /* keysInterop */
            aload 4 /* keys */
            lload 9 /* i */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
            astore 11 /* key */
        start local 11 // java.lang.Object key
        22: .line 1253
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 23
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            aload 11 /* key */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            ifne 23
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        23: .line 1254
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 11 /* key */
            instanceof java.lang.String
            ifeq 24
            aload 11 /* key */
            checkcast java.lang.String
            goto 25
      StackMap locals:
      StackMap stack:
        24: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            aload 11 /* key */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        25: astore 12 /* stringKey */
        start local 12 // java.lang.String stringKey
        26: .line 1255
            aload 3 /* objInterop */
            aload 0 /* truffleObject */
            aload 12 /* stringKey */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 13 /* value */
        start local 13 // java.lang.Object value
        27: .line 1256
            aload 8 /* sb */
            aload 12 /* stringKey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 1257
            aload 8 /* sb */
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 1258
            aload 8 /* sb */
            aload 13 /* value */
            iload 1 /* depth */
            aload 0 /* truffleObject */
            iload 2 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayString:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 13 // java.lang.Object value
        end local 12 // java.lang.String stringKey
        end local 11 // java.lang.Object key
        30: .line 1244
            lload 9 /* i */
            lconst_1
            ladd
            lstore 9 /* i */
      StackMap locals:
      StackMap stack:
        31: lload 9 /* i */
            lload 6 /* keyCount */
            lcmp
            iflt 16
        end local 9 // long i
        32: .line 1260
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        33: .line 1261
            aload 8 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 8 // java.lang.StringBuilder sb
        end local 6 // long keyCount
        end local 5 // com.oracle.truffle.api.interop.InteropLibrary keysInterop
        end local 4 // java.lang.Object keys
        end local 3 // com.oracle.truffle.api.interop.InteropLibrary objInterop
        end local 2 // boolean allowSideEffects
        end local 1 // int depth
        end local 0 // java.lang.Object truffleObject
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   34     0     truffleObject  Ljava/lang/Object;
            0   34     1             depth  I
            0   34     2  allowSideEffects  Z
            2   34     3        objInterop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            6   34     4              keys  Ljava/lang/Object;
            7   34     5       keysInterop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            8   34     6          keyCount  J
           13   34     8                sb  Ljava/lang/StringBuilder;
           15   32     9                 i  J
           22   30    11               key  Ljava/lang/Object;
           26   30    12         stringKey  Ljava/lang/String;
           27   30    13             value  Ljava/lang/Object;
    Exceptions:
      throws com.oracle.truffle.api.interop.InteropException
    MethodParameters:
                  Name  Flags
      truffleObject     
      depth             
      allowSideEffects  

  private static boolean fillEmptyArrayElements(java.lang.StringBuilder, long, long, boolean);
    descriptor: (Ljava/lang/StringBuilder;JJZ)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // java.lang.StringBuilder sb
        start local 1 // long index
        start local 3 // long prevArrayIndex
        start local 5 // boolean prependComma
         0: .line 1265
            lload 3 /* prevArrayIndex */
            lload 1 /* index */
            lconst_1
            lsub
            lcmp
            ifge 10
         1: .line 1266
            iload 5 /* prependComma */
            ifeq 3
         2: .line 1267
            aload 0 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 1269
      StackMap locals:
      StackMap stack:
            lload 1 /* index */
            lload 3 /* prevArrayIndex */
            lsub
            lconst_1
            lsub
            lstore 6 /* count */
        start local 6 // long count
         4: .line 1270
            lload 6 /* count */
            lconst_1
            lcmp
            ifne 7
         5: .line 1271
            aload 0 /* sb */
            ldc "empty"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 1272
            goto 9
         7: .line 1273
      StackMap locals: long
      StackMap stack:
            aload 0 /* sb */
            ldc "empty \u00D7 "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 1274
            aload 0 /* sb */
            lload 6 /* count */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         9: .line 1276
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // long count
        10: .line 1278
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // boolean prependComma
        end local 3 // long prevArrayIndex
        end local 1 // long index
        end local 0 // java.lang.StringBuilder sb
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0              sb  Ljava/lang/StringBuilder;
            0   11     1           index  J
            0   11     3  prevArrayIndex  J
            0   11     5    prependComma  Z
            4   10     6           count  J
    MethodParameters:
                Name  Flags
      sb              
      index           
      prevArrayIndex  
      prependComma    

  public static java.lang.String collectionToConsoleString(com.oracle.truffle.api.object.DynamicObject, java.lang.String, com.oracle.truffle.js.runtime.util.JSHashMap, int, boolean);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;Lcom/oracle/truffle/js/runtime/util/JSHashMap;IZ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // com.oracle.truffle.api.object.DynamicObject obj
        start local 1 // java.lang.String name
        start local 2 // com.oracle.truffle.js.runtime.util.JSHashMap map
        start local 3 // int depth
        start local 4 // boolean allowSideEffects
         0: .line 1282
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSMap.isJSMap:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSSet.isJSSet:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1283
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 2
            aload 1 /* name */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1284
      StackMap locals:
      StackMap stack:
            aload 2 /* map */
            invokevirtual com.oracle.truffle.js.runtime.util.JSHashMap.size:()I
            istore 5 /* size */
        start local 5 // int size
         3: .line 1285
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* sb */
        start local 6 // java.lang.StringBuilder sb
         4: .line 1286
            aload 6 /* sb */
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1287
            aload 6 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 5 /* size */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 1288
            iload 5 /* size */
            ifle 23
            iload 3 /* depth */
            ifle 23
         7: .line 1289
            aload 6 /* sb */
            bipush 123
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 1290
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSMap.isJSMap:(Ljava/lang/Object;)Z
            istore 7 /* isMap */
        start local 7 // boolean isMap
         9: .line 1291
            iconst_1
            istore 8 /* isFirst */
        start local 8 // boolean isFirst
        10: .line 1292
            aload 2 /* map */
            invokevirtual com.oracle.truffle.js.runtime.util.JSHashMap.getEntries:()Lcom/oracle/truffle/js/runtime/util/JSHashMap$Cursor;
            astore 9 /* cursor */
        start local 9 // com.oracle.truffle.js.runtime.util.JSHashMap$Cursor cursor
        11: .line 1293
            goto 21
        12: .line 1294
      StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.String com.oracle.truffle.js.runtime.util.JSHashMap int int int java.lang.StringBuilder int int com.oracle.truffle.js.runtime.util.JSHashMap$Cursor
      StackMap stack:
            aload 9 /* cursor */
            invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.getKey:()Ljava/lang/Object;
            astore 10 /* key */
        start local 10 // java.lang.Object key
        13: .line 1295
            aload 10 /* key */
            ifnull 21
        14: .line 1296
            iload 8 /* isFirst */
            ifne 16
        15: .line 1297
            aload 6 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 1299
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 6 /* sb */
            aload 10 /* key */
            iload 3 /* depth */
            aload 0 /* obj */
            iload 4 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayString:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 1300
            iload 7 /* isMap */
            ifeq 20
        18: .line 1301
            aload 6 /* sb */
            ldc " => "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 1302
            aload 6 /* sb */
            aload 9 /* cursor */
            invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.getValue:()Ljava/lang/Object;
            iload 3 /* depth */
            aload 0 /* obj */
            iload 4 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayString:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 1304
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* isFirst */
        end local 10 // java.lang.Object key
        21: .line 1293
      StackMap locals:
      StackMap stack:
            aload 9 /* cursor */
            invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.advance:()Z
            ifne 12
        22: .line 1307
            aload 6 /* sb */
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 9 // com.oracle.truffle.js.runtime.util.JSHashMap$Cursor cursor
        end local 8 // boolean isFirst
        end local 7 // boolean isMap
        23: .line 1309
      StackMap locals:
      StackMap stack:
            aload 6 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.StringBuilder sb
        end local 5 // int size
        end local 4 // boolean allowSideEffects
        end local 3 // int depth
        end local 2 // com.oracle.truffle.js.runtime.util.JSHashMap map
        end local 1 // java.lang.String name
        end local 0 // com.oracle.truffle.api.object.DynamicObject obj
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   24     0               obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0   24     1              name  Ljava/lang/String;
            0   24     2               map  Lcom/oracle/truffle/js/runtime/util/JSHashMap;
            0   24     3             depth  I
            0   24     4  allowSideEffects  Z
            3   24     5              size  I
            4   24     6                sb  Ljava/lang/StringBuilder;
            9   23     7             isMap  Z
           10   23     8           isFirst  Z
           11   23     9            cursor  Lcom/oracle/truffle/js/runtime/util/JSHashMap$Cursor;
           13   21    10               key  Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      obj               
      name              
      map               
      depth             
      allowSideEffects  

  public static com.oracle.truffle.js.runtime.JSException toStringTypeError(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 1314
            aload 0 /* value */
            ifnonnull 1
            ldc "null"
            goto 3
      StackMap locals:
      StackMap stack:
         1: aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 2
            aload 0 /* value */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.defaultToString:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 1 /* what */
        start local 1 // java.lang.String what
         4: .line 1315
            aload 1 /* what */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotConvertToString:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 1 // java.lang.String what
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  value  Ljava/lang/Object;
            4    5     1   what  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.String booleanToString(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // boolean value
         0: .line 1319
            iload 0 /* value */
            ifeq 1
            ldc "true"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "false"
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // boolean value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  Z
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.String toString(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject value
         0: .line 1323
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 2
         1: .line 1324
            ldc "undefined"
            areturn
         2: .line 1325
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 4
         3: .line 1326
            ldc "null"
            areturn
         4: .line 1328
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            ldc "string"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.toPrimitive:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  value  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.String numberToString(java.lang.Number);
    descriptor: (Ljava/lang/Number;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Number number
         0: .line 1332
            aload 0 /* number */
            instanceof java.lang.Integer
            ifeq 2
         1: .line 1333
            aload 0 /* number */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic com.oracle.truffle.js.runtime.Boundaries.stringValueOf:(I)Ljava/lang/String;
            areturn
         2: .line 1334
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            instanceof com.oracle.truffle.js.runtime.SafeInteger
            ifeq 4
         3: .line 1335
            aload 0 /* number */
            checkcast com.oracle.truffle.js.runtime.SafeInteger
            invokevirtual com.oracle.truffle.js.runtime.SafeInteger.doubleValue:()D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleToString:(D)Ljava/lang/String;
            areturn
         4: .line 1336
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            instanceof java.lang.Double
            ifeq 6
         5: .line 1337
            aload 0 /* number */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleToString:(D)Ljava/lang/String;
            areturn
         6: .line 1338
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            instanceof java.lang.Long
            ifeq 8
         7: .line 1339
            aload 0 /* number */
            invokevirtual java.lang.Number.longValue:()J
            invokestatic com.oracle.truffle.js.runtime.Boundaries.stringValueOf:(J)Ljava/lang/String;
            areturn
         8: .line 1341
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
         9: .line 1342
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown number value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* number */
            invokevirtual java.lang.Object.toString:()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;
            aload 0 /* number */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0  number  Ljava/lang/Number;
    MethodParameters:
        Name  Flags
      number  

  public static int length(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.CharSequence cs
         0: .line 1346
            aload 0 /* cs */
            instanceof java.lang.String
            ifeq 2
         1: .line 1347
            aload 0 /* cs */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            ireturn
         2: .line 1348
      StackMap locals:
      StackMap stack:
            aload 0 /* cs */
            instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
            ifeq 4
         3: .line 1349
            aload 0 /* cs */
            checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
            invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.length:()I
            ireturn
         4: .line 1351
      StackMap locals:
      StackMap stack:
            aload 0 /* cs */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.lengthIntl:(Ljava/lang/CharSequence;)I
            ireturn
        end local 0 // java.lang.CharSequence cs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    cs  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      cs    

  public static int length(java.lang.CharSequence, com.oracle.truffle.api.profiles.ConditionProfile, com.oracle.truffle.api.profiles.ConditionProfile);
    descriptor: (Ljava/lang/CharSequence;Lcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/profiles/ConditionProfile;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.CharSequence cs
        start local 1 // com.oracle.truffle.api.profiles.ConditionProfile stringProfile
        start local 2 // com.oracle.truffle.api.profiles.ConditionProfile lazyStringProfile
         0: .line 1355
            aload 1 /* stringProfile */
            aload 0 /* cs */
            instanceof java.lang.String
            invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 2
         1: .line 1356
            aload 0 /* cs */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            ireturn
         2: .line 1357
      StackMap locals:
      StackMap stack:
            aload 2 /* lazyStringProfile */
            aload 0 /* cs */
            instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
            invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 4
         3: .line 1358
            aload 0 /* cs */
            checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
            invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.length:()I
            ireturn
         4: .line 1360
      StackMap locals:
      StackMap stack:
            aload 0 /* cs */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.lengthIntl:(Ljava/lang/CharSequence;)I
            ireturn
        end local 2 // com.oracle.truffle.api.profiles.ConditionProfile lazyStringProfile
        end local 1 // com.oracle.truffle.api.profiles.ConditionProfile stringProfile
        end local 0 // java.lang.CharSequence cs
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0                 cs  Ljava/lang/CharSequence;
            0    5     1      stringProfile  Lcom/oracle/truffle/api/profiles/ConditionProfile;
            0    5     2  lazyStringProfile  Lcom/oracle/truffle/api/profiles/ConditionProfile;
    MethodParameters:
                   Name  Flags
      cs                 
      stringProfile      
      lazyStringProfile  

  private static int lengthIntl(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.CharSequence cs
         0: .line 1365
            aload 0 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            ireturn
        end local 0 // java.lang.CharSequence cs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    cs  Ljava/lang/CharSequence;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      cs    

  public static char charAt(java.lang.CharSequence, int);
    descriptor: (Ljava/lang/CharSequence;I)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.CharSequence cs
        start local 1 // int index
         0: .line 1369
            aload 0 /* cs */
            instanceof java.lang.String
            ifeq 2
         1: .line 1370
            aload 0 /* cs */
            checkcast java.lang.String
            iload 1 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            ireturn
         2: .line 1371
      StackMap locals:
      StackMap stack:
            aload 0 /* cs */
            instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
            ifeq 4
         3: .line 1372
            aload 0 /* cs */
            checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
            iload 1 /* index */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.charAt:(I)C
            ireturn
         4: .line 1374
      StackMap locals:
      StackMap stack:
            aload 0 /* cs */
            iload 1 /* index */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.charAtIntl:(Ljava/lang/CharSequence;I)C
            ireturn
        end local 1 // int index
        end local 0 // java.lang.CharSequence cs
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0     cs  Ljava/lang/CharSequence;
            0    5     1  index  I
    MethodParameters:
       Name  Flags
      cs     
      index  

  private static char charAtIntl(java.lang.CharSequence, int);
    descriptor: (Ljava/lang/CharSequence;I)C
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.CharSequence cs
        start local 1 // int index
         0: .line 1379
            aload 0 /* cs */
            iload 1 /* index */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            ireturn
        end local 1 // int index
        end local 0 // java.lang.CharSequence cs
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0     cs  Ljava/lang/CharSequence;
            0    1     1  index  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      cs     
      index  

  public static java.lang.String javaToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 1383
            aload 0 /* obj */
            instanceof java.lang.String
            ifeq 2
         1: .line 1384
            aload 0 /* obj */
            checkcast java.lang.String
            areturn
         2: .line 1385
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
            ifeq 4
         3: .line 1386
            aload 0 /* obj */
            checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
            invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.toString:()Ljava/lang/String;
            areturn
         4: .line 1388
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.Boundaries.javaToString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public static boolean propertyKeyEquals(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object a
        start local 1 // java.lang.Object b
         0: .line 1394
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPropertyKey:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1395
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            instanceof java.lang.String
            ifeq 7
         2: .line 1396
            aload 1 /* b */
            instanceof java.lang.String
            ifeq 4
         3: .line 1397
            aload 0 /* a */
            checkcast java.lang.String
            aload 1 /* b */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         4: .line 1398
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
            ifeq 6
         5: .line 1399
            aload 0 /* a */
            checkcast java.lang.String
            aload 1 /* b */
            checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
            invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         6: .line 1401
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         7: .line 1403
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ifeq 9
         8: .line 1404
            aload 0 /* a */
            checkcast com.oracle.truffle.js.runtime.Symbol
            aload 1 /* b */
            invokevirtual com.oracle.truffle.js.runtime.Symbol.equals:(Ljava/lang/Object;)Z
            ireturn
         9: .line 1406
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.js.runtime.Errors.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object b
        end local 0 // java.lang.Object a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0     a  Ljava/lang/Object;
            0   10     1     b  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     
      b     

  public static java.lang.String doubleToString(double, int);
    descriptor: (DI)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // double d
        start local 2 // int radix
         0: .line 1412
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 2
            iload 2 /* radix */
            iconst_2
            if_icmplt 1
            iload 2 /* radix */
            bipush 36
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1413
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 4
         3: .line 1414
            ldc "NaN"
            areturn
         4: .line 1415
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            ldc Infinity
            dcmpl
            ifne 6
         5: .line 1416
            ldc "Infinity"
            areturn
         6: .line 1417
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            ldc -Infinity
            dcmpl
            ifne 8
         7: .line 1418
            ldc "-Infinity"
            areturn
         8: .line 1419
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            dconst_0
            dcmpl
            ifne 10
         9: .line 1420
            ldc "0"
            areturn
        10: .line 1422
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            iload 2 /* radix */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.formatDtoA:(DI)Ljava/lang/String;
            areturn
        end local 2 // int radix
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0      d  D
            0   11     2  radix  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      d      
      radix  

  public static java.lang.String doubleToString(double);
    descriptor: (D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double d
         0: .line 1431
            dload 0 /* d */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 2
         1: .line 1432
            ldc "NaN"
            areturn
         2: .line 1433
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            ldc Infinity
            dcmpl
            ifne 4
         3: .line 1434
            ldc "Infinity"
            areturn
         4: .line 1435
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            ldc -Infinity
            dcmpl
            ifne 6
         5: .line 1436
            ldc "-Infinity"
            areturn
         6: .line 1437
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            dconst_0
            dcmpl
            ifne 8
         7: .line 1438
            ldc "0"
            areturn
         8: .line 1441
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsInt:(D)Z
            ifeq 10
         9: .line 1442
            dload 0 /* d */
            d2i
            invokestatic com.oracle.truffle.js.runtime.Boundaries.stringValueOf:(I)Ljava/lang/String;
            areturn
        10: .line 1445
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.formatDtoA:(D)Ljava/lang/String;
            areturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static java.lang.String formatDtoA(double);
    descriptor: (D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double value
         0: .line 1450
            dload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.toShortest:(D)Ljava/lang/String;
            areturn
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.String formatDtoAPrecision(double, int);
    descriptor: (DI)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // double value
        start local 2 // int precision
         0: .line 1455
            dload 0 /* value */
            iload 2 /* precision */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.toPrecision:(DI)Ljava/lang/String;
            areturn
        end local 2 // int precision
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      value  D
            0    1     2  precision  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
           Name  Flags
      value      
      precision  

  public static java.lang.String formatDtoAExponential(double, int);
    descriptor: (DI)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // double d
        start local 2 // int digits
         0: .line 1460
            dload 0 /* d */
            iload 2 /* digits */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.toExponential:(DI)Ljava/lang/String;
            areturn
        end local 2 // int digits
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0       d  D
            0    1     2  digits  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      d       
      digits  

  public static java.lang.String formatDtoAExponential(double);
    descriptor: (D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // double d
         0: .line 1465
            dload 0 /* d */
            iconst_m1
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.toExponential:(DI)Ljava/lang/String;
            areturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      d     

  public static java.lang.String formatDtoAFixed(double, int);
    descriptor: (DI)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // double value
        start local 2 // int digits
         0: .line 1470
            dload 0 /* value */
            iload 2 /* digits */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.toFixed:(DI)Ljava/lang/String;
            areturn
        end local 2 // int digits
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0   value  D
            0    1     2  digits  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      value   
      digits  

  public static java.lang.String formatDtoA(double, int);
    descriptor: (DI)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // double d
        start local 2 // int radix
         0: .line 1475
            iload 2 /* radix */
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.external.DToA.jsDtobasestr:(ID)Ljava/lang/String;
            areturn
        end local 2 // int radix
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0      d  D
            0    1     2  radix  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      d      
      radix  

  public static com.oracle.truffle.api.interop.TruffleObject toObject(com.oracle.truffle.js.runtime.JSContext, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext ctx
        start local 1 // java.lang.Object value
         0: .line 1485
            aload 1 /* value */
            aload 0 /* ctx */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.requireObjectCoercible:(Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/Object;
            pop
         1: .line 1486
            ldc 0.75
            aload 1 /* value */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            invokestatic com.oracle.truffle.api.CompilerDirectives.injectBranchProbability:(DZ)Z
            ifeq 3
         2: .line 1487
            aload 1 /* value */
            checkcast com.oracle.truffle.api.object.DynamicObject
            areturn
         3: .line 1489
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            astore 2 /* unboxedValue */
        start local 2 // java.lang.Object unboxedValue
         4: .line 1490
            aload 1 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 10
         5: .line 1491
            aload 1 /* value */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
            astore 3 /* interop */
        start local 3 // com.oracle.truffle.api.interop.InteropLibrary interop
         6: .line 1492
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 7
            aload 3 /* interop */
            aload 1 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            ifeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 1493
      StackMap locals: java.lang.Object com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            aload 1 /* value */
            aconst_null
            aload 3 /* interop */
            aconst_null
            invokestatic com.oracle.truffle.js.runtime.interop.JSInteropUtil.toPrimitiveOrDefault:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
            astore 2 /* unboxedValue */
         8: .line 1494
            aload 2 /* unboxedValue */
            ifnonnull 10
         9: .line 1495
            aload 1 /* value */
            checkcast com.oracle.truffle.api.interop.TruffleObject
            areturn
        end local 3 // com.oracle.truffle.api.interop.InteropLibrary interop
        10: .line 1498
      StackMap locals:
      StackMap stack:
            aload 0 /* ctx */
            aload 2 /* unboxedValue */
            iconst_1
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toObjectFromPrimitive:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/interop/TruffleObject;
            areturn
        end local 2 // java.lang.Object unboxedValue
        end local 1 // java.lang.Object value
        end local 0 // com.oracle.truffle.js.runtime.JSContext ctx
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0           ctx  Lcom/oracle/truffle/js/runtime/JSContext;
            0   11     1         value  Ljava/lang/Object;
            4   11     2  unboxedValue  Ljava/lang/Object;
            6   10     3       interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
    MethodParameters:
       Name  Flags
      ctx    
      value  

  public static com.oracle.truffle.api.interop.TruffleObject toObjectFromPrimitive(com.oracle.truffle.js.runtime.JSContext, java.lang.Object, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/interop/TruffleObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.JSContext ctx
        start local 1 // java.lang.Object value
        start local 2 // boolean useJavaWrapper
         0: .line 1503
            aload 1 /* value */
            instanceof java.lang.Boolean
            ifeq 2
         1: .line 1504
            aload 0 /* ctx */
            aload 1 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokestatic com.oracle.truffle.js.runtime.builtins.JSBoolean.create:(Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
         2: .line 1505
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.String
            ifeq 4
         3: .line 1506
            aload 0 /* ctx */
            aload 1 /* value */
            checkcast java.lang.String
            invokestatic com.oracle.truffle.js.runtime.builtins.JSString.create:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
         4: .line 1507
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
            ifeq 6
         5: .line 1508
            aload 0 /* ctx */
            aload 1 /* value */
            checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
            invokestatic com.oracle.truffle.js.runtime.builtins.JSString.create:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
         6: .line 1509
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof com.oracle.truffle.js.runtime.BigInt
            ifeq 8
         7: .line 1510
            aload 0 /* ctx */
            aload 1 /* value */
            checkcast com.oracle.truffle.js.runtime.BigInt
            invokestatic com.oracle.truffle.js.runtime.builtins.JSBigInt.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
         8: .line 1511
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 1512
            aload 0 /* ctx */
            aload 1 /* value */
            checkcast java.lang.Number
            invokestatic com.oracle.truffle.js.runtime.builtins.JSNumber.create:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Number;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        10: .line 1513
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ifeq 12
        11: .line 1514
            aload 0 /* ctx */
            aload 1 /* value */
            checkcast com.oracle.truffle.js.runtime.Symbol
            invokestatic com.oracle.truffle.js.runtime.builtins.JSSymbol.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/Symbol;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        12: .line 1516
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 14
            aload 1 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSNative:(Ljava/lang/Object;)Z
            ifne 13
            aload 1 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaPrimitive:(Ljava/lang/Object;)Z
            ifne 14
      StackMap locals:
      StackMap stack:
        13: new java.lang.AssertionError
            dup
            aload 1 /* value */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 1517
      StackMap locals:
      StackMap stack:
            iload 2 /* useJavaWrapper */
            ifeq 16
        15: .line 1518
            aload 0 /* ctx */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            aload 1 /* value */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asBoxedGuestValue:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.interop.TruffleObject
            areturn
        16: .line 1520
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // boolean useJavaWrapper
        end local 1 // java.lang.Object value
        end local 0 // com.oracle.truffle.js.runtime.JSContext ctx
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0             ctx  Lcom/oracle/truffle/js/runtime/JSContext;
            0   17     1           value  Ljava/lang/Object;
            0   17     2  useJavaWrapper  Z
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                Name  Flags
      ctx             
      value           
      useJavaWrapper  

  public static boolean isSameValue(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.lang.Object x
        start local 1 // java.lang.Object y
         0: .line 1530
            aload 0 /* x */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 2
            aload 1 /* y */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 2
         1: .line 1531
            iconst_1
            ireturn
         2: .line 1532
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 4
            aload 1 /* y */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 4
         3: .line 1533
            iconst_1
            ireturn
         4: .line 1534
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            instanceof java.lang.Integer
            ifeq 7
            aload 1 /* y */
            instanceof java.lang.Integer
            ifeq 7
         5: .line 1535
            aload 0 /* x */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aload 1 /* y */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmpne 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
         7: .line 1536
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
            ifeq 12
            aload 1 /* y */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
            ifeq 12
         8: .line 1537
            aload 0 /* x */
            checkcast java.lang.Number
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
            dstore 2 /* xd */
        start local 2 // double xd
         9: .line 1538
            aload 1 /* y */
            checkcast java.lang.Number
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
            dstore 4 /* yd */
        start local 4 // double yd
        10: .line 1539
            dload 2 /* xd */
            dload 4 /* yd */
            invokestatic java.lang.Double.compare:(DD)I
            ifne 11
            iconst_1
            ireturn
      StackMap locals: double double
      StackMap stack:
        11: iconst_0
            ireturn
        end local 4 // double yd
        end local 2 // double xd
        12: .line 1540
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 14
            aload 1 /* y */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 1541
            aload 0 /* x */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 1 /* y */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        14: .line 1542
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            instanceof java.lang.Boolean
            ifeq 17
            aload 1 /* y */
            instanceof java.lang.Boolean
            ifeq 17
        15: .line 1543
            aload 0 /* x */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            aload 1 /* y */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            if_icmpne 16
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        16: iconst_0
            ireturn
        17: .line 1544
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
            ifeq 20
            aload 1 /* y */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
            ifeq 20
        18: .line 1545
            aload 0 /* x */
            checkcast com.oracle.truffle.js.runtime.BigInt
            aload 1 /* y */
            checkcast com.oracle.truffle.js.runtime.BigInt
            invokevirtual com.oracle.truffle.js.runtime.BigInt.compareTo:(Lcom/oracle/truffle/js/runtime/BigInt;)I
            ifne 19
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        19: iconst_0
            ireturn
        20: .line 1547
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            aload 1 /* y */
            if_acmpne 21
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        21: iconst_0
            ireturn
        end local 1 // java.lang.Object y
        end local 0 // java.lang.Object x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0     x  Ljava/lang/Object;
            0   22     1     y  Ljava/lang/Object;
            9   12     2    xd  D
           10   12     4    yd  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      x     
      y     

  public static boolean equal(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.lang.Object a
        start local 1 // java.lang.Object b
         0: .line 1552
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 2
         1: .line 1553
            iconst_1
            ireturn
         2: .line 1554
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 3
            aload 0 /* a */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 4
         3: .line 1555
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNullish:(Ljava/lang/Object;)Z
            ireturn
         4: .line 1556
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 5
            aload 1 /* b */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 6
         5: .line 1557
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNullish:(Ljava/lang/Object;)Z
            ireturn
         6: .line 1558
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            instanceof java.lang.Boolean
            ifeq 8
            aload 1 /* b */
            instanceof java.lang.Boolean
            ifeq 8
         7: .line 1559
            aload 0 /* a */
            aload 1 /* b */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
         8: .line 1560
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 10
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 1561
            aload 0 /* a */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 1 /* b */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        10: .line 1562
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
            ifeq 15
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
            ifeq 15
        11: .line 1563
            aload 0 /* a */
            checkcast java.lang.Number
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
            dstore 2 /* da */
        start local 2 // double da
        12: .line 1564
            aload 1 /* b */
            checkcast java.lang.Number
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
            dstore 4 /* db */
        start local 4 // double db
        13: .line 1565
            dload 2 /* da */
            dload 4 /* db */
            dcmpl
            ifne 14
            iconst_1
            ireturn
      StackMap locals: double double
      StackMap stack:
        14: iconst_0
            ireturn
        end local 4 // double db
        end local 2 // double da
        15: .line 1566
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 18
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 1567
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 17
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        17: iconst_0
            ireturn
        18: .line 1568
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
            ifeq 20
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 20
        19: .line 1569
            aload 0 /* a */
            aload 1 /* b */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumber:(Ljava/lang/String;)Ljava/lang/Number;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        20: .line 1570
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 22
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
            ifeq 22
        21: .line 1571
            aload 0 /* a */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumber:(Ljava/lang/String;)Ljava/lang/Number;
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        22: .line 1572
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
            ifeq 24
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 1573
            aload 0 /* a */
            aload 1 /* b */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        24: .line 1574
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
            ifeq 26
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 26
        25: .line 1575
            aload 0 /* a */
            aload 1 /* b */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToBigInt:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/BigInt;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        26: .line 1576
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 28
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
            ifeq 28
        27: .line 1577
            aload 1 /* b */
            aload 0 /* a */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToBigInt:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/BigInt;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        28: .line 1578
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
            ifeq 30
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
            ifeq 30
        29: .line 1579
            aload 1 /* b */
            checkcast com.oracle.truffle.js.runtime.BigInt
            aload 0 /* a */
            checkcast java.lang.Number
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.equalBigIntAndNumber:(Lcom/oracle/truffle/js/runtime/BigInt;Ljava/lang/Number;)Z
            ireturn
        30: .line 1580
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
            ifeq 32
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
            ifeq 32
        31: .line 1581
            aload 0 /* a */
            checkcast com.oracle.truffle.js.runtime.BigInt
            aload 1 /* b */
            checkcast java.lang.Number
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.equalBigIntAndNumber:(Lcom/oracle/truffle/js/runtime/BigInt;Ljava/lang/Number;)Z
            ireturn
        32: .line 1582
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            instanceof java.lang.Boolean
            ifeq 34
        33: .line 1583
            aload 0 /* a */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.booleanToNumber:(Z)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        34: .line 1584
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            instanceof java.lang.Boolean
            ifeq 36
        35: .line 1585
            aload 0 /* a */
            aload 1 /* b */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.booleanToNumber:(Z)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        36: .line 1586
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifeq 40
        37: .line 1587
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 39
            aload 1 /* b */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 38
            aload 1 /* b */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 39
      StackMap locals:
      StackMap stack:
        38: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        39: .line 1588
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.toPrimitive:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        40: .line 1589
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifeq 44
        41: .line 1590
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 43
            aload 1 /* b */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 42
            aload 1 /* b */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 43
      StackMap locals:
      StackMap stack:
        42: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        43: .line 1591
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            aload 1 /* b */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.toPrimitive:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        44: .line 1592
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifne 45
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 46
        45: .line 1593
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.equalInterop:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        46: .line 1595
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object b
        end local 0 // java.lang.Object a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   47     0     a  Ljava/lang/Object;
            0   47     1     b  Ljava/lang/Object;
           12   15     2    da  D
           13   15     4    db  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      a     
      b     

  public static boolean isForeignObject(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 value
         0: .line 1600
            aload 0 /* value */
            instanceof com.oracle.truffle.api.interop.TruffleObject
            ifeq 1
            aload 0 /* value */
            checkcast com.oracle.truffle.api.interop.TruffleObject
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Lcom/oracle/truffle/api/interop/TruffleObject;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isForeignObject(com.oracle.truffle.api.interop.TruffleObject);
    descriptor: (Lcom/oracle/truffle/api/interop/TruffleObject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.interop.TruffleObject value
         0: .line 1604
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifne 3
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ifne 3
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
            ifne 3
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.SafeInteger
            ifne 3
         1: .line 1605
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.BigInt
            ifne 3
         2: .line 1604
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // com.oracle.truffle.api.interop.TruffleObject value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  value  Lcom/oracle/truffle/api/interop/TruffleObject;
    MethodParameters:
       Name  Flags
      value  

  private static boolean equalInterop(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.Object a
        start local 1 // java.lang.Object b
         0: .line 1609
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 2
            aload 0 /* a */
            ifnull 1
            aload 1 /* b */
            ifnonnull 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1610
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* defaultValue */
        start local 2 // java.lang.Object defaultValue
         3: .line 1612
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 1613
            aload 0 /* a */
            aload 2 /* defaultValue */
            aload 0 /* a */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
            aconst_null
            invokestatic com.oracle.truffle.js.runtime.interop.JSInteropUtil.toPrimitiveOrDefault:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
            astore 3 /* primLeft */
        start local 3 // java.lang.Object primLeft
         5: .line 1614
            goto 9
        end local 3 // java.lang.Object primLeft
         6: .line 1615
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNullOrUndefined:(Ljava/lang/Object;)Z
            ifeq 7
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 0 /* a */
      StackMap locals:
      StackMap stack: java.lang.Object
         8: astore 3 /* primLeft */
        start local 3 // java.lang.Object primLeft
         9: .line 1618
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 1619
            aload 1 /* b */
            aload 2 /* defaultValue */
            aload 1 /* b */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
            aconst_null
            invokestatic com.oracle.truffle.js.runtime.interop.JSInteropUtil.toPrimitiveOrDefault:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
            astore 4 /* primRight */
        start local 4 // java.lang.Object primRight
        11: .line 1620
            goto 15
        end local 4 // java.lang.Object primRight
        12: .line 1621
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNullOrUndefined:(Ljava/lang/Object;)Z
            ifeq 13
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 1 /* b */
      StackMap locals:
      StackMap stack: java.lang.Object
        14: astore 4 /* primRight */
        start local 4 // java.lang.Object primRight
        15: .line 1624
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* primLeft */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 16
            aload 4 /* primRight */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 18
        16: .line 1626
      StackMap locals:
      StackMap stack:
            aload 3 /* primLeft */
            aload 4 /* primRight */
            if_acmpne 17
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        17: iconst_0
            ireturn
        18: .line 1627
      StackMap locals:
      StackMap stack:
            aload 3 /* primLeft */
            aload 2 /* defaultValue */
            if_acmpeq 19
            aload 4 /* primRight */
            aload 2 /* defaultValue */
            if_acmpne 22
        19: .line 1629
      StackMap locals:
      StackMap stack:
            aload 3 /* primLeft */
            aload 2 /* defaultValue */
            if_acmpne 21
            aload 4 /* primRight */
            aload 2 /* defaultValue */
            if_acmpne 21
        20: .line 1630
            aload 0 /* a */
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.Boundaries.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        21: .line 1632
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        22: .line 1635
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 24
            aload 3 /* primLeft */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifne 23
            aload 4 /* primRight */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 24
      StackMap locals:
      StackMap stack:
        23: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 1636
      StackMap locals:
      StackMap stack:
            aload 3 /* primLeft */
            aload 4 /* primRight */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 4 // java.lang.Object primRight
        end local 3 // java.lang.Object primLeft
        end local 2 // java.lang.Object defaultValue
        end local 1 // java.lang.Object b
        end local 0 // java.lang.Object a
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0             a  Ljava/lang/Object;
            0   25     1             b  Ljava/lang/Object;
            3   25     2  defaultValue  Ljava/lang/Object;
            5    6     3      primLeft  Ljava/lang/Object;
            9   25     3      primLeft  Ljava/lang/Object;
           11   12     4     primRight  Ljava/lang/Object;
           15   25     4     primRight  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     
      b     

  private static boolean equalBigIntAndNumber(com.oracle.truffle.js.runtime.BigInt, java.lang.Number);
    descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;Ljava/lang/Number;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.BigInt a
        start local 1 // java.lang.Number b
         0: .line 1641
            aload 1 /* b */
            instanceof java.lang.Double
            ifne 1
            aload 1 /* b */
            instanceof java.lang.Float
            ifeq 4
         1: .line 1642
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
            dstore 2 /* numberVal */
        start local 2 // double numberVal
         2: .line 1643
            dload 2 /* numberVal */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 3
            aload 0 /* a */
            dload 2 /* numberVal */
            invokevirtual com.oracle.truffle.js.runtime.BigInt.compareValueTo:(D)I
            ifne 3
            iconst_1
            ireturn
      StackMap locals: double
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // double numberVal
         4: .line 1645
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.longValue:(Ljava/lang/Number;)J
            invokevirtual com.oracle.truffle.js.runtime.BigInt.compareValueTo:(J)I
            ifne 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // java.lang.Number b
        end local 0 // com.oracle.truffle.js.runtime.BigInt a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0          a  Lcom/oracle/truffle/js/runtime/BigInt;
            0    6     1          b  Ljava/lang/Number;
            2    4     2  numberVal  D
    MethodParameters:
      Name  Flags
      a     
      b     

  public static boolean identical(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.Object a
        start local 1 // java.lang.Object b
         0: .line 1651
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 6
         1: .line 1652
            aload 0 /* a */
            instanceof java.lang.Double
            ifeq 5
         2: .line 1653
            aload 0 /* a */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: ireturn
         5: .line 1655
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         6: .line 1657
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 7
            aload 1 /* b */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 8
         7: .line 1658
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         8: .line 1660
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 11
         9: .line 1661
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 10
            aload 1 /* b */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 1662
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* b */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            ireturn
        11: .line 1663
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 14
        12: .line 1664
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 13
            aload 0 /* a */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 1665
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 0 /* a */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            ireturn
        14: .line 1667
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
            ifeq 16
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 1668
            aload 0 /* a */
            aload 1 /* b */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        16: .line 1670
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
            ifeq 22
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
            ifeq 22
        17: .line 1671
            aload 0 /* a */
            instanceof java.lang.Integer
            ifeq 20
            aload 1 /* b */
            instanceof java.lang.Integer
            ifeq 20
        18: .line 1672
            aload 0 /* a */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aload 1 /* b */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmpne 19
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        19: iconst_0
            ireturn
        20: .line 1674
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            checkcast java.lang.Number
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
            aload 1 /* b */
            checkcast java.lang.Number
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
            dcmpl
            ifne 21
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        21: iconst_0
            ireturn
        22: .line 1677
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            instanceof java.lang.Boolean
            ifeq 24
            aload 1 /* b */
            instanceof java.lang.Boolean
            ifeq 24
        23: .line 1678
            aload 0 /* a */
            aload 1 /* b */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        24: .line 1680
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 26
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 26
        25: .line 1681
            aload 0 /* a */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 1 /* b */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        26: .line 1683
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifne 27
            aload 1 /* b */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifeq 28
        27: .line 1684
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        28: .line 1686
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
            astore 2 /* aInterop */
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary aInterop
        29: .line 1687
            aload 1 /* b */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
            astore 3 /* bInterop */
        start local 3 // com.oracle.truffle.api.interop.InteropLibrary bInterop
        30: .line 1688
            aload 2 /* aInterop */
            aload 0 /* a */
            aload 1 /* b */
            aload 3 /* bInterop */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isIdentical:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
            ifne 32
            aload 2 /* aInterop */
            aload 0 /* a */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            ifeq 31
            aload 3 /* bInterop */
            aload 1 /* b */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            ifne 32
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
        31: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        32: iconst_1
            ireturn
        end local 3 // com.oracle.truffle.api.interop.InteropLibrary bInterop
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary aInterop
        end local 1 // java.lang.Object b
        end local 0 // java.lang.Object a
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   33     0         a  Ljava/lang/Object;
            0   33     1         b  Ljava/lang/Object;
           29   33     2  aInterop  Lcom/oracle/truffle/api/interop/InteropLibrary;
           30   33     3  bInterop  Lcom/oracle/truffle/api/interop/InteropLibrary;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      a     
      b     

  public static <T> T requireObjectCoercible(T, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object argument
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 1695
            aload 0 /* argument */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 1
            aload 0 /* argument */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 1
            aload 0 /* argument */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 2
            aload 0 /* argument */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 0 /* argument */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1696
      StackMap locals:
      StackMap stack:
            aload 0 /* argument */
            aconst_null
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotObjectCoercible:(Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         2: .line 1698
      StackMap locals:
      StackMap stack:
            aload 0 /* argument */
            areturn
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // java.lang.Object argument
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  argument  TT;
            0    3     1   context  Lcom/oracle/truffle/js/runtime/JSContext;
    Signature: <T:Ljava/lang/Object;>(TT;Lcom/oracle/truffle/js/runtime/JSContext;)TT;
    MethodParameters:
          Name  Flags
      argument  
      context   

  public static com.oracle.truffle.js.runtime.objects.PropertyDescriptor toPropertyDescriptor(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // java.lang.Object property
         0: .line 1709
            aload 0 /* property */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 1710
            aload 0 /* property */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotAnObject:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         2: .line 1712
      StackMap locals:
      StackMap stack:
            aload 0 /* property */
            checkcast com.oracle.truffle.api.object.DynamicObject
            astore 1 /* obj */
        start local 1 // com.oracle.truffle.api.object.DynamicObject obj
         3: .line 1713
            invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createEmpty:()Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
            astore 2 /* desc */
        start local 2 // com.oracle.truffle.js.runtime.objects.PropertyDescriptor desc
         4: .line 1716
            aload 1 /* obj */
            ldc "enumerable"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            ifeq 6
         5: .line 1717
            aload 2 /* desc */
            aload 1 /* obj */
            ldc "enumerable"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toBoolean:(Ljava/lang/Object;)Z
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setEnumerable:(Z)V
         6: .line 1720
      StackMap locals: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.objects.PropertyDescriptor
      StackMap stack:
            aload 1 /* obj */
            ldc "configurable"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            ifeq 8
         7: .line 1721
            aload 2 /* desc */
            aload 1 /* obj */
            ldc "configurable"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toBoolean:(Ljava/lang/Object;)Z
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setConfigurable:(Z)V
         8: .line 1724
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            ldc "value"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            istore 3 /* hasValue */
        start local 3 // boolean hasValue
         9: .line 1725
            iload 3 /* hasValue */
            ifeq 11
        10: .line 1726
            aload 2 /* desc */
            aload 1 /* obj */
            ldc "value"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setValue:(Ljava/lang/Object;)V
        11: .line 1729
      StackMap locals: int
      StackMap stack:
            aload 1 /* obj */
            ldc "writable"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            istore 4 /* hasWritable */
        start local 4 // boolean hasWritable
        12: .line 1730
            iload 4 /* hasWritable */
            ifeq 14
        13: .line 1731
            aload 2 /* desc */
            aload 1 /* obj */
            ldc "writable"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toBoolean:(Ljava/lang/Object;)Z
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setWritable:(Z)V
        14: .line 1734
      StackMap locals: int
      StackMap stack:
            aload 1 /* obj */
            ldc "get"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            istore 5 /* hasGet */
        start local 5 // boolean hasGet
        15: .line 1735
            iload 5 /* hasGet */
            ifeq 20
        16: .line 1736
            aload 1 /* obj */
            ldc "get"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* getter */
        start local 6 // java.lang.Object getter
        17: .line 1737
            aload 6 /* getter */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallable:(Ljava/lang/Object;)Z
            ifne 19
            aload 6 /* getter */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 19
        18: .line 1738
            ldc "Getter must be a function"
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        19: .line 1740
      StackMap locals: int java.lang.Object
      StackMap stack:
            aload 2 /* desc */
            aload 6 /* getter */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setGet:(Lcom/oracle/truffle/api/object/DynamicObject;)V
        end local 6 // java.lang.Object getter
        20: .line 1743
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            ldc "set"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            istore 6 /* hasSet */
        start local 6 // boolean hasSet
        21: .line 1744
            iload 6 /* hasSet */
            ifeq 26
        22: .line 1745
            aload 1 /* obj */
            ldc "set"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* setter */
        start local 7 // java.lang.Object setter
        23: .line 1746
            aload 7 /* setter */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallable:(Ljava/lang/Object;)Z
            ifne 25
            aload 7 /* setter */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 25
        24: .line 1747
            ldc "Setter must be a function"
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        25: .line 1749
      StackMap locals: int java.lang.Object
      StackMap stack:
            aload 2 /* desc */
            aload 7 /* setter */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setSet:(Lcom/oracle/truffle/api/object/DynamicObject;)V
        end local 7 // java.lang.Object setter
        26: .line 1752
      StackMap locals:
      StackMap stack:
            iload 5 /* hasGet */
            ifne 27
            iload 6 /* hasSet */
            ifeq 29
        27: .line 1753
      StackMap locals:
      StackMap stack:
            iload 3 /* hasValue */
            ifne 28
            iload 4 /* hasWritable */
            ifeq 29
        28: .line 1754
      StackMap locals:
      StackMap stack:
            ldc "Invalid property. A property cannot both have accessors and be writable or have a value"
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        29: .line 1757
      StackMap locals:
      StackMap stack:
            aload 2 /* desc */
            areturn
        end local 6 // boolean hasSet
        end local 5 // boolean hasGet
        end local 4 // boolean hasWritable
        end local 3 // boolean hasValue
        end local 2 // com.oracle.truffle.js.runtime.objects.PropertyDescriptor desc
        end local 1 // com.oracle.truffle.api.object.DynamicObject obj
        end local 0 // java.lang.Object property
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   30     0     property  Ljava/lang/Object;
            3   30     1          obj  Lcom/oracle/truffle/api/object/DynamicObject;
            4   30     2         desc  Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
            9   30     3     hasValue  Z
           12   30     4  hasWritable  Z
           15   30     5       hasGet  Z
           17   20     6       getter  Ljava/lang/Object;
           21   30     6       hasSet  Z
           23   26     7       setter  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      property  

  public static int valueInRadix10(char);
    descriptor: (C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 1761
            iload 0 /* c */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
            ifeq 2
         1: .line 1762
            iload 0 /* c */
            bipush 48
            isub
            ireturn
         2: .line 1764
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static int valueInRadix(char, int);
    descriptor: (CI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // char c
        start local 1 // int radix
         0: .line 1768
            iload 0 /* c */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.valueInRadixIntl:(C)I
            istore 2 /* val */
        start local 2 // int val
         1: .line 1769
            iload 2 /* val */
            iload 1 /* radix */
            if_icmpge 2
            iload 2 /* val */
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_m1
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // int val
        end local 1 // int radix
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0      c  C
            0    4     1  radix  I
            1    4     2    val  I
    MethodParameters:
       Name  Flags
      c      
      radix  

  private static int valueInRadixIntl(char);
    descriptor: (C)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 1773
            iload 0 /* c */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
            ifeq 2
         1: .line 1774
            iload 0 /* c */
            bipush 48
            isub
            ireturn
         2: .line 1776
      StackMap locals:
      StackMap stack:
            bipush 97
            iload 0 /* c */
            if_icmpgt 4
            iload 0 /* c */
            bipush 122
            if_icmpgt 4
         3: .line 1777
            iload 0 /* c */
            bipush 97
            isub
            bipush 10
            iadd
            ireturn
         4: .line 1779
      StackMap locals:
      StackMap stack:
            bipush 65
            iload 0 /* c */
            if_icmpgt 6
            iload 0 /* c */
            bipush 90
            if_icmpgt 6
         5: .line 1780
            iload 0 /* c */
            bipush 65
            isub
            bipush 10
            iadd
            ireturn
         6: .line 1782
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static int valueInHex(char);
    descriptor: (C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 1786
            iload 0 /* c */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
            ifeq 2
         1: .line 1787
            iload 0 /* c */
            bipush 48
            isub
            ireturn
         2: .line 1789
      StackMap locals:
      StackMap stack:
            bipush 97
            iload 0 /* c */
            if_icmpgt 4
            iload 0 /* c */
            bipush 102
            if_icmpgt 4
         3: .line 1790
            iload 0 /* c */
            bipush 97
            isub
            bipush 10
            iadd
            ireturn
         4: .line 1792
      StackMap locals:
      StackMap stack:
            bipush 65
            iload 0 /* c */
            if_icmpgt 6
            iload 0 /* c */
            bipush 70
            if_icmpgt 6
         5: .line 1793
            iload 0 /* c */
            bipush 65
            isub
            bipush 10
            iadd
            ireturn
         6: .line 1795
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static boolean isHex(char);
    descriptor: (C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 1799
            iload 0 /* c */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
            ifne 3
            bipush 97
            iload 0 /* c */
            if_icmpgt 1
            iload 0 /* c */
            bipush 102
            if_icmple 3
      StackMap locals:
      StackMap stack:
         1: bipush 65
            iload 0 /* c */
            if_icmpgt 2
            iload 0 /* c */
            bipush 70
            if_icmple 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static long parseArrayIndexRaw(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.String string
         0: .line 1811
            lconst_0
            lstore 1 /* value */
        start local 1 // long value
         1: .line 1812
            iconst_0
            istore 3 /* pos */
        start local 3 // int pos
         2: .line 1813
            aload 0 /* string */
            invokevirtual java.lang.String.length:()I
            istore 4 /* len */
        start local 4 // int len
         3: .line 1814
            iload 4 /* len */
            iconst_1
            if_icmple 11
            aload 0 /* string */
            iload 3 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 48
            if_icmpne 11
         4: .line 1815
            ldc -1
            lreturn
         5: .line 1818
      StackMap locals: long int int
      StackMap stack:
            aload 0 /* string */
            iload 3 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         6: .line 1819
            iload 5 /* c */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
            ifne 8
         7: .line 1820
            ldc -1
            lreturn
         8: .line 1822
      StackMap locals: int
      StackMap stack:
            lload 1 /* value */
            ldc 10
            lmul
            lstore 1 /* value */
         9: .line 1823
            lload 1 /* value */
            iload 5 /* c */
            bipush 48
            isub
            i2l
            ladd
            lstore 1 /* value */
        10: .line 1824
            iinc 3 /* pos */ 1
        end local 5 // char c
        11: .line 1817
      StackMap locals:
      StackMap stack:
            iload 3 /* pos */
            iload 4 /* len */
            if_icmplt 5
        12: .line 1826
            lload 1 /* value */
            lreturn
        end local 4 // int len
        end local 3 // int pos
        end local 1 // long value
        end local 0 // java.lang.String string
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0  string  Ljava/lang/String;
            1   13     1   value  J
            2   13     3     pos  I
            3   13     4     len  I
            6   11     5       c  C
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      string  

  public static java.lang.String trimJSWhiteSpace(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String string
         0: .line 1830
            aload 0 /* string */
            iconst_0
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.trimJSWhiteSpace:(Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String string
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  string  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      string  

  public static java.lang.String trimJSWhiteSpace(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.String string
        start local 1 // boolean useLineTerminators
         0: .line 1835
            aload 0 /* string */
            iload 1 /* useLineTerminators */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.firstNonWhitespaceIndex:(Ljava/lang/String;Z)I
            istore 2 /* firstIdx */
        start local 2 // int firstIdx
         1: .line 1836
            aload 0 /* string */
            iload 1 /* useLineTerminators */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.lastNonWhitespaceIndex:(Ljava/lang/String;Z)I
            istore 3 /* lastIdx */
        start local 3 // int lastIdx
         2: .line 1837
            iload 2 /* firstIdx */
            ifne 5
         3: .line 1838
            iload 3 /* lastIdx */
            iconst_1
            iadd
            aload 0 /* string */
            invokevirtual java.lang.String.length:()I
            if_icmpne 7
         4: .line 1839
            aload 0 /* string */
            areturn
         5: .line 1841
      StackMap locals: int int
      StackMap stack:
            iload 2 /* firstIdx */
            iload 3 /* lastIdx */
            if_icmple 7
         6: .line 1842
            ldc ""
            areturn
         7: .line 1844
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 2 /* firstIdx */
            iload 3 /* lastIdx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 3 // int lastIdx
        end local 2 // int firstIdx
        end local 1 // boolean useLineTerminators
        end local 0 // java.lang.String string
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0              string  Ljava/lang/String;
            0    8     1  useLineTerminators  Z
            1    8     2            firstIdx  I
            2    8     3             lastIdx  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                    Name  Flags
      string              
      useLineTerminators  

  public static int firstNonWhitespaceIndex(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String string
        start local 1 // boolean useLineTerminators
         0: .line 1848
            iconst_0
            istore 2 /* idx */
        start local 2 // int idx
         1: .line 1849
            goto 3
         2: .line 1850
      StackMap locals: int
      StackMap stack:
            iinc 2 /* idx */ 1
         3: .line 1849
      StackMap locals:
      StackMap stack:
            iload 2 /* idx */
            aload 0 /* string */
            invokevirtual java.lang.String.length:()I
            if_icmpge 4
            aload 0 /* string */
            iload 2 /* idx */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isWhiteSpace:(C)Z
            ifne 2
            iload 1 /* useLineTerminators */
            ifeq 4
            aload 0 /* string */
            iload 2 /* idx */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLineTerminator:(C)Z
            ifne 2
         4: .line 1852
      StackMap locals:
      StackMap stack:
            iload 2 /* idx */
            ireturn
        end local 2 // int idx
        end local 1 // boolean useLineTerminators
        end local 0 // java.lang.String string
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0              string  Ljava/lang/String;
            0    5     1  useLineTerminators  Z
            1    5     2                 idx  I
    MethodParameters:
                    Name  Flags
      string              
      useLineTerminators  

  public static int lastNonWhitespaceIndex(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String string
        start local 1 // boolean useLineTerminators
         0: .line 1856
            aload 0 /* string */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 2 /* idx */
        start local 2 // int idx
         1: .line 1857
            goto 3
         2: .line 1858
      StackMap locals: int
      StackMap stack:
            iinc 2 /* idx */ -1
         3: .line 1857
      StackMap locals:
      StackMap stack:
            iload 2 /* idx */
            iflt 4
            aload 0 /* string */
            iload 2 /* idx */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isWhiteSpace:(C)Z
            ifne 2
            iload 1 /* useLineTerminators */
            ifeq 4
            aload 0 /* string */
            iload 2 /* idx */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLineTerminator:(C)Z
            ifne 2
         4: .line 1860
      StackMap locals:
      StackMap stack:
            iload 2 /* idx */
            ireturn
        end local 2 // int idx
        end local 1 // boolean useLineTerminators
        end local 0 // java.lang.String string
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0              string  Ljava/lang/String;
            0    5     1  useLineTerminators  Z
            1    5     2                 idx  I
    MethodParameters:
                    Name  Flags
      string              
      useLineTerminators  

  public static boolean isWhiteSpace(char);
    descriptor: (C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char cp
         0: .line 1865
            iload 0 /* cp */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
            ifeq 2
         1: .line 1866
            iconst_0
            ireturn
         2: .line 1868
      StackMap locals:
      StackMap stack:
            bipush 9
            iload 0 /* cp */
            if_icmpgt 3
            iload 0 /* cp */
            bipush 13
            if_icmple 7
      StackMap locals:
      StackMap stack:
         3: sipush 8192
            iload 0 /* cp */
            if_icmpgt 4
            iload 0 /* cp */
            sipush 8202
            if_icmple 7
      StackMap locals:
      StackMap stack:
         4: iload 0 /* cp */
            bipush 32
            if_icmpeq 7
            iload 0 /* cp */
            sipush 160
            if_icmpeq 7
            iload 0 /* cp */
            sipush 5760
            if_icmpeq 7
            iload 0 /* cp */
            sipush 8232
            if_icmpeq 7
            iload 0 /* cp */
            sipush 8233
            if_icmpeq 7
            iload 0 /* cp */
            sipush 8239
            if_icmpeq 7
         5: .line 1869
            iload 0 /* cp */
            sipush 8287
            if_icmpeq 7
            iload 0 /* cp */
            sipush 12288
            if_icmpeq 7
            iload 0 /* cp */
            ldc 65279
            if_icmpeq 7
         6: .line 1868
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_1
            ireturn
        end local 0 // char cp
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0    cp  C
    MethodParameters:
      Name  Flags
      cp    

  private static boolean isLineTerminator(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // char codePoint
         0: .line 1873
            iload 0 /* codePoint */
            lookupswitch { // 4
                   10: 1
                   13: 1
                 8232: 1
                 8233: 1
              default: 2
          }
         1: .line 1878
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 1880
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // char codePoint
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  codePoint  C
    MethodParameters:
           Name  Flags
      codePoint  

  public static boolean isValidArrayLength(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long longValue
         0: .line 1889
            lconst_0
            lload 0 /* longValue */
            lcmp
            ifgt 1
            lload 0 /* longValue */
            ldc 4294967295
            lcmp
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long longValue
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  longValue  J
    MethodParameters:
           Name  Flags
      longValue  

  public static boolean isValidArrayLength(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // double doubleValue
         0: .line 1893
            dload 0 /* doubleValue */
            d2l
            lstore 2 /* longValue */
        start local 2 // long longValue
         1: .line 1894
            dload 0 /* doubleValue */
            lload 2 /* longValue */
            l2d
            dcmpl
            ifne 2
            lload 2 /* longValue */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isValidArrayLength:(J)Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: long
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // long longValue
        end local 0 // double doubleValue
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  doubleValue  D
            1    3     2    longValue  J
    MethodParameters:
             Name  Flags
      doubleValue  

  public static boolean isValidArrayLength(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int intValue
         0: .line 1898
            iload 0 /* intValue */
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int intValue
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  intValue  I
    MethodParameters:
          Name  Flags
      intValue  

  public static boolean isIntegerIndex(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long longValue
         0: .line 1902
            lconst_0
            lload 0 /* longValue */
            lcmp
            ifgt 1
            lload 0 /* longValue */
            getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER_LONG:J
            lcmp
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long longValue
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  longValue  J
    MethodParameters:
           Name  Flags
      longValue  

  public static boolean isArrayIndex(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int intValue
         0: .line 1906
            iload 0 /* intValue */
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int intValue
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  intValue  I
    MethodParameters:
          Name  Flags
      intValue  

  public static boolean isArrayIndex(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long longValue
         0: .line 1910
            lconst_0
            lload 0 /* longValue */
            lcmp
            ifgt 1
            lload 0 /* longValue */
            ldc 4294967295
            lcmp
            ifge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long longValue
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  longValue  J
    MethodParameters:
           Name  Flags
      longValue  

  public static boolean isArrayIndex(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // double doubleValue
         0: .line 1914
            dload 0 /* doubleValue */
            d2l
            lstore 2 /* longValue */
        start local 2 // long longValue
         1: .line 1915
            lload 2 /* longValue */
            l2d
            dload 0 /* doubleValue */
            dcmpl
            ifne 2
            lload 2 /* longValue */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: long
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // long longValue
        end local 0 // double doubleValue
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  doubleValue  D
            1    3     2    longValue  J
    MethodParameters:
             Name  Flags
      doubleValue  

  public static boolean isArrayIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String property
         0: .line 1919
            aload 0 /* property */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.propertyNameToArrayIndex:(Ljava/lang/String;)J
            lstore 1 /* idx */
        start local 1 // long idx
         1: .line 1920
            lload 1 /* idx */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
            ireturn
        end local 1 // long idx
        end local 0 // java.lang.String property
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  property  Ljava/lang/String;
            1    2     1       idx  J
    MethodParameters:
          Name  Flags
      property  

  public static boolean isArrayIndex(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Object property
         0: .line 1924
            aload 0 /* property */
            instanceof java.lang.Integer
            ifeq 2
         1: .line 1925
            aload 0 /* property */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(I)Z
            ireturn
         2: .line 1926
      StackMap locals:
      StackMap stack:
            aload 0 /* property */
            instanceof java.lang.Long
            ifeq 4
         3: .line 1927
            aload 0 /* property */
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
            ireturn
         4: .line 1928
      StackMap locals:
      StackMap stack:
            aload 0 /* property */
            instanceof java.lang.Double
            ifeq 6
         5: .line 1929
            aload 0 /* property */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(D)Z
            ireturn
         6: .line 1930
      StackMap locals:
      StackMap stack:
            aload 0 /* property */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 1931
            aload 0 /* property */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toStringIsString:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.propertyNameToArrayIndex:(Ljava/lang/String;)J
            lstore 1 /* idx */
        start local 1 // long idx
         8: .line 1932
            lload 1 /* idx */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
            ireturn
        end local 1 // long idx
         9: .line 1934
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Object property
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0  property  Ljava/lang/Object;
            8    9     1       idx  J
    MethodParameters:
          Name  Flags
      property  

  public static long castArrayIndex(double);
    descriptor: (D)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double doubleValue
         0: .line 1939
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            dload 0 /* doubleValue */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(D)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1940
      StackMap locals:
      StackMap stack:
            dload 0 /* doubleValue */
            d2l
            ldc 4294967295
            land
            lreturn
        end local 0 // double doubleValue
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  doubleValue  D
    MethodParameters:
             Name  Flags
      doubleValue  

  public static long castArrayIndex(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long longValue
         0: .line 1944
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            lload 0 /* longValue */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1945
      StackMap locals:
      StackMap stack:
            lload 0 /* longValue */
            lreturn
        end local 0 // long longValue
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  longValue  J
    MethodParameters:
           Name  Flags
      longValue  

  public static boolean isAsciiDigit(char);
    descriptor: (C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 1949
            bipush 48
            iload 0 /* c */
            if_icmpgt 1
            iload 0 /* c */
            bipush 57
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static long propertyNameToArrayIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String propertyName
         0: .line 1954
            aload 0 /* propertyName */
            ifnull 3
            aload 0 /* propertyName */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.arrayIndexLengthInRange:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 1955
            aload 0 /* propertyName */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
            ifeq 3
         2: .line 1956
            aload 0 /* propertyName */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.parseArrayIndexRaw:(Ljava/lang/String;)J
            lreturn
         3: .line 1959
      StackMap locals:
      StackMap stack:
            ldc -1
            lreturn
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0  propertyName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
              Name  Flags
      propertyName  

  public static boolean arrayIndexLengthInRange(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String index
         0: .line 1963
            aload 0 /* index */
            invokevirtual java.lang.String.length:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 1964
            iload 1 /* len */
            ifle 2
            iload 1 /* len */
            bipush 10
            if_icmpgt 2
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // int len
        end local 0 // java.lang.String index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  index  Ljava/lang/String;
            1    3     1    len  I
    MethodParameters:
       Name  Flags
      index  

  public static long propertyKeyToArrayIndex(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object propertyKey
         0: .line 1968
            aload 0 /* propertyKey */
            instanceof java.lang.String
            ifeq 1
            aload 0 /* propertyKey */
            checkcast java.lang.String
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.propertyNameToArrayIndex:(Ljava/lang/String;)J
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc -1
      StackMap locals:
      StackMap stack: long
         2: lreturn
        end local 0 // java.lang.Object propertyKey
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  propertyKey  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      propertyKey  

  public static long propertyNameToIntegerIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String propertyName
         0: .line 1973
            aload 0 /* propertyName */
            ifnull 3
            aload 0 /* propertyName */
            invokevirtual java.lang.String.length:()I
            ifle 3
            aload 0 /* propertyName */
            invokevirtual java.lang.String.length:()I
            bipush 16
            if_icmpgt 3
         1: .line 1974
            aload 0 /* propertyName */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
            ifeq 3
         2: .line 1975
            aload 0 /* propertyName */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.parseArrayIndexRaw:(Ljava/lang/String;)J
            lreturn
         3: .line 1978
      StackMap locals:
      StackMap stack:
            ldc -1
            lreturn
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0  propertyName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
              Name  Flags
      propertyName  

  public static long propertyKeyToIntegerIndex(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object propertyKey
         0: .line 1982
            aload 0 /* propertyKey */
            instanceof java.lang.String
            ifeq 1
            aload 0 /* propertyKey */
            checkcast java.lang.String
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.propertyNameToIntegerIndex:(Ljava/lang/String;)J
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc -1
      StackMap locals:
      StackMap stack: long
         2: lreturn
        end local 0 // java.lang.Object propertyKey
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  propertyKey  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      propertyKey  

  public static boolean isJSNative(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 value
         0: .line 1989
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSPrimitive:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSPrimitive(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 1993
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.BigInt
            ifne 1
            aload 0 /* value */
            instanceof java.lang.Boolean
            ifne 1
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 1
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 1
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isString(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 value
         0: .line 2000
            aload 0 /* value */
            instanceof java.lang.String
            ifne 1
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.String toStringIsString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 2004
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2005
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.String
            ifeq 3
         2: .line 2006
            aload 0 /* value */
            checkcast java.lang.String
            areturn
         3: .line 2008
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 4
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2009
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
            invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isLazyString(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 value
         0: .line 2017
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isStringClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 2021
            ldc Ljava/lang/String;
            aload 0 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 1
            ldc Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
            aload 0 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      clazz  

  public static java.lang.Object nullToUndefined(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 2025
            aload 0 /* value */
            ifnonnull 1
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* value */
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object undefinedToNull(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 2029
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* value */
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object toJSNull(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 2033
            aload 0 /* value */
            ifnonnull 1
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* value */
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object toJavaNull(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 2037
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* value */
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object jsObjectToJavaObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 2042
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 2043
            aload 0 /* obj */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         2: .line 2045
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.undefinedToNull:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toJavaNull:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      obj   

  public static boolean isPropertyKey(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 key
         0: .line 2050
            aload 0 /* key */
            instanceof java.lang.String
            ifne 1
            aload 0 /* key */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.Object key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public static java.lang.Object boxIndex(long, com.oracle.truffle.api.profiles.ConditionProfile);
    descriptor: (JLcom/oracle/truffle/api/profiles/ConditionProfile;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // long longIndex
        start local 2 // com.oracle.truffle.api.profiles.ConditionProfile indexInIntRangeConditionProfile
         0: .line 2054
            aload 2 /* indexInIntRangeConditionProfile */
            lload 0 /* longIndex */
            ldc 2147483647
            lcmp
            ifgt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
         1: iconst_0
      StackMap locals: long com.oracle.truffle.api.profiles.ConditionProfile
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
         2: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 4
         3: .line 2055
            lload 0 /* longIndex */
            l2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         4: .line 2057
      StackMap locals:
      StackMap stack:
            lload 0 /* longIndex */
            l2d
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        end local 2 // com.oracle.truffle.api.profiles.ConditionProfile indexInIntRangeConditionProfile
        end local 0 // long longIndex
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0    5     0                        longIndex  J
            0    5     2  indexInIntRangeConditionProfile  Lcom/oracle/truffle/api/profiles/ConditionProfile;
    MethodParameters:
                                 Name  Flags
      longIndex                        
      indexInIntRangeConditionProfile  

  public static com.oracle.truffle.js.runtime.BigInt stringToBigInt(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/BigInt;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 2064
            aload 0 /* s */
            invokestatic com.oracle.truffle.js.runtime.BigInt.valueOf:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/BigInt;
         1: areturn
         2: .line 2065
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
         3: .line 2066
            aconst_null
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     s  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.NumberFormatException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      s     

  public static int intValue(java.lang.Number);
    descriptor: (Ljava/lang/Number;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Number number
         0: .line 2074
            aload 0 /* number */
            instanceof java.lang.Integer
            ifeq 2
         1: .line 2075
            aload 0 /* number */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
         2: .line 2077
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            instanceof java.lang.Double
            ifeq 4
         3: .line 2078
            aload 0 /* number */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.intValue:()I
            ireturn
         4: .line 2080
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.intValueVirtual:(Ljava/lang/Number;)I
            ireturn
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  number  Ljava/lang/Number;
    MethodParameters:
        Name  Flags
      number  

  public static int intValueVirtual(java.lang.Number);
    descriptor: (Ljava/lang/Number;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Number number
         0: .line 2085
            aload 0 /* number */
            invokevirtual java.lang.Number.intValue:()I
            ireturn
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  number  Ljava/lang/Number;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      number  

  public static double doubleValue(java.lang.Number);
    descriptor: (Ljava/lang/Number;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Number number
         0: .line 2092
            aload 0 /* number */
            instanceof java.lang.Double
            ifeq 2
         1: .line 2093
            aload 0 /* number */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            dreturn
         2: .line 2095
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            instanceof java.lang.Integer
            ifeq 4
         3: .line 2096
            aload 0 /* number */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.doubleValue:()D
            dreturn
         4: .line 2098
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValueVirtual:(Ljava/lang/Number;)D
            dreturn
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  number  Ljava/lang/Number;
    MethodParameters:
        Name  Flags
      number  

  public static double doubleValue(java.lang.Number, com.oracle.truffle.api.profiles.BranchProfile);
    descriptor: (Ljava/lang/Number;Lcom/oracle/truffle/api/profiles/BranchProfile;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Number number
        start local 1 // com.oracle.truffle.api.profiles.BranchProfile profile
         0: .line 2102
            aload 0 /* number */
            instanceof java.lang.Double
            ifeq 2
         1: .line 2103
            aload 0 /* number */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            dreturn
         2: .line 2105
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            instanceof java.lang.Integer
            ifeq 4
         3: .line 2106
            aload 0 /* number */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.doubleValue:()D
            dreturn
         4: .line 2108
      StackMap locals:
      StackMap stack:
            aload 1 /* profile */
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
         5: .line 2109
            aload 0 /* number */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValueVirtual:(Ljava/lang/Number;)D
            dreturn
        end local 1 // com.oracle.truffle.api.profiles.BranchProfile profile
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0   number  Ljava/lang/Number;
            0    6     1  profile  Lcom/oracle/truffle/api/profiles/BranchProfile;
    MethodParameters:
         Name  Flags
      number   
      profile  

  public static double doubleValueVirtual(java.lang.Number);
    descriptor: (Ljava/lang/Number;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Number number
         0: .line 2114
            aload 0 /* number */
            invokevirtual java.lang.Number.doubleValue:()D
            dreturn
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  number  Ljava/lang/Number;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      number  

  public static float floatValue(java.lang.Number);
    descriptor: (Ljava/lang/Number;)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Number n
         0: .line 2121
            aload 0 /* n */
            instanceof java.lang.Double
            ifeq 2
         1: .line 2122
            aload 0 /* n */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.floatValue:()F
            freturn
         2: .line 2124
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            instanceof java.lang.Integer
            ifeq 4
         3: .line 2125
            aload 0 /* n */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.floatValue:()F
            freturn
         4: .line 2127
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.floatValueVirtual:(Ljava/lang/Number;)F
            freturn
        end local 0 // java.lang.Number n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     n  Ljava/lang/Number;
    MethodParameters:
      Name  Flags
      n     

  public static float floatValueVirtual(java.lang.Number);
    descriptor: (Ljava/lang/Number;)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Number n
         0: .line 2132
            aload 0 /* n */
            invokevirtual java.lang.Number.floatValue:()F
            freturn
        end local 0 // java.lang.Number n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  Ljava/lang/Number;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      n     

  public static long longValue(java.lang.Number);
    descriptor: (Ljava/lang/Number;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Number n
         0: .line 2139
            aload 0 /* n */
            instanceof java.lang.Integer
            ifeq 2
         1: .line 2140
            aload 0 /* n */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.longValue:()J
            lreturn
         2: .line 2142
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            instanceof java.lang.Double
            ifeq 4
         3: .line 2143
            aload 0 /* n */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.longValue:()J
            lreturn
         4: .line 2145
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            instanceof com.oracle.truffle.js.runtime.SafeInteger
            ifeq 6
         5: .line 2146
            aload 0 /* n */
            checkcast com.oracle.truffle.js.runtime.SafeInteger
            invokevirtual com.oracle.truffle.js.runtime.SafeInteger.longValue:()J
            lreturn
         6: .line 2148
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.longValueVirtual:(Ljava/lang/Number;)J
            lreturn
        end local 0 // java.lang.Number n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     n  Ljava/lang/Number;
    MethodParameters:
      Name  Flags
      n     

  private static long longValueVirtual(java.lang.Number);
    descriptor: (Ljava/lang/Number;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Number n
         0: .line 2153
            aload 0 /* n */
            invokevirtual java.lang.Number.longValue:()J
            lreturn
        end local 0 // java.lang.Number n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  Ljava/lang/Number;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      n     

  public static long toLong(java.lang.Number);
    descriptor: (Ljava/lang/Number;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Number value
         0: .line 2160
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.longValue:(Ljava/lang/Number;)J
            lreturn
        end local 0 // java.lang.Number value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Number;
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.String stringConcat(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.String first
        start local 1 // java.lang.String second
         0: .line 2168
            new java.lang.StringBuilder
            dup
            aload 0 /* first */
            invokevirtual java.lang.String.length:()I
            aload 1 /* second */
            invokevirtual java.lang.String.length:()I
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* stringBuilder */
        start local 2 // java.lang.StringBuilder stringBuilder
         1: .line 2169
            aload 2 /* stringBuilder */
            aload 0 /* first */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* second */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 2170
            aload 2 /* stringBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder stringBuilder
        end local 1 // java.lang.String second
        end local 0 // java.lang.String first
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0          first  Ljava/lang/String;
            0    3     1         second  Ljava/lang/String;
            1    3     2  stringBuilder  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      first   
      second  

  public static com.oracle.truffle.api.object.DynamicObject fromPropertyDescriptor(com.oracle.truffle.js.runtime.objects.PropertyDescriptor, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.objects.PropertyDescriptor desc
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 2176
            aload 0 /* desc */
            ifnonnull 2
         1: .line 2177
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            areturn
         2: .line 2179
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 2 /* obj */
        start local 2 // com.oracle.truffle.api.object.DynamicObject obj
         3: .line 2180
            aload 0 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasValue:()Z
            ifeq 5
         4: .line 2181
            aload 2 /* obj */
            ldc "value"
            aload 0 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getValue:()Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         5: .line 2183
      StackMap locals: com.oracle.truffle.api.object.DynamicObject
      StackMap stack:
            aload 0 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasWritable:()Z
            ifeq 7
         6: .line 2184
            aload 2 /* obj */
            ldc "writable"
            aload 0 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getWritable:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         7: .line 2186
      StackMap locals:
      StackMap stack:
            aload 0 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasGet:()Z
            ifeq 9
         8: .line 2187
            aload 2 /* obj */
            ldc "get"
            aload 0 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getGet:()Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         9: .line 2189
      StackMap locals:
      StackMap stack:
            aload 0 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasSet:()Z
            ifeq 11
        10: .line 2190
            aload 2 /* obj */
            ldc "set"
            aload 0 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getSet:()Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        11: .line 2192
      StackMap locals:
      StackMap stack:
            aload 0 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasEnumerable:()Z
            ifeq 13
        12: .line 2193
            aload 2 /* obj */
            ldc "enumerable"
            aload 0 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getEnumerable:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        13: .line 2195
      StackMap locals:
      StackMap stack:
            aload 0 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasConfigurable:()Z
            ifeq 15
        14: .line 2196
            aload 2 /* obj */
            ldc "configurable"
            aload 0 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getConfigurable:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        15: .line 2198
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            areturn
        end local 2 // com.oracle.truffle.api.object.DynamicObject obj
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.runtime.objects.PropertyDescriptor desc
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     desc  Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
            0   16     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            3   16     2      obj  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
         Name  Flags
      desc     
      context  

  public static java.lang.Object getArgOrUndefined(java.lang.Object[], int);
    descriptor: ([Ljava/lang/Object;I)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object[] args
        start local 1 // int i
         0: .line 2202
            aload 0 /* args */
            arraylength
            iload 1 /* i */
            if_icmple 1
            aload 0 /* args */
            iload 1 /* i */
            aaload
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 1 // int i
        end local 0 // java.lang.Object[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  args  [Ljava/lang/Object;
            0    3     1     i  I
    MethodParameters:
      Name  Flags
      args  
      i     

  public static java.lang.Object getArg(java.lang.Object[], int, java.lang.Object);
    descriptor: ([Ljava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.Object[] args
        start local 1 // int i
        start local 2 // java.lang.Object defaultValue
         0: .line 2206
            aload 0 /* args */
            arraylength
            iload 1 /* i */
            if_icmple 1
            aload 0 /* args */
            iload 1 /* i */
            aaload
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* defaultValue */
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 2 // java.lang.Object defaultValue
        end local 1 // int i
        end local 0 // java.lang.Object[] args
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          args  [Ljava/lang/Object;
            0    3     1             i  I
            0    3     2  defaultValue  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      args          
      i             
      defaultValue  

  public static long getOffset(long, long, com.oracle.truffle.api.profiles.ConditionProfile);
    descriptor: (JJLcom/oracle/truffle/api/profiles/ConditionProfile;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // long start
        start local 2 // long length
        start local 4 // com.oracle.truffle.api.profiles.ConditionProfile profile
         0: .line 2210
            aload 4 /* profile */
            lload 0 /* start */
            lconst_0
            lcmp
            ifge 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
         1: iconst_0
      StackMap locals: long long com.oracle.truffle.api.profiles.ConditionProfile
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
         2: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 4
         3: .line 2211
            lload 0 /* start */
            lload 2 /* length */
            ladd
            lconst_0
            invokestatic java.lang.Math.max:(JJ)J
            lreturn
         4: .line 2213
      StackMap locals:
      StackMap stack:
            lload 0 /* start */
            lload 2 /* length */
            invokestatic java.lang.Math.min:(JJ)J
            lreturn
        end local 4 // com.oracle.truffle.api.profiles.ConditionProfile profile
        end local 2 // long length
        end local 0 // long start
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0    start  J
            0    5     2   length  J
            0    5     4  profile  Lcom/oracle/truffle/api/profiles/ConditionProfile;
    MethodParameters:
         Name  Flags
      start    
      length   
      profile  

  public static int getOffset(int, int, com.oracle.truffle.api.profiles.ConditionProfile);
    descriptor: (IILcom/oracle/truffle/api/profiles/ConditionProfile;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // int start
        start local 1 // int length
        start local 2 // com.oracle.truffle.api.profiles.ConditionProfile profile
         0: .line 2218
            aload 2 /* profile */
            iload 0 /* start */
            ifge 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
         1: iconst_0
      StackMap locals: int int com.oracle.truffle.api.profiles.ConditionProfile
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
         2: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 4
         3: .line 2219
            iload 0 /* start */
            iload 1 /* length */
            iadd
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            ireturn
         4: .line 2221
      StackMap locals:
      StackMap stack:
            iload 0 /* start */
            iload 1 /* length */
            invokestatic java.lang.Math.min:(II)I
            ireturn
        end local 2 // com.oracle.truffle.api.profiles.ConditionProfile profile
        end local 1 // int length
        end local 0 // int start
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0    start  I
            0    5     1   length  I
            0    5     2  profile  Lcom/oracle/truffle/api/profiles/ConditionProfile;
    MethodParameters:
         Name  Flags
      start    
      length   
      profile  

  public static long parseSafeInteger(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 2227
            aload 0 /* s */
            iconst_0
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            bipush 10
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.parseSafeInteger:(Ljava/lang/String;III)J
            lreturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      s     

  public static long parseSafeInteger(java.lang.String, int, int, int);
    descriptor: (Ljava/lang/String;III)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // java.lang.String s
        start local 1 // int beginIndex
        start local 2 // int endIndex
        start local 3 // int radix
         0: .line 2232
            aload 0 /* s */
            iload 1 /* beginIndex */
            iload 2 /* endIndex */
            iload 3 /* radix */
            iload 3 /* radix */
            bipush 10
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals: java.lang.String int int int
      StackMap stack: java.lang.String int int int
         1: iconst_0
      StackMap locals: java.lang.String int int int
      StackMap stack: java.lang.String int int int int
         2: getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER_LONG:J
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.parseLong:(Ljava/lang/String;IIIZJ)J
            lreturn
        end local 3 // int radix
        end local 2 // int endIndex
        end local 1 // int beginIndex
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0           s  Ljava/lang/String;
            0    3     1  beginIndex  I
            0    3     2    endIndex  I
            0    3     3       radix  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
            Name  Flags
      s           
      beginIndex  
      endIndex    
      radix       

  private static long parseLong(java.lang.String, int, int, int, boolean, long);
    descriptor: (Ljava/lang/String;IIIZJ)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=13, args_size=6
        start local 0 // java.lang.String s
        start local 1 // int beginIndex
        start local 2 // int endIndex
        start local 3 // int radix
        start local 4 // boolean parseSign
        start local 5 // long limit
         0: .line 2242
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 2
            iload 1 /* beginIndex */
            iflt 1
            iload 1 /* beginIndex */
            iload 2 /* endIndex */
            if_icmpgt 1
            iload 2 /* endIndex */
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2243
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 4
            iload 3 /* radix */
            iconst_2
            if_icmplt 3
            iload 3 /* radix */
            bipush 36
            if_icmple 4
      StackMap locals:
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2244
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 5
            lload 5 /* limit */
            ldc 9223372036854775807
            iload 3 /* radix */
            i2l
            ldiv
            iload 3 /* radix */
            i2l
            lsub
            lcmp
            ifle 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 2246
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* negative */
        start local 7 // boolean negative
         6: .line 2247
            iload 1 /* beginIndex */
            istore 8 /* i */
        start local 8 // int i
         7: .line 2248
            iload 8 /* i */
            iload 2 /* endIndex */
            if_icmplt 9
         8: .line 2249
            ldc -9223372036854775808
            lreturn
         9: .line 2251
      StackMap locals: int int
      StackMap stack:
            iload 4 /* parseSign */
            ifeq 20
        10: .line 2252
            aload 0 /* s */
            iload 8 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 9 /* firstChar */
        start local 9 // char firstChar
        11: .line 2253
            iload 9 /* firstChar */
            bipush 48
            if_icmpge 18
        12: .line 2254
            iload 9 /* firstChar */
            bipush 45
            if_icmpne 15
        13: .line 2255
            iconst_1
            istore 7 /* negative */
        14: .line 2256
            goto 17
      StackMap locals: int
      StackMap stack:
        15: iload 9 /* firstChar */
            bipush 43
            if_icmpeq 17
        16: .line 2257
            ldc -9223372036854775808
            lreturn
        17: .line 2259
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
        18: .line 2261
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            iload 2 /* endIndex */
            if_icmplt 20
        19: .line 2262
            ldc -9223372036854775808
            lreturn
        end local 9 // char firstChar
        20: .line 2266
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 9 /* result */
        start local 9 // long result
        21: .line 2267
            goto 31
        22: .line 2268
      StackMap locals: long
      StackMap stack:
            aload 0 /* s */
            iload 8 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 11 /* c */
        start local 11 // char c
        23: .line 2269
            iload 11 /* c */
            iload 3 /* radix */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.valueInRadix:(CI)I
            istore 12 /* digit */
        start local 12 // int digit
        24: .line 2270
            iload 12 /* digit */
            ifge 26
        25: .line 2271
            ldc -9223372036854775808
            lreturn
        26: .line 2273
      StackMap locals: int int
      StackMap stack:
            lload 9 /* result */
            iload 3 /* radix */
            i2l
            lmul
            lstore 9 /* result */
        27: .line 2274
            lload 9 /* result */
            iload 12 /* digit */
            i2l
            ladd
            lstore 9 /* result */
        28: .line 2275
            lload 9 /* result */
            lload 5 /* limit */
            lcmp
            ifle 30
        29: .line 2276
            ldc -9223372036854775808
            lreturn
        30: .line 2278
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
        end local 12 // int digit
        end local 11 // char c
        31: .line 2267
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            iload 2 /* endIndex */
            if_icmplt 22
        32: .line 2280
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 33
            lload 9 /* result */
            lconst_0
            lcmp
            ifge 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 2281
      StackMap locals:
      StackMap stack:
            iload 7 /* negative */
            ifeq 35
            lload 9 /* result */
            lconst_0
            lcmp
            ifne 35
        34: .line 2282
            ldc -9223372036854775808
            lreturn
        35: .line 2284
      StackMap locals:
      StackMap stack:
            iload 7 /* negative */
            ifeq 36
            lload 9 /* result */
            lneg
            goto 37
      StackMap locals:
      StackMap stack:
        36: lload 9 /* result */
      StackMap locals:
      StackMap stack: long
        37: lreturn
        end local 9 // long result
        end local 8 // int i
        end local 7 // boolean negative
        end local 5 // long limit
        end local 4 // boolean parseSign
        end local 3 // int radix
        end local 2 // int endIndex
        end local 1 // int beginIndex
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   38     0           s  Ljava/lang/String;
            0   38     1  beginIndex  I
            0   38     2    endIndex  I
            0   38     3       radix  I
            0   38     4   parseSign  Z
            0   38     5       limit  J
            6   38     7    negative  Z
            7   38     8           i  I
           11   20     9   firstChar  C
           21   38     9      result  J
           23   31    11           c  C
           24   31    12       digit  I
    MethodParameters:
            Name  Flags
      s           
      beginIndex  
      endIndex    
      radix       
      parseSign   
      limit       

  public static java.lang.Number parseRawFitsLong(java.lang.String, int, int, int, boolean);
    descriptor: (Ljava/lang/String;IIIZ)Ljava/lang/Number;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=5
        start local 0 // java.lang.String string
        start local 1 // int radix
        start local 2 // int startPos
        start local 3 // int endPos
        start local 4 // boolean negate
         0: .line 2289
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            iload 2 /* startPos */
            iload 3 /* endPos */
            if_icmplt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2290
      StackMap locals:
      StackMap stack:
            iload 2 /* startPos */
            istore 5 /* pos */
        start local 5 // int pos
         2: .line 2292
            lconst_0
            lstore 6 /* value */
        start local 6 // long value
         3: .line 2293
            goto 13
         4: .line 2294
      StackMap locals: int long
      StackMap stack:
            aload 0 /* string */
            iload 5 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* c */
        start local 8 // char c
         5: .line 2295
            iload 8 /* c */
            iload 1 /* radix */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.valueInRadix:(CI)I
            istore 9 /* cval */
        start local 9 // int cval
         6: .line 2296
            iload 9 /* cval */
            ifge 10
         7: .line 2297
            iload 5 /* pos */
            iload 2 /* startPos */
            if_icmpeq 9
         8: .line 2298
            goto 14
         9: .line 2300
      StackMap locals: int int
      StackMap stack:
            ldc NaN
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        10: .line 2303
      StackMap locals:
      StackMap stack:
            lload 6 /* value */
            iload 1 /* radix */
            i2l
            lmul
            lstore 6 /* value */
        11: .line 2304
            lload 6 /* value */
            iload 9 /* cval */
            i2l
            ladd
            lstore 6 /* value */
        12: .line 2305
            iinc 5 /* pos */ 1
        end local 9 // int cval
        end local 8 // char c
        13: .line 2293
      StackMap locals:
      StackMap stack:
            iload 5 /* pos */
            iload 3 /* endPos */
            if_icmplt 4
        14: .line 2307
      StackMap locals:
      StackMap stack:
            lload 6 /* value */
            lconst_0
            lcmp
            ifne 16
            iload 4 /* negate */
            ifeq 16
            aload 0 /* string */
            iload 2 /* startPos */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 48
            if_icmpne 16
        15: .line 2308
            ldc -0.0
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        16: .line 2311
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 17
            lload 6 /* value */
            lconst_0
            lcmp
            ifge 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 2312
      StackMap locals:
      StackMap stack:
            iload 4 /* negate */
            ifeq 18
            lload 6 /* value */
            lneg
            goto 19
      StackMap locals:
      StackMap stack:
        18: lload 6 /* value */
      StackMap locals:
      StackMap stack: long
        19: lstore 8 /* signedValue */
        start local 8 // long signedValue
        20: .line 2314
            lload 6 /* value */
            ldc 2147483647
            lcmp
            ifgt 22
        21: .line 2315
            lload 8 /* signedValue */
            l2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        22: .line 2317
      StackMap locals: long
      StackMap stack:
            lload 8 /* signedValue */
            l2d
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        end local 8 // long signedValue
        end local 6 // long value
        end local 5 // int pos
        end local 4 // boolean negate
        end local 3 // int endPos
        end local 2 // int startPos
        end local 1 // int radix
        end local 0 // java.lang.String string
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0       string  Ljava/lang/String;
            0   23     1        radix  I
            0   23     2     startPos  I
            0   23     3       endPos  I
            0   23     4       negate  Z
            2   23     5          pos  I
            3   23     6        value  J
            5   13     8            c  C
            6   13     9         cval  I
           20   23     8  signedValue  J
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      string    
      radix     
      startPos  
      endPos    
      negate    

  public static double parseRawDontFitLong(java.lang.String, int, int, int, boolean);
    descriptor: (Ljava/lang/String;IIIZ)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=5
        start local 0 // java.lang.String string
        start local 1 // int radix
        start local 2 // int startPos
        start local 3 // int endPos
        start local 4 // boolean negate
         0: .line 2323
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            iload 2 /* startPos */
            iload 3 /* endPos */
            if_icmplt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2324
      StackMap locals:
      StackMap stack:
            iload 2 /* startPos */
            istore 5 /* pos */
        start local 5 // int pos
         2: .line 2326
            dconst_0
            dstore 6 /* value */
        start local 6 // double value
         3: .line 2327
            goto 13
         4: .line 2328
      StackMap locals: int double
      StackMap stack:
            aload 0 /* string */
            iload 5 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* c */
        start local 8 // char c
         5: .line 2329
            iload 8 /* c */
            iload 1 /* radix */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.valueInRadix:(CI)I
            istore 9 /* cval */
        start local 9 // int cval
         6: .line 2330
            iload 9 /* cval */
            ifge 10
         7: .line 2331
            iload 5 /* pos */
            iload 2 /* startPos */
            if_icmpeq 9
         8: .line 2332
            goto 14
         9: .line 2334
      StackMap locals: int int
      StackMap stack:
            ldc NaN
            dreturn
        10: .line 2337
      StackMap locals:
      StackMap stack:
            dload 6 /* value */
            iload 1 /* radix */
            i2d
            dmul
            dstore 6 /* value */
        11: .line 2338
            dload 6 /* value */
            iload 9 /* cval */
            i2d
            dadd
            dstore 6 /* value */
        12: .line 2339
            iinc 5 /* pos */ 1
        end local 9 // int cval
        end local 8 // char c
        13: .line 2327
      StackMap locals:
      StackMap stack:
            iload 5 /* pos */
            iload 3 /* endPos */
            if_icmplt 4
        14: .line 2342
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 15
            dload 6 /* value */
            dconst_0
            dcmpl
            ifge 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        15: .line 2343
      StackMap locals:
      StackMap stack:
            iload 4 /* negate */
            ifeq 16
            dload 6 /* value */
            dneg
            goto 17
      StackMap locals:
      StackMap stack:
        16: dload 6 /* value */
      StackMap locals:
      StackMap stack: double
        17: dreturn
        end local 6 // double value
        end local 5 // int pos
        end local 4 // boolean negate
        end local 3 // int endPos
        end local 2 // int startPos
        end local 1 // int radix
        end local 0 // java.lang.String string
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0    string  Ljava/lang/String;
            0   18     1     radix  I
            0   18     2  startPos  I
            0   18     3    endPos  I
            0   18     4    negate  Z
            2   18     5       pos  I
            3   18     6     value  D
            5   13     8         c  C
            6   13     9      cval  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      string    
      radix     
      startPos  
      endPos    
      negate    

  public static boolean createDataProperty(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.object.DynamicObject o
        start local 1 // java.lang.Object p
        start local 2 // java.lang.Object v
         0: .line 2350
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* o */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2351
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 2
            aload 1 /* p */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPropertyKey:(Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2352
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            aload 1 /* p */
            aload 2 /* v */
            invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createDataDefault:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.defineOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;)Z
            ireturn
        end local 2 // java.lang.Object v
        end local 1 // java.lang.Object p
        end local 0 // com.oracle.truffle.api.object.DynamicObject o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     o  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     1     p  Ljava/lang/Object;
            0    3     2     v  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     
      p     
      v     

  public static boolean createDataProperty(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, java.lang.Object, boolean);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.oracle.truffle.api.object.DynamicObject o
        start local 1 // java.lang.Object p
        start local 2 // java.lang.Object v
        start local 3 // boolean doThrow
         0: .line 2356
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* o */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2357
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 2
            aload 1 /* p */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPropertyKey:(Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2358
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            aload 1 /* p */
            aload 2 /* v */
            invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createDataDefault:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
            iload 3 /* doThrow */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.defineOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;Z)Z
            istore 4 /* success */
        start local 4 // boolean success
         3: .line 2359
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 4
            iload 3 /* doThrow */
            ifeq 4
            iload 4 /* success */
            ifne 4
            new java.lang.AssertionError
            dup
            ldc "should have thrown"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2360
      StackMap locals: int
      StackMap stack:
            iload 4 /* success */
            ireturn
        end local 4 // boolean success
        end local 3 // boolean doThrow
        end local 2 // java.lang.Object v
        end local 1 // java.lang.Object p
        end local 0 // com.oracle.truffle.api.object.DynamicObject o
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0        o  Lcom/oracle/truffle/api/object/DynamicObject;
            0    5     1        p  Ljava/lang/Object;
            0    5     2        v  Ljava/lang/Object;
            0    5     3  doThrow  Z
            3    5     4  success  Z
    MethodParameters:
         Name  Flags
      o        
      p        
      v        
      doThrow  

  public static boolean createDataPropertyOrThrow(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.object.DynamicObject o
        start local 1 // java.lang.Object p
        start local 2 // java.lang.Object v
         0: .line 2367
            aload 0 /* o */
            aload 1 /* p */
            aload 2 /* v */
            iconst_1
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.createDataProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Z)Z
            ireturn
        end local 2 // java.lang.Object v
        end local 1 // java.lang.Object p
        end local 0 // com.oracle.truffle.api.object.DynamicObject o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     o  Lcom/oracle/truffle/api/object/DynamicObject;
            0    1     1     p  Ljava/lang/Object;
            0    1     2     v  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     
      p     
      v     

  public static void definePropertyOrThrow(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, com.oracle.truffle.js.runtime.objects.PropertyDescriptor);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.object.DynamicObject o
        start local 1 // java.lang.Object key
        start local 2 // com.oracle.truffle.js.runtime.objects.PropertyDescriptor desc
         0: .line 2374
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* o */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2375
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 2
            aload 1 /* key */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPropertyKey:(Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2376
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            aload 0 /* o */
            aload 1 /* key */
            aload 2 /* desc */
            iconst_1
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.defineOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;Z)Z
            istore 3 /* success */
        start local 3 // boolean success
         3: .line 2377
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 4
            iload 3 /* success */
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2378
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // boolean success
        end local 2 // com.oracle.truffle.js.runtime.objects.PropertyDescriptor desc
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.api.object.DynamicObject o
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0        o  Lcom/oracle/truffle/api/object/DynamicObject;
            0    5     1      key  Ljava/lang/Object;
            0    5     2     desc  Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
            3    5     3  success  Z
    MethodParameters:
      Name  Flags
      o     
      key   
      desc  

  public static boolean isPrototypeOf(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.object.DynamicObject object
        start local 1 // com.oracle.truffle.api.object.DynamicObject prototype
         0: .line 2381
            aload 0 /* object */
            astore 2 /* prototypeChainObject */
        start local 2 // com.oracle.truffle.api.object.DynamicObject prototypeChainObject
         1: .line 2383
      StackMap locals: com.oracle.truffle.api.object.DynamicObject
      StackMap stack:
            aload 2 /* prototypeChainObject */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 2 /* prototypeChainObject */
         2: .line 2384
            aload 2 /* prototypeChainObject */
            aload 1 /* prototype */
            if_acmpne 4
         3: .line 2385
            iconst_1
            ireturn
         4: .line 2387
      StackMap locals:
      StackMap stack:
            aload 2 /* prototypeChainObject */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 1
         5: .line 2388
            iconst_0
            ireturn
        end local 2 // com.oracle.truffle.api.object.DynamicObject prototypeChainObject
        end local 1 // com.oracle.truffle.api.object.DynamicObject prototype
        end local 0 // com.oracle.truffle.api.object.DynamicObject object
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    6     0                object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    6     1             prototype  Lcom/oracle/truffle/api/object/DynamicObject;
            1    6     2  prototypeChainObject  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
           Name  Flags
      object     
      prototype  

  public static com.oracle.truffle.api.object.DynamicObject createArrayFromList(com.oracle.truffle.js.runtime.JSContext, java.util.List<? extends java.lang.Object>);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/List;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // java.util.List list
         0: .line 2395
            aload 0 /* context */
            aload 1 /* list */
            invokestatic com.oracle.truffle.js.runtime.Boundaries.listToArray:(Ljava/util/List;)[Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createConstant:(Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 1 // java.util.List list
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     1     list  Ljava/util/List<+Ljava/lang/Object;>;
    Signature: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/List<+Ljava/lang/Object;>;)Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
         Name  Flags
      context  
      list     

  public static boolean isCallable(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 value
         0: .line 2402
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 2403
            iconst_1
            ireturn
         2: .line 2404
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 2405
            aload 0 /* value */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallableProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ireturn
         4: .line 2406
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.api.interop.TruffleObject
            ifeq 6
         5: .line 2407
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallableForeign:(Ljava/lang/Object;)Z
            ireturn
         6: .line 2409
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isCallableIsJSObject(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject value
         0: .line 2413
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2414
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 2415
            iconst_1
            ireturn
         3: .line 2416
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 2417
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallableProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ireturn
         5: .line 2419
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  value  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isCallableForeign(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 2424
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 2425
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 1 /* interop */
        start local 1 // com.oracle.truffle.api.interop.InteropLibrary interop
         2: .line 2426
            aload 1 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
            ifne 3
            aload 1 /* interop */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstantiable:(Ljava/lang/Object;)Z
            ifne 3
            iconst_0
            ireturn
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // com.oracle.truffle.api.interop.InteropLibrary interop
         4: .line 2428
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0    value  Ljava/lang/Object;
            2    4     1  interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static boolean isCallableProxy(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject proxy
         0: .line 2433
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* proxy */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2434
      StackMap locals:
      StackMap stack:
            aload 0 /* proxy */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            astore 1 /* target */
        start local 1 // java.lang.Object target
         2: .line 2435
            aload 1 /* target */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 3
            aload 0 /* proxy */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isRevokedCallableProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            goto 4
      StackMap locals: java.lang.Object
      StackMap stack:
         3: aload 1 /* target */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallable:(Ljava/lang/Object;)Z
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 1 // java.lang.Object target
        end local 0 // com.oracle.truffle.api.object.DynamicObject proxy
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0   proxy  Lcom/oracle/truffle/api/object/DynamicObject;
            2    5     1  target  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      proxy  

  public static boolean isRevokedCallableProxy(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject revokedProxy
         0: .line 2439
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 2
            aload 0 /* revokedProxy */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifeq 1
            aload 0 /* revokedProxy */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isRevoked:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2440
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aload 0 /* revokedProxy */
            getstatic com.oracle.truffle.js.runtime.builtins.JSProxy.REVOKED_CALLABLE:Lcom/oracle/truffle/api/object/HiddenKey;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            if_acmpne 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject revokedProxy
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0  revokedProxy  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
              Name  Flags
      revokedProxy  

  public static boolean isArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 2447
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.isJSArray:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 2448
            iconst_1
            ireturn
         2: .line 2449
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 2450
            aload 0 /* obj */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isProxyAnArray:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ireturn
         4: .line 2451
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 2452
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            aload 0 /* obj */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ireturn
         6: .line 2454
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public static boolean isProxyAnArray(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject proxy
         0: .line 2459
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* proxy */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2460
      StackMap locals:
      StackMap stack:
            aload 0 /* proxy */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isRevoked:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifeq 3
         2: .line 2461
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorProxyRevoked:()Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         3: .line 2463
      StackMap locals:
      StackMap stack:
            aload 0 /* proxy */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayProxyRecurse:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ireturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject proxy
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  proxy  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      proxy  

  private static boolean isArrayProxyRecurse(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject proxy
         0: .line 2468
            aload 0 /* proxy */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArray:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject proxy
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  proxy  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      proxy  

  public static java.lang.Object toPropertyKey(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object arg
         0: .line 2476
            aload 0 /* arg */
            instanceof java.lang.String
            ifeq 2
         1: .line 2477
            aload 0 /* arg */
            areturn
         2: .line 2479
      StackMap locals:
      StackMap stack:
            aload 0 /* arg */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPrimitive:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* key */
        start local 1 // java.lang.Object key
         3: .line 2480
            aload 1 /* key */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ifeq 5
         4: .line 2481
            aload 1 /* key */
            areturn
         5: .line 2482
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* key */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 2483
            aload 1 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         7: .line 2485
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // java.lang.Object arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0   arg  Ljava/lang/Object;
            3    8     1   key  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      arg   

  public static java.lang.Object call(java.lang.Object, java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.Object fnObj
        start local 1 // java.lang.Object holder
        start local 2 // java.lang.Object[] arguments
         0: .line 2492
            aload 0 /* fnObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 2493
            aload 0 /* fnObj */
            checkcast com.oracle.truffle.api.object.DynamicObject
            aload 1 /* holder */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.call:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 2494
      StackMap locals:
      StackMap stack:
            aload 0 /* fnObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 2495
            aload 0 /* fnObj */
            checkcast com.oracle.truffle.api.object.DynamicObject
            aload 1 /* holder */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.call:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         4: .line 2496
      StackMap locals:
      StackMap stack:
            aload 0 /* fnObj */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 2497
            aload 0 /* fnObj */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.js.runtime.interop.JSInteropUtil.call:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         6: .line 2499
      StackMap locals:
      StackMap stack:
            aload 0 /* fnObj */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotAFunction:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.Object fnObj
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0      fnObj  Ljava/lang/Object;
            0    7     1     holder  Ljava/lang/Object;
            0    7     2  arguments  [Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      fnObj      
      holder     
      arguments  

  public static java.lang.Object call(java.lang.Object, java.lang.Object, java.lang.Object[], com.oracle.truffle.api.nodes.Node);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // java.lang.Object fnObj
        start local 1 // java.lang.Object holder
        start local 2 // java.lang.Object[] arguments
        start local 3 // com.oracle.truffle.api.nodes.Node encapsulatingNode
         0: .line 2504
            aconst_null
            astore 4 /* encapsulating */
        start local 4 // com.oracle.truffle.api.nodes.EncapsulatingNodeReference encapsulating
         1: .line 2505
            aconst_null
            astore 5 /* prev */
        start local 5 // com.oracle.truffle.api.nodes.Node prev
         2: .line 2506
            aload 3 /* encapsulatingNode */
            ifnull 5
         3: .line 2507
            invokestatic com.oracle.truffle.api.nodes.EncapsulatingNodeReference.getCurrent:()Lcom/oracle/truffle/api/nodes/EncapsulatingNodeReference;
            astore 4 /* encapsulating */
         4: .line 2508
            aload 4 /* encapsulating */
            aload 3 /* encapsulatingNode */
            invokevirtual com.oracle.truffle.api.nodes.EncapsulatingNodeReference.set:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            astore 5 /* prev */
         5: .line 2511
      StackMap locals: com.oracle.truffle.api.nodes.EncapsulatingNodeReference com.oracle.truffle.api.nodes.Node
      StackMap stack:
            aload 0 /* fnObj */
            aload 1 /* holder */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.call:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
         6: .line 2513
            aload 3 /* encapsulatingNode */
            ifnull 8
         7: .line 2514
            aload 4 /* encapsulating */
            aload 5 /* prev */
            invokevirtual com.oracle.truffle.api.nodes.EncapsulatingNodeReference.set:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            pop
         8: .line 2511
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object[] com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.nodes.EncapsulatingNodeReference com.oracle.truffle.api.nodes.Node top java.lang.Object
      StackMap stack:
            aload 7
            areturn
         9: .line 2512
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object[] com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.nodes.EncapsulatingNodeReference com.oracle.truffle.api.nodes.Node
      StackMap stack: java.lang.Throwable
            astore 6
        10: .line 2513
            aload 3 /* encapsulatingNode */
            ifnull 12
        11: .line 2514
            aload 4 /* encapsulating */
            aload 5 /* prev */
            invokevirtual com.oracle.truffle.api.nodes.EncapsulatingNodeReference.set:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            pop
        12: .line 2516
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        end local 5 // com.oracle.truffle.api.nodes.Node prev
        end local 4 // com.oracle.truffle.api.nodes.EncapsulatingNodeReference encapsulating
        end local 3 // com.oracle.truffle.api.nodes.Node encapsulatingNode
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.Object fnObj
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0              fnObj  Ljava/lang/Object;
            0   13     1             holder  Ljava/lang/Object;
            0   13     2          arguments  [Ljava/lang/Object;
            0   13     3  encapsulatingNode  Lcom/oracle/truffle/api/nodes/Node;
            1   13     4      encapsulating  Lcom/oracle/truffle/api/nodes/EncapsulatingNodeReference;
            2   13     5               prev  Lcom/oracle/truffle/api/nodes/Node;
      Exception table:
        from    to  target  type
           5     6       9  any
    MethodParameters:
                   Name  Flags
      fnObj              
      holder             
      arguments          
      encapsulatingNode  

  public static java.lang.Object construct(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object fnObj
        start local 1 // java.lang.Object[] arguments
         0: .line 2520
            aload 0 /* fnObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 2521
            aload 0 /* fnObj */
            checkcast com.oracle.truffle.api.object.DynamicObject
            aload 1 /* arguments */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.construct:(Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 2522
      StackMap locals:
      StackMap stack:
            aload 0 /* fnObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 2523
            aload 0 /* fnObj */
            checkcast com.oracle.truffle.api.object.DynamicObject
            aload 1 /* arguments */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.construct:(Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         4: .line 2524
      StackMap locals:
      StackMap stack:
            aload 0 /* fnObj */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 2525
            aload 0 /* fnObj */
            aload 1 /* arguments */
            invokestatic com.oracle.truffle.js.runtime.interop.JSInteropUtil.construct:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         6: .line 2527
      StackMap locals:
      StackMap stack:
            aload 0 /* fnObj */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotAFunction:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 1 // java.lang.Object[] arguments
        end local 0 // java.lang.Object fnObj
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0      fnObj  Ljava/lang/Object;
            0    7     1  arguments  [Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      fnObj      
      arguments  

  public static java.lang.Object canonicalNumericIndexString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String s
         0: .line 2536
            aload 0 /* s */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 1
            aload 0 /* s */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumericIndexStart:(C)Z
            ifne 2
         1: .line 2537
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            areturn
         2: .line 2539
      StackMap locals:
      StackMap stack:
            ldc "-0"
            aload 0 /* s */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 2540
            ldc -0.0
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         4: .line 2542
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumber:(Ljava/lang/String;)Ljava/lang/Number;
            astore 1 /* n */
        start local 1 // java.lang.Number n
         5: .line 2543
            aload 1 /* n */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.numberToString:(Ljava/lang/Number;)Ljava/lang/String;
            aload 0 /* s */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 2544
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            areturn
         7: .line 2546
      StackMap locals: java.lang.Number
      StackMap stack:
            aload 1 /* n */
            areturn
        end local 1 // java.lang.Number n
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     s  Ljava/lang/String;
            5    8     1     n  Ljava/lang/Number;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      s     

  private static boolean isNumericIndexStart(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 2551
            iload 0 /* c */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
            ifne 1
            iload 0 /* c */
            bipush 45
            if_icmpeq 1
            iload 0 /* c */
            bipush 73
            if_icmpeq 1
            iload 0 /* c */
            bipush 78
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static boolean isInteger(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 2558
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 2559
            iconst_0
            ireturn
         2: .line 2561
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            checkcast java.lang.Number
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
            dstore 1 /* d */
        start local 1 // double d
         3: .line 2562
            dload 1 /* d */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifne 4
            dload 1 /* d */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 5
         4: .line 2563
      StackMap locals: double
      StackMap stack:
            iconst_0
            ireturn
         5: .line 2565
      StackMap locals:
      StackMap stack:
            dload 1 /* d */
            invokestatic java.lang.Math.abs:(D)D
            invokestatic java.lang.Math.floor:(D)D
            dload 1 /* d */
            invokestatic java.lang.Math.abs:(D)D
            dcmpl
            ifne 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 1 // double d
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   obj  Ljava/lang/Object;
            3    7     1     d  D
    MethodParameters:
      Name  Flags
      obj   

  public static double mathFloor(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // double d
         0: .line 2570
            dload 0 /* d */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 2
         1: .line 2571
            ldc NaN
            dreturn
         2: .line 2573
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNegativeZero:(D)Z
            ifeq 4
         3: .line 2574
            ldc -0.0
            dreturn
         4: .line 2576
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isSafeInteger:(D)Z
            ifeq 9
         5: .line 2577
            dload 0 /* d */
            d2l
            lstore 2 /* i */
        start local 2 // long i
         6: .line 2578
            dload 0 /* d */
            lload 2 /* i */
            l2d
            dcmpg
            ifge 7
            lload 2 /* i */
            lconst_1
            lsub
            goto 8
      StackMap locals: long
      StackMap stack:
         7: lload 2 /* i */
      StackMap locals:
      StackMap stack: long
         8: l2d
            dreturn
        end local 2 // long i
         9: .line 2580
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            invokestatic java.lang.Math.floor:(D)D
            dreturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0     d  D
            6    9     2     i  J
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      d     

  public static double mathCeil(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // double d
         0: .line 2586
            dload 0 /* d */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 2
         1: .line 2587
            ldc NaN
            dreturn
         2: .line 2589
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNegativeZero:(D)Z
            ifeq 4
         3: .line 2590
            ldc -0.0
            dreturn
         4: .line 2592
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isSafeInteger:(D)Z
            ifeq 12
         5: .line 2593
            dload 0 /* d */
            d2l
            lstore 2 /* i */
        start local 2 // long i
         6: .line 2594
            dload 0 /* d */
            lload 2 /* i */
            l2d
            dcmpl
            ifle 7
            lload 2 /* i */
            lconst_1
            ladd
            goto 8
      StackMap locals: long
      StackMap stack:
         7: lload 2 /* i */
      StackMap locals:
      StackMap stack: long
         8: lstore 4 /* result */
        start local 4 // long result
         9: .line 2595
            lload 4 /* result */
            lconst_0
            lcmp
            ifne 11
            dload 0 /* d */
            dconst_0
            dcmpg
            ifge 11
        10: .line 2596
            ldc -0.0
            dreturn
        11: .line 2598
      StackMap locals: long
      StackMap stack:
            lload 4 /* result */
            l2d
            dreturn
        end local 4 // long result
        end local 2 // long i
        12: .line 2600
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            invokestatic java.lang.Math.ceil:(D)D
            dreturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0       d  D
            6   12     2       i  J
            9   12     4  result  J
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      d     

  public static double mathRint(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 2606
            dload 0 /* d */
            invokestatic java.lang.Math.rint:(D)D
            dreturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      d     

  public static int comparePropertyKeys(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // java.lang.Object key1
        start local 1 // java.lang.Object key2
         0: .line 2618
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 2
            aload 0 /* key1 */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPropertyKey:(Ljava/lang/Object;)Z
            ifeq 1
            aload 1 /* key2 */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPropertyKey:(Ljava/lang/Object;)Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2619
      StackMap locals:
      StackMap stack:
            aload 0 /* key1 */
            instanceof java.lang.String
            istore 2 /* isString1 */
        start local 2 // boolean isString1
         3: .line 2620
            aload 1 /* key2 */
            instanceof java.lang.String
            istore 3 /* isString2 */
        start local 3 // boolean isString2
         4: .line 2621
            iload 2 /* isString1 */
            ifeq 18
            iload 3 /* isString2 */
            ifeq 18
         5: .line 2622
            aload 0 /* key1 */
            checkcast java.lang.String
            astore 4 /* str1 */
        start local 4 // java.lang.String str1
         6: .line 2623
            aload 1 /* key2 */
            checkcast java.lang.String
            astore 5 /* str2 */
        start local 5 // java.lang.String str2
         7: .line 2624
            aload 4 /* str1 */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.propertyNameToArrayIndex:(Ljava/lang/String;)J
            lstore 6 /* index1 */
        start local 6 // long index1
         8: .line 2625
            aload 5 /* str2 */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.propertyNameToArrayIndex:(Ljava/lang/String;)J
            lstore 8 /* index2 */
        start local 8 // long index2
         9: .line 2626
            lload 6 /* index1 */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
            istore 10 /* isIndex1 */
        start local 10 // boolean isIndex1
        10: .line 2627
            lload 8 /* index2 */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
            istore 11 /* isIndex2 */
        start local 11 // boolean isIndex2
        11: .line 2628
            iload 10 /* isIndex1 */
            ifeq 13
            iload 11 /* isIndex2 */
            ifeq 13
        12: .line 2629
            lload 6 /* index1 */
            lload 8 /* index2 */
            invokestatic java.lang.Long.compare:(JJ)I
            ireturn
        13: .line 2630
      StackMap locals: java.lang.Object java.lang.Object int int java.lang.String java.lang.String long long int int
      StackMap stack:
            iload 10 /* isIndex1 */
            ifeq 15
        14: .line 2631
            iconst_m1
            ireturn
        15: .line 2632
      StackMap locals:
      StackMap stack:
            iload 11 /* isIndex2 */
            ifeq 17
        16: .line 2633
            iconst_1
            ireturn
        17: .line 2635
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 11 // boolean isIndex2
        end local 10 // boolean isIndex1
        end local 8 // long index2
        end local 6 // long index1
        end local 5 // java.lang.String str2
        end local 4 // java.lang.String str1
        18: .line 2637
      StackMap locals: java.lang.Object java.lang.Object int int
      StackMap stack:
            iload 2 /* isString1 */
            ifeq 20
        19: .line 2638
            iconst_m1
            ireturn
        20: .line 2639
      StackMap locals:
      StackMap stack:
            iload 3 /* isString2 */
            ifeq 22
        21: .line 2640
            iconst_1
            ireturn
        22: .line 2642
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // boolean isString2
        end local 2 // boolean isString1
        end local 1 // java.lang.Object key2
        end local 0 // java.lang.Object key1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       key1  Ljava/lang/Object;
            0   23     1       key2  Ljava/lang/Object;
            3   23     2  isString1  Z
            4   23     3  isString2  Z
            6   18     4       str1  Ljava/lang/String;
            7   18     5       str2  Ljava/lang/String;
            8   18     6     index1  J
            9   18     8     index2  J
           10   18    10   isIndex1  Z
           11   18    11   isIndex2  Z
    MethodParameters:
      Name  Flags
      key1  
      key2  

  public static java.lang.String getConstructorName(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject receiver
         0: .line 2651
            aload 0 /* receiver */
            getstatic com.oracle.truffle.js.runtime.Symbol.SYMBOL_TO_STRING_TAG:Lcom/oracle/truffle/js/runtime/Symbol;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.getDataProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* toStringTag */
        start local 1 // java.lang.Object toStringTag
         1: .line 2652
            aload 1 /* toStringTag */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 2653
            aload 1 /* toStringTag */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.javaToString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
         3: .line 2657
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* receiver */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifne 9
         4: .line 2658
            aload 0 /* receiver */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 2 /* prototype */
        start local 2 // com.oracle.truffle.api.object.DynamicObject prototype
         5: .line 2659
            aload 2 /* prototype */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 9
         6: .line 2660
            aload 2 /* prototype */
            ldc "constructor"
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.getDataProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* constructor */
        start local 3 // java.lang.Object constructor
         7: .line 2661
            aload 3 /* constructor */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 2662
            aload 3 /* constructor */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getName:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.Object constructor
        end local 2 // com.oracle.truffle.api.object.DynamicObject prototype
         9: .line 2668
      StackMap locals:
      StackMap stack:
            aload 0 /* receiver */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getClassName:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object toStringTag
        end local 0 // com.oracle.truffle.api.object.DynamicObject receiver
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0     receiver  Lcom/oracle/truffle/api/object/DynamicObject;
            1   10     1  toStringTag  Ljava/lang/Object;
            5    9     2    prototype  Lcom/oracle/truffle/api/object/DynamicObject;
            7    9     3  constructor  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public static java.lang.Object getDataProperty(com.oracle.truffle.api.object.DynamicObject, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.object.DynamicObject thisObj
        start local 1 // java.lang.Object key
         0: .line 2672
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 1 /* key */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPropertyKey:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2673
      StackMap locals:
      StackMap stack:
            aload 0 /* thisObj */
            astore 2 /* current */
        start local 2 // com.oracle.truffle.api.object.DynamicObject current
         2: .line 2674
            goto 8
         3: .line 2675
      StackMap locals: com.oracle.truffle.api.object.DynamicObject
      StackMap stack:
            aload 2 /* current */
            aload 1 /* key */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
            astore 3 /* desc */
        start local 3 // com.oracle.truffle.js.runtime.objects.PropertyDescriptor desc
         4: .line 2676
            aload 3 /* desc */
            ifnull 7
         5: .line 2677
            aload 3 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isDataDescriptor:()Z
            ifeq 9
         6: .line 2678
            aload 3 /* desc */
            invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getValue:()Ljava/lang/Object;
            areturn
         7: .line 2683
      StackMap locals: com.oracle.truffle.js.runtime.objects.PropertyDescriptor
      StackMap stack:
            aload 2 /* current */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 2 /* current */
        end local 3 // com.oracle.truffle.js.runtime.objects.PropertyDescriptor desc
         8: .line 2674
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 9
            aload 2 /* current */
            ifnull 9
            aload 2 /* current */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifeq 3
         9: .line 2685
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // com.oracle.truffle.api.object.DynamicObject current
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.api.object.DynamicObject thisObj
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0  thisObj  Lcom/oracle/truffle/api/object/DynamicObject;
            0   10     1      key  Ljava/lang/Object;
            2   10     2  current  Lcom/oracle/truffle/api/object/DynamicObject;
            4    8     3     desc  Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
    MethodParameters:
         Name  Flags
      thisObj  
      key      

  private static boolean isProxy(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject receiver
         0: .line 2689
            aload 0 /* receiver */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* receiver */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSAdapter.isJSAdapter:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject receiver
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  receiver  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
          Name  Flags
      receiver  

  public static boolean isJSRootNode(com.oracle.truffle.api.nodes.RootNode);
    descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.RootNode rootNode
         0: .line 2693
            aload 0 /* rootNode */
            instanceof com.oracle.truffle.js.runtime.JavaScriptRootNode
            ireturn
        end local 0 // com.oracle.truffle.api.nodes.RootNode rootNode
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
    MethodParameters:
          Name  Flags
      rootNode  

  public static boolean isJSFunctionRootNode(com.oracle.truffle.api.nodes.RootNode);
    descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.RootNode rootNode
         0: .line 2697
            aload 0 /* rootNode */
            instanceof com.oracle.truffle.js.runtime.JavaScriptRootNode
            ifeq 1
            aload 0 /* rootNode */
            checkcast com.oracle.truffle.js.runtime.JavaScriptRootNode
            invokevirtual com.oracle.truffle.js.runtime.JavaScriptRootNode.isFunction:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.truffle.api.nodes.RootNode rootNode
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
    MethodParameters:
          Name  Flags
      rootNode  

  public static boolean isSafeInteger(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double value
         0: .line 2701
            dload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.JSRuntime.MIN_SAFE_INTEGER:D
            dcmpl
            iflt 1
            dload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER:D
            dcmpg
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  D
    MethodParameters:
       Name  Flags
      value  

  public static boolean isSafeInteger(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long value
         0: .line 2705
            lload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.JSRuntime.MIN_SAFE_INTEGER_LONG:J
            lcmp
            iflt 1
            lload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER_LONG:J
            lcmp
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static com.oracle.truffle.js.runtime.JSRealm getFunctionRealm(java.lang.Object, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/JSRealm;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object obj
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 2709
            aload 1 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            astore 2 /* currentRealm */
        start local 2 // com.oracle.truffle.js.runtime.JSRealm currentRealm
         1: .line 2710
            aload 0 /* obj */
            aload 2 /* currentRealm */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.getFunctionRealm:(Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/js/runtime/JSRealm;
            areturn
        end local 2 // com.oracle.truffle.js.runtime.JSRealm currentRealm
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0           obj  Ljava/lang/Object;
            0    2     1       context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    2     2  currentRealm  Lcom/oracle/truffle/js/runtime/JSRealm;
    MethodParameters:
         Name  Flags
      obj      
      context  

  public static com.oracle.truffle.js.runtime.JSRealm getFunctionRealm(java.lang.Object, com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/js/runtime/JSRealm;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object obj
        start local 1 // com.oracle.truffle.js.runtime.JSRealm currentRealm
         0: .line 2715
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 10
         1: .line 2716
            aload 0 /* obj */
            checkcast com.oracle.truffle.api.object.DynamicObject
            astore 2 /* dynObj */
        start local 2 // com.oracle.truffle.api.object.DynamicObject dynObj
         2: .line 2717
            aload 2 /* dynObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
            ifeq 6
         3: .line 2718
            aload 2 /* dynObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isBoundFunction:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifeq 5
         4: .line 2719
            aload 2 /* dynObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getBoundTargetFunction:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* currentRealm */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.getFunctionRealm:(Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/js/runtime/JSRealm;
            areturn
         5: .line 2721
      StackMap locals: com.oracle.truffle.api.object.DynamicObject
      StackMap stack:
            aload 2 /* dynObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getRealm:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSRealm;
            areturn
         6: .line 2723
      StackMap locals:
      StackMap stack:
            aload 2 /* dynObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 2724
            aload 2 /* dynObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getHandler:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 9
         8: .line 2725
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorProxyRevoked:()Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         9: .line 2727
      StackMap locals:
      StackMap stack:
            aload 2 /* dynObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            aload 1 /* currentRealm */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.getFunctionRealm:(Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/js/runtime/JSRealm;
            areturn
        end local 2 // com.oracle.truffle.api.object.DynamicObject dynObj
        10: .line 2730
      StackMap locals:
      StackMap stack:
            aload 1 /* currentRealm */
            areturn
        end local 1 // com.oracle.truffle.js.runtime.JSRealm currentRealm
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0           obj  Ljava/lang/Object;
            0   11     1  currentRealm  Lcom/oracle/truffle/js/runtime/JSRealm;
            2   10     2        dynObj  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
              Name  Flags
      obj           
      currentRealm  

  public static boolean isConstructor(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 constrObj
         0: .line 2737
            aload 0 /* constrObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isConstructor:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 2738
            iconst_1
            ireturn
         2: .line 2739
      StackMap locals:
      StackMap stack:
            aload 0 /* constrObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 2740
            aload 0 /* constrObj */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isConstructorProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ireturn
         4: .line 2741
      StackMap locals:
      StackMap stack:
            aload 0 /* constrObj */
            instanceof com.oracle.truffle.api.interop.TruffleObject
            ifeq 6
         5: .line 2742
            aload 0 /* constrObj */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isConstructorForeign:(Ljava/lang/Object;)Z
            ireturn
         6: .line 2744
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Object constrObj
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  constrObj  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      constrObj  

  public static boolean isConstructorForeign(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 2749
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 2750
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstantiable:(Ljava/lang/Object;)Z
            ireturn
         2: .line 2752
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static boolean isConstructorProxy(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject constrObj
         0: .line 2757
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* constrObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2758
      StackMap locals:
      StackMap stack:
            aload 0 /* constrObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isConstructor:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject constrObj
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  constrObj  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
           Name  Flags
      constrObj  

  public static boolean isGenerator(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 genObj
         0: .line 2762
            aload 0 /* genObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
            ifeq 2
            aload 0 /* genObj */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isGenerator:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifeq 2
         1: .line 2763
            iconst_1
            ireturn
         2: .line 2764
      StackMap locals:
      StackMap stack:
            aload 0 /* genObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 2765
            aload 0 /* genObj */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isGeneratorProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ireturn
         4: .line 2767
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Object genObj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  genObj  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      genObj  

  public static boolean isGeneratorProxy(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject genObj
         0: .line 2772
            getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
            ifne 1
            aload 0 /* genObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2773
      StackMap locals:
      StackMap stack:
            aload 0 /* genObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isGenerator:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject genObj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  genObj  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      genObj  

  public static java.util.List<java.lang.Object> createListFromArrayLikeAllowSymbolString();
    descriptor: (Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 2779
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 2780
            aload 0 /* obj */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotAnObject:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         2: .line 2782
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            checkcast com.oracle.truffle.api.object.DynamicObject
            astore 1 /* jsObj */
        start local 1 // com.oracle.truffle.api.object.DynamicObject jsObj
         3: .line 2783
            aload 1 /* jsObj */
            ldc "length"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toLength:(Ljava/lang/Object;)J
            lstore 2 /* len */
        start local 2 // long len
         4: .line 2784
            lload 2 /* len */
            ldc 2147483647
            lcmp
            ifle 6
         5: .line 2785
            ldc "range exceeded"
            invokestatic com.oracle.truffle.js.runtime.Errors.createRangeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         6: .line 2787
      StackMap locals: com.oracle.truffle.api.object.DynamicObject long
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* list */
        start local 4 // java.util.List list
         7: .line 2788
            lconst_0
            lstore 5 /* index */
        start local 5 // long index
         8: .line 2789
            goto 16
         9: .line 2790
      StackMap locals: java.util.List long
      StackMap stack:
            aload 1 /* jsObj */
            lload 5 /* index */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;J)Ljava/lang/Object;
            astore 7 /* next */
        start local 7 // java.lang.Object next
        10: .line 2791
            aload 7 /* next */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 2792
            aload 7 /* next */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 7 /* next */
        12: .line 2794
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 7 /* next */
            instanceof java.lang.String
            ifne 14
            aload 7 /* next */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ifne 14
        13: .line 2795
            ldc "Symbol or String expected"
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        14: .line 2797
      StackMap locals:
      StackMap stack:
            aload 4 /* list */
            aload 7 /* next */
            invokestatic com.oracle.truffle.js.runtime.Boundaries.listAdd:(Ljava/util/List;Ljava/lang/Object;)V
        15: .line 2798
            lload 5 /* index */
            lconst_1
            ladd
            lstore 5 /* index */
        end local 7 // java.lang.Object next
        16: .line 2789
      StackMap locals:
      StackMap stack:
            lload 5 /* index */
            lload 2 /* len */
            lcmp
            iflt 9
        17: .line 2800
            aload 4 /* list */
            areturn
        end local 5 // long index
        end local 4 // java.util.List list
        end local 2 // long len
        end local 1 // com.oracle.truffle.api.object.DynamicObject jsObj
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0    obj  Ljava/lang/Object;
            3   18     1  jsObj  Lcom/oracle/truffle/api/object/DynamicObject;
            4   18     2    len  J
            7   18     4   list  Ljava/util/List<Ljava/lang/Object;>;
            8   18     5  index  J
           10   16     7   next  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)Ljava/util/List<Ljava/lang/Object;>;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      obj   

  public static java.lang.String quote(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.String value
         0: .line 2805
            iconst_0
            istore 1 /* pos */
        start local 1 // int pos
         1: .line 2806
            goto 6
         2: .line 2807
      StackMap locals: int
      StackMap stack:
            aload 0 /* value */
            iload 1 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* ch */
        start local 2 // char ch
         3: .line 2808
            iload 2 /* ch */
            bipush 32
            if_icmplt 7
            iload 2 /* ch */
            bipush 92
            if_icmpeq 7
            iload 2 /* ch */
            bipush 34
            if_icmpne 5
         4: .line 2809
            goto 7
         5: .line 2811
      StackMap locals: int
      StackMap stack:
            iinc 1 /* pos */ 1
        end local 2 // char ch
         6: .line 2806
      StackMap locals:
      StackMap stack:
            iload 1 /* pos */
            aload 0 /* value */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
         7: .line 2814
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* value */
            invokevirtual java.lang.String.length:()I
            iconst_2
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* builder */
        start local 2 // java.lang.StringBuilder builder
         8: .line 2815
            aload 2 /* builder */
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 2816
            aload 2 /* builder */
            aload 0 /* value */
            iconst_0
            iload 1 /* pos */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        10: .line 2817
            iload 1 /* pos */
            istore 3 /* i */
        start local 3 // int i
        11: goto 41
        12: .line 2818
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* value */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* ch */
        start local 4 // char ch
        13: .line 2819
            iload 4 /* ch */
            bipush 32
            if_icmpge 33
        14: .line 2820
            iload 4 /* ch */
            bipush 8
            if_icmpne 17
        15: .line 2821
            aload 2 /* builder */
            ldc "\\b"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 2822
            goto 40
      StackMap locals: int
      StackMap stack:
        17: iload 4 /* ch */
            bipush 12
            if_icmpne 20
        18: .line 2823
            aload 2 /* builder */
            ldc "\\f"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 2824
            goto 40
      StackMap locals:
      StackMap stack:
        20: iload 4 /* ch */
            bipush 10
            if_icmpne 23
        21: .line 2825
            aload 2 /* builder */
            ldc "\\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 2826
            goto 40
      StackMap locals:
      StackMap stack:
        23: iload 4 /* ch */
            bipush 13
            if_icmpne 26
        24: .line 2827
            aload 2 /* builder */
            ldc "\\r"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 2828
            goto 40
      StackMap locals:
      StackMap stack:
        26: iload 4 /* ch */
            bipush 9
            if_icmpne 29
        27: .line 2829
            aload 2 /* builder */
            ldc "\\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 2830
            goto 40
        29: .line 2831
      StackMap locals:
      StackMap stack:
            aload 2 /* builder */
            ldc "\\u00"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 2832
            aload 2 /* builder */
            iload 4 /* ch */
            sipush 240
            iand
            iconst_4
            ishr
            bipush 16
            invokestatic java.lang.Character.forDigit:(II)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 2833
            aload 2 /* builder */
            iload 4 /* ch */
            bipush 15
            iand
            bipush 16
            invokestatic java.lang.Character.forDigit:(II)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        32: .line 2835
            goto 40
      StackMap locals:
      StackMap stack:
        33: iload 4 /* ch */
            bipush 92
            if_icmpne 36
        34: .line 2836
            aload 2 /* builder */
            ldc "\\\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 2837
            goto 40
      StackMap locals:
      StackMap stack:
        36: iload 4 /* ch */
            bipush 34
            if_icmpne 39
        37: .line 2838
            aload 2 /* builder */
            ldc "\\\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        38: .line 2839
            goto 40
        39: .line 2840
      StackMap locals:
      StackMap stack:
            aload 2 /* builder */
            iload 4 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 4 // char ch
        40: .line 2817
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        41: iload 3 /* i */
            aload 0 /* value */
            invokevirtual java.lang.String.length:()I
            if_icmplt 12
        end local 3 // int i
        42: .line 2843
            aload 2 /* builder */
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        43: .line 2844
            aload 2 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder builder
        end local 1 // int pos
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   44     0    value  Ljava/lang/String;
            1   44     1      pos  I
            3    6     2       ch  C
            8   44     2  builder  Ljava/lang/StringBuilder;
           11   42     3        i  I
           13   40     4       ch  C
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static com.oracle.truffle.api.object.DynamicObject expectJSObject(java.lang.Object, com.oracle.truffle.api.profiles.BranchProfile);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/profiles/BranchProfile;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object to
        start local 1 // com.oracle.truffle.api.profiles.BranchProfile errorBranch
         0: .line 2848
            aload 0 /* to */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 2849
            aload 1 /* errorBranch */
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
         2: .line 2850
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorJSObjectExpected:()Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         3: .line 2852
      StackMap locals:
      StackMap stack:
            aload 0 /* to */
            checkcast com.oracle.truffle.api.object.DynamicObject
            areturn
        end local 1 // com.oracle.truffle.api.profiles.BranchProfile errorBranch
        end local 0 // java.lang.Object to
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0           to  Ljava/lang/Object;
            0    4     1  errorBranch  Lcom/oracle/truffle/api/profiles/BranchProfile;
    MethodParameters:
             Name  Flags
      to           
      errorBranch  

  public static java.lang.Object exportValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 2860
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 2861
            aload 0 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         2: .line 2862
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.SafeInteger
            ifeq 4
         3: .line 2863
            aload 0 /* value */
            checkcast com.oracle.truffle.js.runtime.SafeInteger
            invokevirtual com.oracle.truffle.js.runtime.SafeInteger.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         4: .line 2864
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.api.interop.TruffleObject
            ifeq 6
         5: .line 2865
            aload 0 /* value */
            areturn
         6: .line 2866
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSPrimitive:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 2867
            aload 0 /* value */
            areturn
         8: .line 2869
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            astore 1 /* env */
        start local 1 // com.oracle.truffle.api.TruffleLanguage$Env env
         9: .line 2870
            aload 1 /* env */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asGuestValue:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // com.oracle.truffle.api.TruffleLanguage$Env env
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0  value  Ljava/lang/Object;
            9   10     1    env  Lcom/oracle/truffle/api/TruffleLanguage$Env;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object[] exportValueArray(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.Object[] arr
         0: .line 2875
            aload 0 /* arr */
            arraylength
            anewarray java.lang.Object
            astore 1 /* newArr */
        start local 1 // java.lang.Object[] newArr
         1: .line 2876
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 2877
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 1 /* newArr */
            iload 2 /* i */
            aload 0 /* arr */
            iload 2 /* i */
            aaload
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.exportValue:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
         4: .line 2876
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* arr */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 2879
            aload 1 /* newArr */
            areturn
        end local 1 // java.lang.Object[] newArr
        end local 0 // java.lang.Object[] arr
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0     arr  [Ljava/lang/Object;
            1    7     1  newArr  [Ljava/lang/Object;
            2    6     2       i  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      arr   

  public static java.lang.Object importValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Object value
         0: .line 2888
            aload 0 /* value */
            ifnonnull 2
         1: .line 2889
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            areturn
         2: .line 2890
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Integer
            ifne 3
            aload 0 /* value */
            instanceof java.lang.Double
            ifne 3
            aload 0 /* value */
            instanceof java.lang.String
            ifne 3
            aload 0 /* value */
            instanceof java.lang.Boolean
            ifne 3
            aload 0 /* value */
            instanceof com.oracle.truffle.api.interop.TruffleObject
            ifeq 4
         3: .line 2891
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            areturn
         4: .line 2892
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Character
            ifeq 6
         5: .line 2893
            aload 0 /* value */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
         6: .line 2894
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Long
            ifeq 11
         7: .line 2895
            aload 0 /* value */
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 1 /* longValue */
        start local 1 // long longValue
         8: .line 2896
            lload 1 /* longValue */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.longIsRepresentableAsInt:(J)Z
            ifeq 10
         9: .line 2897
            lload 1 /* longValue */
            l2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        10: .line 2899
      StackMap locals: long
      StackMap stack:
            lload 1 /* longValue */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        end local 1 // long longValue
        11: .line 2901
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Byte
            ifne 12
            aload 0 /* value */
            instanceof java.lang.Short
            ifeq 13
        12: .line 2902
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.intValue:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        13: .line 2903
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Float
            ifeq 15
        14: .line 2904
            aload 0 /* value */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        15: .line 2906
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorUnsupportedInteropType:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0      value  Ljava/lang/Object;
            8   11     1  longValue  J
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  public static boolean intIsRepresentableAsFloat(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int value
         0: .line 2911
            ldc -16777216
            iload 0 /* value */
            if_icmpgt 1
            iload 0 /* value */
            ldc 16777216
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  I
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJavaPrimitive(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 value
         0: .line 2915
            aload 0 /* value */
            ifnull 2
         1: .line 2916
            aload 0 /* value */
            instanceof java.lang.Boolean
            ifne 10
         2: .line 2917
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Byte
            ifne 10
         3: .line 2918
            aload 0 /* value */
            instanceof java.lang.Short
            ifne 10
         4: .line 2919
            aload 0 /* value */
            instanceof java.lang.Integer
            ifne 10
         5: .line 2920
            aload 0 /* value */
            instanceof java.lang.Long
            ifne 10
         6: .line 2921
            aload 0 /* value */
            instanceof java.lang.Float
            ifne 10
         7: .line 2922
            aload 0 /* value */
            instanceof java.lang.Double
            ifne 10
         8: .line 2923
            aload 0 /* value */
            instanceof java.lang.Character
            ifne 10
         9: .line 2915
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_1
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static <E extends java.lang.Throwable> java.lang.RuntimeException rethrow(java.lang.Throwable) throws E;
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable ex
         0: .line 2928
            aload 0 /* ex */
            athrow
        end local 0 // java.lang.Throwable ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ex  Ljava/lang/Throwable;
    Exceptions:
      throws java.lang.Throwable
    Signature: <E:Ljava/lang/Throwable;>(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;^TE;
    MethodParameters:
      Name  Flags
      ex    

  public static boolean isTypedArrayBigIntFactory(com.oracle.truffle.js.runtime.array.TypedArrayFactory);
    descriptor: (Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.array.TypedArrayFactory factory
         0: .line 2932
            aload 0 /* factory */
            getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.BigInt64Array:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
            if_acmpeq 1
            aload 0 /* factory */
            getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.BigUint64Array:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
            if_acmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.array.TypedArrayFactory factory
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  factory  Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
    MethodParameters:
         Name  Flags
      factory  

  public static com.oracle.truffle.js.runtime.GraalJSException getException(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/GraalJSException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object errorObject
         0: .line 2936
            aload 0 /* errorObject */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSError.isJSError:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 2937
            aload 0 /* errorObject */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokestatic com.oracle.truffle.js.runtime.builtins.JSError.getException:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/GraalJSException;
            areturn
         2: .line 2939
      StackMap locals:
      StackMap stack:
            aload 0 /* errorObject */
            invokestatic com.oracle.truffle.js.runtime.UserScriptException.create:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/UserScriptException;
            areturn
        end local 0 // java.lang.Object errorObject
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  errorObject  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      errorObject  
}
SourceFile: "JSRuntime.java"
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
  public abstract Cursor = com.oracle.truffle.js.runtime.util.JSHashMap$Cursor of com.oracle.truffle.js.runtime.util.JSHashMap