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: 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: ldc -0.0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
putstatic com.oracle.truffle.js.runtime.JSRuntime.NEGATIVE_ZERO_DOUBLE_BITS:J
4: ldc Infinity
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
putstatic com.oracle.truffle.js.runtime.JSRuntime.POSITIVE_INFINITY_DOUBLE_BITS:J
5: 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: getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER:D
dneg
putstatic com.oracle.truffle.js.runtime.JSRuntime.MIN_SAFE_INTEGER:D
7: 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: 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: 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: 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: 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: 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: 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: 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 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 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 0: dload 0
iconst_0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsInt:(DZ)Z
ireturn
end local 0 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 start local 2 0: dload 0
d2l
lstore 3
start local 3 1: dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsLong:(D)Z
ifeq 3
lload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.longIsRepresentableAsInt:(J)Z
ifeq 3
iload 2
ifne 2
dload 0
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 end local 2 end local 0 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 start local 2 0: dload 0
d2l
lstore 3
start local 3 1: dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsLong:(D)Z
ifeq 3
lload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.longIsRepresentableAsInt:(J)Z
ifeq 3
iload 2
ifne 2
dload 0
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 end local 2 end local 0 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 0: dload 0
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 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 0: dload 0
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 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 0: dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsInt:(D)Z
ifeq 2
1: dload 0
d2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
2: StackMap locals:
StackMap stack:
dload 0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 0 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 0: lload 0
lload 0
l2i
i2l
lcmp
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 0: lload 0
ldc 4294967295
land
lload 0
lcmp
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 0: dload 0
dload 0
d2l
l2d
dcmpl
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 0: lload 0
ldc 2147483647
lcmp
ifgt 2
1: lload 0
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
2: StackMap locals:
StackMap stack:
lload 0
l2d
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 0 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 0: ldc -2147483648
lload 0
lcmp
ifgt 2
lload 0
ldc 2147483647
lcmp
ifgt 2
1: lload 0
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
2: StackMap locals:
StackMap stack:
lload 0
l2d
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 0 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 0: aload 0
instanceof java.lang.Double
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dstore 1
start local 1 3: dload 1
invokestatic java.lang.Double.isNaN:(D)Z
ireturn
end local 1 end local 0 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 0: aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 2
1: ldc "object"
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 4
3: ldc "undefined"
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 6
5: ldc "string"
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
ifeq 8
7: ldc "number"
areturn
8: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
ifeq 10
9: ldc "bigint"
areturn
10: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Boolean
ifeq 12
11: ldc "boolean"
areturn
12: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.Symbol
ifeq 14
13: ldc "symbol"
areturn
14: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 26
15: aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
astore 1
start local 1 16: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 23
17: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
astore 2
start local 2 18: aload 2
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 22
19: aload 1
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: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.typeof:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 2 23: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 25
24: ldc "function"
areturn
25: StackMap locals:
StackMap stack:
ldc "object"
areturn
end local 1 26: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 39
27: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 28
aload 0
instanceof com.oracle.truffle.js.runtime.Symbol
ifeq 28
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
28: StackMap locals:
StackMap stack:
aload 0
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 1
start local 1 29: 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
start local 2 30: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
ifeq 32
31: ldc "boolean"
areturn
32: StackMap locals: com.oracle.truffle.api.interop.TruffleObject com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
ifeq 34
33: ldc "string"
areturn
34: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
ifeq 36
35: ldc "number"
areturn
36: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
ifne 37
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstantiable:(Ljava/lang/Object;)Z
ifeq 38
37: StackMap locals:
StackMap stack:
ldc "function"
areturn
38: StackMap locals:
StackMap stack:
ldc "object"
areturn
end local 2 end local 1 39: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
40: 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
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 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
instanceof com.oracle.truffle.js.runtime.objects.JSObject
aload 0
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: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.objects.JSObject
ireturn
end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 4
1: aload 0
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
start local 1 2: aload 1
instanceof com.oracle.truffle.js.runtime.builtins.JSClass
ifeq 3
aload 1
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 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 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 0: aload 0
instanceof com.oracle.truffle.js.runtime.objects.Nullish
ireturn
end local 0 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 0: aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 1
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 1
aload 0
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 0
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 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 0: aload 0
ldc "default"
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPrimitive:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 0 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 start local 1 0: aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 1
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 8
3: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 5
4: aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.toPrimitive:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;)Ljava/lang/Object;
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 2
start local 2 7: aload 2
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPrimitiveFromForeign:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 2 8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 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 start local 1 0: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 0
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
start local 3 1: aload 3
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
ifeq 3
2: getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
3: 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
start local 2 4: aload 0
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isHostObject:(Ljava/lang/Object;)Z
ifeq 13
5: aload 2
aload 0
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asHostObject:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 6: aload 4
ifnonnull 8
7: getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
8: 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
invokestatic com.oracle.truffle.js.nodes.JSGuards.isJavaPrimitiveNumber:(Ljava/lang/Object;)Z
ifeq 10
9: aload 4
invokestatic com.oracle.truffle.js.runtime.JSRuntime.importValue:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
10: 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
instanceof java.lang.Number
ifeq 12
11: aload 4
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
12: StackMap locals:
StackMap stack:
aload 4
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 13: StackMap locals:
StackMap stack:
aload 3
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
ifne 14
aload 3
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
ifne 14
aload 3
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
ifeq 15
14: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
aload 3
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: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.foreignOrdinaryToPrimitive:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentJSRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
astore 2
start local 2 1: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 0
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
start local 3 2: aload 1
ldc "string"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
3: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "toString"
aastore
dup
iconst_1
ldc "valueOf"
aastore
astore 4
start local 4 4: goto 7
end local 4 5: 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
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "valueOf"
aastore
dup
iconst_1
ldc "toString"
aastore
astore 4
start local 4 7: StackMap locals: java.lang.String[]
StackMap stack:
aload 3
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
ifeq 10
8: aload 2
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getArrayPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 9: goto 17
end local 5 StackMap locals:
StackMap stack:
10: aload 3
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
ifeq 13
11: aload 2
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getFunctionPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 12: goto 17
end local 5 StackMap locals:
StackMap stack:
13: aload 3
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstant:(Ljava/lang/Object;)Z
ifeq 16
14: aload 2
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getDatePrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 15: goto 17
end local 5 16: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getObjectPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 17: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 4
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
start local 6 19: aload 3
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
ifeq 26
aload 3
aload 0
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInvocable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 26
20: aload 3
aload 0
aload 6
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
start local 10 21: goto 24
end local 10 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: aconst_null
astore 10
start local 10 24: StackMap locals: java.lang.Object
StackMap stack:
aload 10
ifnull 26
aload 10
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifne 26
25: aload 10
areturn
end local 10 26: StackMap locals:
StackMap stack:
aload 5
aload 6
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getMethod:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 27: aload 10
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallable:(Ljava/lang/Object;)Z
ifeq 31
28: aload 10
aload 0
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
start local 11 29: aload 11
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifne 31
30: aload 11
areturn
end local 11 end local 10 end local 6 31: 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: invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotConvertToPrimitiveValue:()Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
if_acmpeq 3
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 3
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
ifeq 6
5: aload 0
checkcast java.lang.Number
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toBoolean:(Ljava/lang/Number;)Z
ireturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.String
ifeq 9
7: aload 0
checkcast java.lang.String
invokevirtual java.lang.String.length:()I
ifeq 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
ifeq 12
10: aload 0
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: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.BigInt
ifeq 15
13: aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 22
16: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 0
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
start local 1 17: aload 1
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
ifeq 19
18: iconst_0
ireturn
19: StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 1
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
ifne 20
aload 1
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
ifne 20
aload 1
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
ifeq 21
20: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
aload 1
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: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 22: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
dstore 1
start local 1 1: dload 1
dconst_0
dcmpl
ifeq 2
dload 1
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 3
2: StackMap locals: double
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 1 end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifeq 3
1: aload 0
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
start local 1 2: goto 7
end local 1 StackMap locals:
StackMap stack:
3: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 6
4: aload 0
ldc "number"
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPrimitiveFromForeign:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 1
start local 1 5: goto 7
end local 1 6: StackMap locals:
StackMap stack:
aload 0
astore 1
start local 1 7: StackMap locals: java.lang.Object
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumberFromPrimitive:(Ljava/lang/Object;)Ljava/lang/Number;
areturn
end local 1 end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifeq 1
aload 0
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
StackMap locals:
StackMap stack: java.lang.Object
2: astore 1
start local 1 3: aload 1
instanceof com.oracle.truffle.js.runtime.BigInt
ifeq 5
4: aload 1
areturn
5: StackMap locals: java.lang.Object
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumberFromPrimitive:(Ljava/lang/Object;)Ljava/lang/Number;
areturn
end local 1 end local 0 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 0: ldc 0.75
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
invokestatic com.oracle.truffle.api.CompilerDirectives.injectBranchProbability:(DZ)Z
ifeq 2
1: aload 0
checkcast java.lang.Number
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 4
3: ldc NaN
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 6
5: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Boolean
ifeq 8
7: aload 0
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: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.String
ifeq 10
9: aload 0
checkcast java.lang.String
invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumber:(Ljava/lang/String;)Ljava/lang/Number;
areturn
10: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
ifeq 12
11: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumber:(Ljava/lang/String;)Ljava/lang/Number;
areturn
12: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.Symbol
ifeq 14
13: ldc "a Symbol value"
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotConvertToNumber:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
14: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.BigInt
ifeq 16
15: ldc "a BigInt value"
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotConvertToNumber:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
16: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Number
ifeq 19
17: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 18
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaPrimitive:(Ljava/lang/Object;)Z
ifne 18
new java.lang.AssertionError
dup
aload 0
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: StackMap locals:
StackMap stack:
aload 0
checkcast java.lang.Number
areturn
19: 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
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: StackMap locals:
StackMap stack:
aload 0
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 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 0: iload 0
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 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 0: aload 0
instanceof java.lang.Integer
ifne 1
aload 0
instanceof java.lang.Double
ifne 1
aload 0
instanceof java.lang.Long
ifne 1
aload 0
instanceof com.oracle.truffle.js.runtime.SafeInteger
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 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 0: aload 0
ldc "number"
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPrimitive:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 1
start local 1 1: aload 1
instanceof java.lang.String
ifeq 6
2: aload 1
checkcast java.lang.String
invokestatic com.oracle.truffle.js.runtime.BigInt.valueOf:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/BigInt;
3: areturn
4: StackMap locals: java.lang.Object java.lang.Object
StackMap stack: java.lang.NumberFormatException
pop
5: getstatic com.oracle.truffle.js.runtime.JSErrorType.SyntaxError:Lcom/oracle/truffle/js/runtime/JSErrorType;
aload 1
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: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.BigInt
ifeq 8
7: aload 1
checkcast com.oracle.truffle.js.runtime.BigInt
areturn
8: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Boolean
ifeq 12
9: aload 1
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: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.JSErrorType.TypeError:Lcom/oracle/truffle/js/runtime/JSErrorType;
aload 1
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 end local 0 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 0: aload 0
instanceof com.oracle.truffle.js.runtime.BigInt
ireturn
end local 0 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 0: aload 0
instanceof java.lang.Number
ireturn
end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.trimJSWhiteSpace:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
invokevirtual java.lang.String.length:()I
ifne 3
2: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 2
start local 2 4: aload 1
invokevirtual java.lang.String.length:()I
ldc "Infinity"
invokevirtual java.lang.String.length:()I
if_icmplt 6
aload 1
invokevirtual java.lang.String.length:()I
ldc "Infinity"
invokevirtual java.lang.String.length:()I
iconst_1
iadd
if_icmpgt 6
aload 1
ldc "Infinity"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 6
5: aload 1
iload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.identifyInfinity:(Ljava/lang/String;C)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
6: StackMap locals: int
StackMap stack:
iload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifne 8
iload 2
bipush 45
if_icmpeq 8
iload 2
bipush 46
if_icmpeq 8
iload 2
bipush 43
if_icmpeq 8
7: ldc NaN
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
8: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumberParse:(Ljava/lang/String;)Ljava/lang/Number;
areturn
end local 2 end local 1 end local 0 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.String.length:()I
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
ldc "0x"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 2
aload 0
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
start local 1 4: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.firstExpIndexInString:(Ljava/lang/String;)I
istore 2
start local 2 5: iload 1
ifne 6
iload 2
iflt 6
iload 2
aload 0
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
start local 3 8: iload 3
ifne 14
aload 0
invokevirtual java.lang.String.length:()I
bipush 18
if_icmpgt 14
aload 0
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 14
9: iload 1
ifeq 12
10: aload 0
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: StackMap locals: int
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumberLong:(Ljava/lang/String;)Ljava/lang/Number;
13: areturn
14: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.parseDoubleOrNaN:(Ljava/lang/String;)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
15: areturn
16: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
17: ldc NaN
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 3 end local 2 end local 1 end local 0 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.String.length:()I
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 1
start local 1 2: lload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.longIsRepresentableAsInt:(J)Z
ifeq 6
3: lload 1
lconst_0
lcmp
ifne 5
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 45
if_icmpne 5
4: ldc -0.0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
5: StackMap locals: long
StackMap stack:
lload 1
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
6: StackMap locals:
StackMap stack:
lload 1
l2d
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 1 end local 0 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 0: aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifne 1
aload 0
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 57
if_icmple 2
1: StackMap locals:
StackMap stack:
ldc NaN
dreturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
3: dreturn
4: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
5: ldc NaN
dreturn
end local 0 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 0: aload 0
bipush 101
iconst_0
invokevirtual java.lang.String.indexOf:(II)I
istore 1
start local 1 1: iload 1
iflt 3
2: iload 1
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
bipush 69
iconst_0
invokevirtual java.lang.String.indexOf:(II)I
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
invokevirtual java.lang.String.length:()I
istore 2
start local 2 1: ldc "Infinity"
invokevirtual java.lang.String.length:()I
istore 3
start local 3 2: iload 2
iload 3
if_icmpne 4
3: ldc Infinity
dreturn
4: StackMap locals: int int
StackMap stack:
iload 2
iload 3
iconst_1
iadd
if_icmpne 9
5: iload 1
bipush 43
if_icmpne 7
6: ldc Infinity
dreturn
7: StackMap locals:
StackMap stack:
iload 1
bipush 45
if_icmpne 9
8: ldc -Infinity
dreturn
9: StackMap locals:
StackMap stack:
ldc NaN
dreturn
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInteger:(Ljava/lang/Number;)J
lreturn
end local 1 end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.longValue:(Ljava/lang/Number;)J
lreturn
end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInteger:(Ljava/lang/Object;)J
lstore 1
start local 1 1: lload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toLength:(J)J
lreturn
end local 1 end local 0 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 0: dload 0
dconst_0
dcmpg
ifgt 2
1: dconst_0
dreturn
2: StackMap locals:
StackMap stack:
dload 0
getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER:D
dcmpl
ifle 4
3: getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER:D
dreturn
4: StackMap locals:
StackMap stack:
dload 0
dreturn
end local 0 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 0: lload 0
lconst_0
lcmp
ifgt 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
lload 0
getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER_LONG:J
lcmp
ifle 4
3: getstatic com.oracle.truffle.js.runtime.JSRuntime.MAX_SAFE_INTEGER_LONG:J
lreturn
4: StackMap locals:
StackMap stack:
lload 0
lreturn
end local 0 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 0: iload 0
ifgt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 0
ireturn
end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt8:(Ljava/lang/Number;)I
ireturn
end local 1 end local 0 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 0: aload 0
instanceof java.lang.Double
ifeq 4
1: aload 0
checkcast java.lang.Double
astore 1
start local 1 2: aload 1
invokevirtual java.lang.Double.doubleValue:()D
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPositiveInfinity:(D)Z
ifeq 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Number.longValue:()J
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt8:(J)I
ireturn
end local 0 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 0: lload 0
ldc 255
land
l2i
ireturn
end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt8:(Ljava/lang/Number;)I
ireturn
end local 1 end local 0 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 0: aload 0
instanceof java.lang.Double
ifeq 4
1: aload 0
checkcast java.lang.Double
astore 1
start local 1 2: aload 1
invokevirtual java.lang.Double.doubleValue:()D
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPositiveInfinity:(D)Z
ifeq 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Number.longValue:()J
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt8:(J)I
ireturn
end local 0 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 0: lload 0
sipush 256
invokestatic java.lang.Math.floorMod:(JI)I
istore 2
start local 2 1: iload 2
sipush 128
if_icmplt 3
2: iinc 2 -256
3: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt16:(Ljava/lang/Number;)I
ireturn
end local 1 end local 0 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 0: aload 0
instanceof java.lang.Double
ifeq 4
1: aload 0
checkcast java.lang.Double
astore 1
start local 1 2: aload 1
invokevirtual java.lang.Double.doubleValue:()D
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPositiveInfinity:(D)Z
ifeq 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
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 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 0: lload 0
ldc 65535
land
l2i
ireturn
end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt16:(Ljava/lang/Number;)I
ireturn
end local 1 end local 0 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 0: aload 0
instanceof java.lang.Double
ifeq 4
1: aload 0
checkcast java.lang.Double
astore 1
start local 1 2: aload 1
invokevirtual java.lang.Double.doubleValue:()D
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPositiveInfinity:(D)Z
ifeq 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Number.longValue:()J
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt16:(J)I
ireturn
end local 0 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 0: lload 0
ldc 65536
invokestatic java.lang.Math.floorMod:(JI)I
istore 2
start local 2 1: iload 2
ldc 32768
if_icmplt 3
2: iload 2
ldc 65536
isub
istore 2
3: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 0 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 0: aload 0
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 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 0: aload 0
instanceof java.lang.Double
ifeq 2
1: aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt32:(D)J
lreturn
2: StackMap locals:
StackMap stack:
aload 0
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 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 0: lload 0
ldc 4294967295
land
lreturn
end local 0 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 0: dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.truncateDouble:(D)D
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt32NoTruncate:(D)J
lreturn
end local 0 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
dload 0
invokestatic java.lang.Double.isFinite:(D)Z
ifeq 1
dload 0
dconst_1
drem
dconst_0
dcmpl
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleModuloTwo32:(D)D
dstore 2
start local 2 2: dload 2
d2l
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt32:(J)J
lreturn
end local 2 end local 0 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 0: dload 0
invokestatic java.lang.Math.signum:(D)D
dload 0
invokestatic java.lang.Math.abs:(D)D
invokestatic com.oracle.truffle.js.runtime.JSRuntime.mathFloor:(D)D
dmul
dreturn
end local 0 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 0: dload 0
dconst_0
dcmpg
ifge 1
dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.mathCeil:(D)D
goto 2
StackMap locals:
StackMap stack:
1: dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.mathFloor:(D)D
StackMap locals:
StackMap stack: double
2: dreturn
end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt32:(Ljava/lang/Number;)I
ireturn
end local 1 end local 0 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 0: aload 0
instanceof java.lang.Double
ifeq 2
1: aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt32:(D)I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Integer
ifeq 4
3: aload 0
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Long
ifeq 6
5: aload 0
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
l2i
ireturn
6: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt32Intl:(Ljava/lang/Number;)I
ireturn
end local 0 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 0: aload 0
invokevirtual java.lang.Number.doubleValue:()D
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt32:(D)I
ireturn
end local 0 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 0: dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.truncateDouble:(D)D
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt32NoTruncate:(D)I
ireturn
end local 0 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
dload 0
invokestatic java.lang.Double.isFinite:(D)Z
ifeq 1
dload 0
dconst_1
drem
dconst_0
dcmpl
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleModuloTwo32:(D)D
d2l
l2i
ireturn
end local 0 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 0: dload 0
dload 0
ldc 4.294967296E9
ddiv
invokestatic com.oracle.truffle.js.runtime.JSRuntime.mathFloor:(D)D
ldc 4.294967296E9
dmul
dsub
dreturn
end local 0 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 0: aload 0
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 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
dreturn
end local 0 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 0: ldc 0.75
aload 0
instanceof java.lang.String
invokestatic com.oracle.truffle.api.CompilerDirectives.injectBranchProbability:(DZ)Z
ifeq 2
1: aload 0
checkcast java.lang.String
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 6
5: ldc "undefined"
areturn
6: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 8
7: ldc "null"
areturn
8: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Boolean
ifeq 10
9: aload 0
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
invokestatic com.oracle.truffle.js.runtime.JSRuntime.booleanToString:(Z)Ljava/lang/String;
areturn
10: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
ifeq 12
11: aload 0
checkcast java.lang.Number
invokestatic com.oracle.truffle.js.runtime.JSRuntime.numberToString:(Ljava/lang/Number;)Ljava/lang/String;
areturn
12: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.Symbol
ifeq 14
13: ldc "a Symbol value"
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotConvertToString:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
14: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.BigInt
ifeq 16
15: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
16: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 18
17: aload 0
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: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 21
19: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 20
aload 0
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: StackMap locals:
StackMap stack:
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toStringTypeError:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 0 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 0: aload 0
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 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 start local 1 0: aload 0
iconst_3
aconst_null
iconst_0
iload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayStringImpl:(Ljava/lang/Object;ILjava/lang/Object;ZZ)Ljava/lang/String;
areturn
end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
iload 1
iconst_1
isub
aload 2
iconst_1
iload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayStringImpl:(Ljava/lang/Object;ILjava/lang/Object;ZZ)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iconst_1
isub
aload 2
iload 3
iload 4
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayStringImpl:(Ljava/lang/Object;ILjava/lang/Object;ZZ)Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
aload 2
if_acmpne 3
2: ldc "(this)"
areturn
3: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 5
4: ldc "undefined"
areturn
5: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 7
6: ldc "null"
areturn
7: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Boolean
ifeq 9
8: aload 0
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
invokestatic com.oracle.truffle.js.runtime.JSRuntime.booleanToString:(Z)Ljava/lang/String;
areturn
9: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 14
10: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 5
start local 5 11: iload 3
ifeq 12
aload 5
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
StackMap locals:
StackMap stack: java.lang.String
13: areturn
end local 5 14: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 16
15: aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
iload 1
iload 4
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.toDisplayString:(Lcom/oracle/truffle/api/object/DynamicObject;IZ)Ljava/lang/String;
areturn
16: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.Symbol
ifeq 18
17: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
18: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.BigInt
ifeq 20
19: new java.lang.StringBuilder
dup
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
ifeq 25
21: aload 0
checkcast java.lang.Number
astore 5
start local 5 22: aload 5
invokevirtual java.lang.Number.doubleValue:()D
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNegativeZero:(D)Z
ifeq 24
23: ldc "-0"
areturn
24: StackMap locals: java.lang.Number
StackMap stack:
aload 5
invokestatic com.oracle.truffle.js.runtime.JSRuntime.numberToString:(Ljava/lang/Number;)Ljava/lang/String;
areturn
end local 5 25: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.interop.InteropFunction
ifeq 27
26: aload 0
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
aload 2
iload 3
iload 4
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayStringImpl:(Ljava/lang/Object;ILjava/lang/Object;ZZ)Ljava/lang/String;
areturn
27: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 30
28: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 29
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSNative:(Ljava/lang/Object;)Z
ifeq 29
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
29: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 4
invokestatic com.oracle.truffle.js.runtime.JSRuntime.foreignToString:(Ljava/lang/Object;IZ)Ljava/lang/String;
areturn
30: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
aconst_null
aconst_null
iload 3
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 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 2
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 1
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 3: aload 1
ifnull 5
4: aload 6
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals: java.lang.StringBuilder
StackMap stack:
iconst_0
istore 7
start local 7 6: iconst_0
istore 8
start local 8 7: ldc -1
lstore 9
start local 9 8: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.isJSArray:(Ljava/lang/Object;)Z
ifeq 13
9: iconst_1
istore 7
10: iconst_1
istore 8
11: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.arrayGetLength:(Lcom/oracle/truffle/api/object/DynamicObject;)J
lstore 9
12: goto 19
StackMap locals: int int long
StackMap stack:
13: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.isJSArrayBufferView:(Ljava/lang/Object;)Z
ifeq 17
14: iconst_1
istore 7
15: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.typedArrayGetLength:(Lcom/oracle/truffle/api/object/DynamicObject;)I
i2l
lstore 9
16: goto 19
StackMap locals:
StackMap stack:
17: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSString.isJSString:(Ljava/lang/Object;)Z
ifeq 19
18: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSString.getStringLength:(Lcom/oracle/truffle/api/object/DynamicObject;)I
i2l
lstore 9
19: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSString.isJSString:(Ljava/lang/Object;)Z
istore 11
start local 11 20: ldc -1
lstore 12
start local 12 21: iload 7
ifeq 34
22: lload 9
lconst_0
lcmp
ifle 37
23: iload 2
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
start local 14 26: iload 2
ifle 27
iload 14
ifne 31
lload 9
ldc 20
lcmp
ifle 31
27: StackMap locals: int
StackMap stack:
aload 1
ifnonnull 29
28: aload 6
ldc "Array"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
29: StackMap locals:
StackMap stack:
aload 6
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
lload 9
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
30: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
31: StackMap locals:
StackMap stack:
iload 14
ifeq 37
lload 9
ldc 2
lcmp
iflt 37
32: aload 6
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
lload 9
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 14 33: goto 37
StackMap locals:
StackMap stack:
34: iload 2
ifgt 37
35: aload 6
ldc "{...}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
36: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
37: StackMap locals:
StackMap stack:
aload 6
iload 7
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: iconst_0
istore 14
start local 14 41: aload 0
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
start local 15 43: aload 0
aload 15
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
start local 17 44: iload 7
ifne 45
iload 11
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
ldc "length"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 85
StackMap locals:
StackMap stack:
46: iload 11
ifeq 48
aload 15
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(Ljava/lang/Object;)Z
ifeq 48
aload 15
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.parseArrayIndexRaw:(Ljava/lang/String;)J
lload 9
lcmp
ifge 48
47: goto 85
48: StackMap locals:
StackMap stack:
iload 14
ifle 53
49: aload 6
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
50: iload 14
bipush 20
if_icmplt 53
51: aload 6
ldc "..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
52: goto 86
53: StackMap locals:
StackMap stack:
iload 8
ifeq 71
54: aload 15
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(Ljava/lang/Object;)Z
ifeq 64
55: aload 15
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.parseArrayIndexRaw:(Ljava/lang/String;)J
lstore 18
start local 18 56: lload 18
lload 9
lcmp
ifge 62
aload 6
lload 18
lload 12
iconst_0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.fillEmptyArrayElements:(Ljava/lang/StringBuilder;JJZ)Z
ifeq 62
57: aload 6
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
58: iinc 14 1
59: iload 14
bipush 20
if_icmplt 62
60: aload 6
ldc "..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
61: goto 86
62: StackMap locals: long
StackMap stack:
lload 18
lstore 12
end local 18 63: goto 71
64: StackMap locals:
StackMap stack:
aload 6
lload 9
lload 12
iconst_0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.fillEmptyArrayElements:(Ljava/lang/StringBuilder;JJZ)Z
ifeq 70
65: aload 6
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
66: iinc 14 1
67: iload 14
bipush 20
if_icmplt 70
68: aload 6
ldc "..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
69: goto 86
70: StackMap locals:
StackMap stack:
lload 12
lload 9
invokestatic java.lang.Math.max:(JJ)J
lstore 12
71: StackMap locals:
StackMap stack:
iload 7
ifeq 72
aload 15
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(Ljava/lang/Object;)Z
ifne 74
72: StackMap locals:
StackMap stack:
aload 6
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
73: aload 6
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
74: StackMap locals:
StackMap stack:
aconst_null
astore 18
start local 18 75: aload 17
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isDataDescriptor:()Z
ifeq 79
76: aload 17
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getValue:()Ljava/lang/Object;
astore 19
start local 19 77: aload 19
iload 2
aload 0
iload 5
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayString:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/String;
astore 18
end local 19 78: goto 83
StackMap locals: java.lang.String
StackMap stack:
79: aload 17
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isAccessorDescriptor:()Z
ifeq 82
80: ldc "accessor"
astore 18
81: goto 83
82: StackMap locals:
StackMap stack:
ldc "empty"
astore 18
83: StackMap locals:
StackMap stack:
aload 6
aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
84: iinc 14 1
end local 18 end local 17 end local 15 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:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 42
86: 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
ifeq 91
iload 14
bipush 20
if_icmpge 91
87: aload 6
lload 9
lload 12
iload 14
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: iinc 14 1
91: StackMap locals:
StackMap stack:
aload 3
ifnull 102
92: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 94
aload 4
ifnull 93
aload 3
arraylength
aload 4
arraylength
if_icmpeq 94
StackMap locals:
StackMap stack:
93: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
94: StackMap locals:
StackMap stack:
iconst_0
istore 15
start local 15 95: goto 101
96: StackMap locals: int
StackMap stack:
iload 14
ifle 98
97: aload 6
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
98: StackMap locals:
StackMap stack:
aload 6
ldc "[["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
iload 15
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
iload 15
aaload
iload 2
aload 0
iload 5
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: iinc 14 1
100: iinc 15 1
StackMap locals:
StackMap stack:
101: iload 15
aload 3
arraylength
if_icmplt 96
end local 15 102: StackMap locals:
StackMap stack:
aload 6
iload 7
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: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 14 end local 12 end local 11 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 0
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
start local 4 2: aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
ifeq 4
3: ldc "null"
areturn
4: StackMap locals: java.lang.Object int int top com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
ifeq 7
5: aload 0
iload 1
iload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.foreignArrayToString:(Ljava/lang/Object;IZ)Ljava/lang/String;
6: areturn
7: StackMap locals:
StackMap stack:
aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
ifeq 10
8: aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
9: areturn
10: StackMap locals:
StackMap stack:
aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
ifeq 13
11: aload 4
aload 0
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: StackMap locals:
StackMap stack:
aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
ifeq 25
14: ldc "Number"
astore 5
start local 5 15: aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInInt:(Ljava/lang/Object;)Z
ifeq 18
16: aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInt:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 5
17: goto 23
StackMap locals: java.lang.Object
StackMap stack:
18: aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
ifeq 21
19: aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
astore 5
20: goto 23
StackMap locals:
StackMap stack:
21: aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInDouble:(Ljava/lang/Object;)Z
ifeq 23
22: aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDouble:(Ljava/lang/Object;)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
astore 5
23: StackMap locals:
StackMap stack:
aload 5
iconst_0
aconst_null
iload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayString:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/String;
24: areturn
end local 5 25: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
dup
astore 3
start local 3 26: aload 0
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isHostObject:(Ljava/lang/Object;)Z
ifeq 35
27: aload 3
aload 0
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asHostObject:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 28: aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 6
start local 6 29: aload 6
ldc Ljava/lang/Class;
if_acmpne 33
30: aload 5
checkcast java.lang.Class
astore 6
31: new java.lang.StringBuilder
dup
ldc "JavaClass["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
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: 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
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 end local 5 35: StackMap locals:
StackMap stack:
aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaObject:(Ljava/lang/Object;)Z
ifeq 38
36: 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
aload 0
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: StackMap locals:
StackMap stack:
aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
ifeq 41
aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
ifne 41
aload 4
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstantiable:(Ljava/lang/Object;)Z
ifne 41
39: aload 0
iload 1
iload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.foreignObjectToString:(Ljava/lang/Object;IZ)Ljava/lang/String;
40: areturn
41: 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
aload 0
iload 2
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 end local 3 43: StackMap locals: java.lang.Object int int
StackMap stack: com.oracle.truffle.api.interop.InteropException
pop
44: ldc "Object"
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 0
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
start local 3 2: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 3
aload 3
aload 0
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: StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 3
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
lstore 4
start local 4 4: lload 4
lconst_0
lcmp
ifne 6
5: ldc "[]"
areturn
6: StackMap locals: long
StackMap stack:
iload 1
ifgt 8
7: new java.lang.StringBuilder
dup
ldc "Array("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 4
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: StackMap locals:
StackMap stack:
iload 1
iconst_3
if_icmpne 9
iconst_1
goto 10
StackMap locals:
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 6
start local 6 11: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 7
start local 7 12: iload 6
ifeq 14
lload 4
ldc 2
lcmp
iflt 14
13: aload 7
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
14: StackMap locals: int java.lang.StringBuilder
StackMap stack:
aload 7
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: lconst_0
lstore 8
start local 8 16: goto 25
17: StackMap locals: long
StackMap stack:
lload 8
lconst_0
lcmp
ifle 22
18: aload 7
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: lload 8
ldc 20
lcmp
iflt 22
20: aload 7
ldc "..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: goto 26
22: StackMap locals:
StackMap stack:
aload 3
aload 0
lload 8
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
astore 10
start local 10 23: aload 7
aload 10
iload 1
aload 0
iload 2
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 24: lload 8
lconst_1
ladd
lstore 8
StackMap locals:
StackMap stack:
25: lload 8
lload 4
lcmp
iflt 17
end local 8 26: StackMap locals:
StackMap stack:
aload 7
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
27: aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
iconst_3
iconst_1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.javaArrayToString:(Ljava/lang/Object;IZ)Ljava/lang/String;
areturn
end local 0 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 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
ifnonnull 3
2: ldc "null"
areturn
3: StackMap locals:
StackMap stack:
iload 1
ifgt 5
4: ldc "[...]"
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
iconst_1
isub
istore 3
start local 3 6: iload 3
iconst_m1
if_icmpne 8
7: ldc "[]"
areturn
8: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 9: aload 4
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: iconst_0
istore 5
start local 5 11: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 0
iload 5
invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
astore 6
start local 6 12: aload 6
invokestatic com.oracle.truffle.js.nodes.JSGuards.isJavaArray:(Ljava/lang/Object;)Z
ifeq 15
13: aload 4
aload 6
iload 1
iconst_1
isub
iload 2
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: goto 16
15: StackMap locals: java.lang.Object
StackMap stack:
aload 4
aload 6
iload 1
aload 0
iload 2
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: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmpne 18
17: aload 4
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
18: StackMap locals:
StackMap stack:
aload 4
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 19: iinc 5 1
goto 11
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 0
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
start local 3 2: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 3
aload 3
aload 0
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: StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
iload 2
ifeq 5
aload 3
aload 0
ldc "toString"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInvocable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 5
4: aload 3
aload 0
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: StackMap locals:
StackMap stack:
aload 3
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMembers:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 6: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 4
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
start local 5 7: aload 5
aload 4
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
lstore 6
start local 6 8: lload 6
lconst_0
lcmp
ifne 10
9: ldc "{}"
areturn
10: StackMap locals: java.lang.Object com.oracle.truffle.api.interop.InteropLibrary long
StackMap stack:
iload 1
ifgt 12
11: ldc "{...}"
areturn
12: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 8
start local 8 13: aload 8
bipush 123
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
14: lconst_0
lstore 9
start local 9 15: goto 31
16: StackMap locals: java.lang.StringBuilder long
StackMap stack:
lload 9
lconst_0
lcmp
ifle 21
17: aload 8
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: lload 9
ldc 20
lcmp
iflt 21
19: aload 8
ldc "..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: goto 32
21: StackMap locals:
StackMap stack:
aload 5
aload 4
lload 9
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
astore 11
start local 11 22: 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
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: StackMap locals: java.lang.Object
StackMap stack:
aload 11
instanceof java.lang.String
ifeq 24
aload 11
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
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
25: astore 12
start local 12 26: aload 3
aload 0
aload 12
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 13
start local 13 27: aload 8
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
28: aload 8
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
29: aload 8
aload 13
iload 1
aload 0
iload 2
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 end local 12 end local 11 30: lload 9
lconst_1
ladd
lstore 9
StackMap locals:
StackMap stack:
31: lload 9
lload 6
lcmp
iflt 16
end local 9 32: StackMap locals:
StackMap stack:
aload 8
bipush 125
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
33: aload 8
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 8 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 3 start local 5 0: lload 3
lload 1
lconst_1
lsub
lcmp
ifge 10
1: iload 5
ifeq 3
2: aload 0
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: StackMap locals:
StackMap stack:
lload 1
lload 3
lsub
lconst_1
lsub
lstore 6
start local 6 4: lload 6
lconst_1
lcmp
ifne 7
5: aload 0
ldc "empty"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: goto 9
7: StackMap locals: long
StackMap stack:
aload 0
ldc "empty \u00D7 "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 0
lload 6
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
pop
9: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 6 10: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 end local 3 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSMap.isJSMap:(Ljava/lang/Object;)Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 2
aload 1
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.js.runtime.util.JSHashMap.size:()I
istore 5
start local 5 3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 4: aload 6
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 6
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: iload 5
ifle 23
iload 3
ifle 23
7: aload 6
bipush 123
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSMap.isJSMap:(Ljava/lang/Object;)Z
istore 7
start local 7 9: iconst_1
istore 8
start local 8 10: aload 2
invokevirtual com.oracle.truffle.js.runtime.util.JSHashMap.getEntries:()Lcom/oracle/truffle/js/runtime/util/JSHashMap$Cursor;
astore 9
start local 9 11: goto 21
12: 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
invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.getKey:()Ljava/lang/Object;
astore 10
start local 10 13: aload 10
ifnull 21
14: iload 8
ifne 16
15: aload 6
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: StackMap locals: java.lang.Object
StackMap stack:
aload 6
aload 10
iload 3
aload 0
iload 4
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: iload 7
ifeq 20
18: aload 6
ldc " => "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: aload 6
aload 9
invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.getValue:()Ljava/lang/Object;
iload 3
aload 0
iload 4
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: StackMap locals:
StackMap stack:
iconst_0
istore 8
end local 10 21: StackMap locals:
StackMap stack:
aload 9
invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.advance:()Z
ifne 12
22: aload 6
bipush 125
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 9 end local 8 end local 7 23: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
ifnonnull 1
ldc "null"
goto 3
StackMap locals:
StackMap stack:
1: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 2
aload 0
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
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
start local 1 4: aload 1
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorCannotConvertToString:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 1 end local 0 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 0: iload 0
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 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 0: aload 0
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 2
1: ldc "undefined"
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 4
3: ldc "null"
areturn
4: StackMap locals:
StackMap stack:
aload 0
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 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 0: aload 0
instanceof java.lang.Integer
ifeq 2
1: aload 0
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic com.oracle.truffle.js.runtime.Boundaries.stringValueOf:(I)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.SafeInteger
ifeq 4
3: aload 0
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: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Double
ifeq 6
5: aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleToString:(D)Ljava/lang/String;
areturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Long
ifeq 8
7: aload 0
invokevirtual java.lang.Number.longValue:()J
invokestatic com.oracle.truffle.js.runtime.Boundaries.stringValueOf:(J)Ljava/lang/String;
areturn
8: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
9: 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
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
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 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 0: aload 0
instanceof java.lang.String
ifeq 2
1: aload 0
checkcast java.lang.String
invokevirtual java.lang.String.length:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
ifeq 4
3: aload 0
checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.length:()I
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.lengthIntl:(Ljava/lang/CharSequence;)I
ireturn
end local 0 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 start local 1 start local 2 0: aload 1
aload 0
instanceof java.lang.String
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 2
1: aload 0
checkcast java.lang.String
invokevirtual java.lang.String.length:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 2
aload 0
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 4
3: aload 0
checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.length:()I
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.lengthIntl:(Ljava/lang/CharSequence;)I
ireturn
end local 2 end local 1 end local 0 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 0: aload 0
invokeinterface java.lang.CharSequence.length:()I
ireturn
end local 0 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 start local 1 0: aload 0
instanceof java.lang.String
ifeq 2
1: aload 0
checkcast java.lang.String
iload 1
invokevirtual java.lang.String.charAt:(I)C
ireturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
ifeq 4
3: aload 0
checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
iload 1
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.charAt:(I)C
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.charAtIntl:(Ljava/lang/CharSequence;I)C
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
iload 1
invokeinterface java.lang.CharSequence.charAt:(I)C
ireturn
end local 1 end local 0 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 0: aload 0
instanceof java.lang.String
ifeq 2
1: aload 0
checkcast java.lang.String
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
ifeq 4
3: aload 0
checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.Boundaries.javaToString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 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 start local 1 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.String
ifeq 7
2: aload 1
instanceof java.lang.String
ifeq 4
3: aload 0
checkcast java.lang.String
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
ifeq 6
5: aload 0
checkcast java.lang.String
aload 1
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: StackMap locals:
StackMap stack:
iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.Symbol
ifeq 9
8: aload 0
checkcast com.oracle.truffle.js.runtime.Symbol
aload 1
invokevirtual com.oracle.truffle.js.runtime.Symbol.equals:(Ljava/lang/Object;)Z
ireturn
9: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.js.runtime.Errors.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 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 start local 2 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 2
iload 2
iconst_2
if_icmplt 1
iload 2
bipush 36
if_icmple 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 4
3: ldc "NaN"
areturn
4: StackMap locals:
StackMap stack:
dload 0
ldc Infinity
dcmpl
ifne 6
5: ldc "Infinity"
areturn
6: StackMap locals:
StackMap stack:
dload 0
ldc -Infinity
dcmpl
ifne 8
7: ldc "-Infinity"
areturn
8: StackMap locals:
StackMap stack:
dload 0
dconst_0
dcmpl
ifne 10
9: ldc "0"
areturn
10: StackMap locals:
StackMap stack:
dload 0
iload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.formatDtoA:(DI)Ljava/lang/String;
areturn
end local 2 end local 0 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 0: dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 2
1: ldc "NaN"
areturn
2: StackMap locals:
StackMap stack:
dload 0
ldc Infinity
dcmpl
ifne 4
3: ldc "Infinity"
areturn
4: StackMap locals:
StackMap stack:
dload 0
ldc -Infinity
dcmpl
ifne 6
5: ldc "-Infinity"
areturn
6: StackMap locals:
StackMap stack:
dload 0
dconst_0
dcmpl
ifne 8
7: ldc "0"
areturn
8: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsInt:(D)Z
ifeq 10
9: dload 0
d2i
invokestatic com.oracle.truffle.js.runtime.Boundaries.stringValueOf:(I)Ljava/lang/String;
areturn
10: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.formatDtoA:(D)Ljava/lang/String;
areturn
end local 0 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 0: dload 0
invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.toShortest:(D)Ljava/lang/String;
areturn
end local 0 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 start local 2 0: dload 0
iload 2
invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.toPrecision:(DI)Ljava/lang/String;
areturn
end local 2 end local 0 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 start local 2 0: dload 0
iload 2
invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.toExponential:(DI)Ljava/lang/String;
areturn
end local 2 end local 0 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 0: dload 0
iconst_m1
invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.toExponential:(DI)Ljava/lang/String;
areturn
end local 0 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 start local 2 0: dload 0
iload 2
invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.toFixed:(DI)Ljava/lang/String;
areturn
end local 2 end local 0 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 start local 2 0: iload 2
dload 0
invokestatic com.oracle.truffle.js.runtime.external.DToA.jsDtobasestr:(ID)Ljava/lang/String;
areturn
end local 2 end local 0 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 start local 1 0: aload 1
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.requireObjectCoercible:(Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/Object;
pop
1: ldc 0.75
aload 1
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: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
areturn
3: StackMap locals:
StackMap stack:
aload 1
astore 2
start local 2 4: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 10
5: aload 1
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
astore 3
start local 3 6: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 7
aload 3
aload 1
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: StackMap locals: java.lang.Object com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 1
aconst_null
aload 3
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
8: aload 2
ifnonnull 10
9: aload 1
checkcast com.oracle.truffle.api.interop.TruffleObject
areturn
end local 3 10: StackMap locals:
StackMap stack:
aload 0
aload 2
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
instanceof java.lang.Boolean
ifeq 2
1: aload 0
aload 1
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: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.String
ifeq 4
3: aload 0
aload 1
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: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
ifeq 6
5: aload 0
aload 1
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: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.BigInt
ifeq 8
7: aload 0
aload 1
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: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
ifeq 10
9: aload 0
aload 1
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: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.Symbol
ifeq 12
11: aload 0
aload 1
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: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 14
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSNative:(Ljava/lang/Object;)Z
ifne 13
aload 1
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
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
14: StackMap locals:
StackMap stack:
iload 2
ifeq 16
15: aload 0
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
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asBoxedGuestValue:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
areturn
16: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 2
aload 1
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 4
aload 1
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Integer
ifeq 7
aload 1
instanceof java.lang.Integer
ifeq 7
5: aload 0
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 1
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
ifeq 12
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
ifeq 12
8: aload 0
checkcast java.lang.Number
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
dstore 2
start local 2 9: aload 1
checkcast java.lang.Number
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
dstore 4
start local 4 10: dload 2
dload 4
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 end local 2 12: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 14
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 14
13: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
14: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Boolean
ifeq 17
aload 1
instanceof java.lang.Boolean
ifeq 17
15: aload 0
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
aload 1
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
ifeq 20
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
ifeq 20
18: aload 0
checkcast com.oracle.truffle.js.runtime.BigInt
aload 1
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: StackMap locals:
StackMap stack:
aload 0
aload 1
if_acmpne 21
iconst_1
ireturn
StackMap locals:
StackMap stack:
21: iconst_0
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 3
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 4
3: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNullish:(Ljava/lang/Object;)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 1
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 5
aload 1
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 6
5: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNullish:(Ljava/lang/Object;)Z
ireturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Boolean
ifeq 8
aload 1
instanceof java.lang.Boolean
ifeq 8
7: aload 0
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
8: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 10
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 10
9: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
10: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
ifeq 15
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
ifeq 15
11: aload 0
checkcast java.lang.Number
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
dstore 2
start local 2 12: aload 1
checkcast java.lang.Number
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
dstore 4
start local 4 13: dload 2
dload 4
dcmpl
ifne 14
iconst_1
ireturn
StackMap locals: double double
StackMap stack:
14: iconst_0
ireturn
end local 4 end local 2 15: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 18
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 18
16: aload 0
aload 1
if_acmpne 17
iconst_1
ireturn
StackMap locals:
StackMap stack:
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
ifeq 20
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 20
19: aload 0
aload 1
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 22
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
ifeq 22
21: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumber:(Ljava/lang/String;)Ljava/lang/Number;
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
22: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
ifeq 24
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
ifeq 24
23: aload 0
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
24: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
ifeq 26
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 26
25: aload 0
aload 1
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 28
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
ifeq 28
27: aload 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
ifeq 30
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
ifeq 30
29: aload 1
checkcast com.oracle.truffle.js.runtime.BigInt
aload 0
checkcast java.lang.Number
invokestatic com.oracle.truffle.js.runtime.JSRuntime.equalBigIntAndNumber:(Lcom/oracle/truffle/js/runtime/BigInt;Ljava/lang/Number;)Z
ireturn
30: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
ifeq 32
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
ifeq 32
31: aload 0
checkcast com.oracle.truffle.js.runtime.BigInt
aload 1
checkcast java.lang.Number
invokestatic com.oracle.truffle.js.runtime.JSRuntime.equalBigIntAndNumber:(Lcom/oracle/truffle/js/runtime/BigInt;Ljava/lang/Number;)Z
ireturn
32: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Boolean
ifeq 34
33: aload 0
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
invokestatic com.oracle.truffle.js.runtime.JSRuntime.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
34: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Boolean
ifeq 36
35: aload 0
aload 1
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifeq 40
37: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 39
aload 1
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 38
aload 1
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: StackMap locals:
StackMap stack:
aload 0
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
invokestatic com.oracle.truffle.js.runtime.JSRuntime.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
40: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifeq 44
41: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 43
aload 1
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 42
aload 1
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: StackMap locals:
StackMap stack:
aload 0
aload 1
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifne 45
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 46
45: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.equalInterop:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
46: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 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 0: aload 0
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 1
aload 0
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 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifne 3
aload 0
instanceof com.oracle.truffle.js.runtime.Symbol
ifne 3
aload 0
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
ifne 3
aload 0
instanceof com.oracle.truffle.js.runtime.SafeInteger
ifne 3
1: aload 0
instanceof com.oracle.truffle.js.runtime.BigInt
ifne 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 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 start local 1 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 2
aload 0
ifnull 1
aload 1
ifnonnull 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 3: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 6
4: aload 0
aload 2
aload 0
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
start local 3 5: goto 9
end local 3 6: StackMap locals: java.lang.Object
StackMap stack:
aload 0
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
StackMap locals:
StackMap stack: java.lang.Object
8: astore 3
start local 3 9: StackMap locals: java.lang.Object
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 12
10: aload 1
aload 2
aload 1
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
start local 4 11: goto 15
end local 4 12: StackMap locals:
StackMap stack:
aload 1
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
StackMap locals:
StackMap stack: java.lang.Object
14: astore 4
start local 4 15: StackMap locals: java.lang.Object
StackMap stack:
aload 3
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 16
aload 4
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 18
16: StackMap locals:
StackMap stack:
aload 3
aload 4
if_acmpne 17
iconst_1
ireturn
StackMap locals:
StackMap stack:
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 3
aload 2
if_acmpeq 19
aload 4
aload 2
if_acmpne 22
19: StackMap locals:
StackMap stack:
aload 3
aload 2
if_acmpne 21
aload 4
aload 2
if_acmpne 21
20: aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.Boundaries.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
21: StackMap locals:
StackMap stack:
iconst_0
ireturn
22: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 24
aload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifne 23
aload 4
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: StackMap locals:
StackMap stack:
aload 3
aload 4
invokestatic com.oracle.truffle.js.runtime.JSRuntime.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 1
instanceof java.lang.Double
ifne 1
aload 1
instanceof java.lang.Float
ifeq 4
1: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
dstore 2
start local 2 2: dload 2
invokestatic java.lang.Double.isNaN:(D)Z
ifne 3
aload 0
dload 2
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 4: StackMap locals:
StackMap stack:
aload 0
aload 1
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 end local 0 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 start local 1 0: aload 0
aload 1
if_acmpne 6
1: aload 0
instanceof java.lang.Double
ifeq 5
2: aload 0
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: StackMap locals:
StackMap stack:
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 7
aload 1
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 8
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 11
9: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 10
aload 1
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: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
ireturn
11: StackMap locals:
StackMap stack:
aload 1
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 14
12: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 13
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
ireturn
14: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
ifeq 16
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
ifeq 16
15: aload 0
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
16: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
ifeq 22
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
ifeq 22
17: aload 0
instanceof java.lang.Integer
ifeq 20
aload 1
instanceof java.lang.Integer
ifeq 20
18: aload 0
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 1
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: StackMap locals:
StackMap stack:
aload 0
checkcast java.lang.Number
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
aload 1
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: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Boolean
ifeq 24
aload 1
instanceof java.lang.Boolean
ifeq 24
23: aload 0
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
24: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 26
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 26
25: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
26: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifne 27
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifeq 28
27: StackMap locals:
StackMap stack:
iconst_0
ireturn
28: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
astore 2
start local 2 29: aload 1
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
astore 3
start local 3 30: aload 2
aload 0
aload 1
aload 3
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
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
ifeq 31
aload 3
aload 1
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 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 1
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 1
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 2
aload 0
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
aconst_null
aload 1
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: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifne 2
1: aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotAnObject:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
astore 1
start local 1 3: invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createEmpty:()Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 2
start local 2 4: aload 1
ldc "enumerable"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ifeq 6
5: aload 2
aload 1
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: StackMap locals: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.objects.PropertyDescriptor
StackMap stack:
aload 1
ldc "configurable"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ifeq 8
7: aload 2
aload 1
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: StackMap locals:
StackMap stack:
aload 1
ldc "value"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
istore 3
start local 3 9: iload 3
ifeq 11
10: aload 2
aload 1
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: StackMap locals: int
StackMap stack:
aload 1
ldc "writable"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
istore 4
start local 4 12: iload 4
ifeq 14
13: aload 2
aload 1
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: StackMap locals: int
StackMap stack:
aload 1
ldc "get"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
istore 5
start local 5 15: iload 5
ifeq 20
16: aload 1
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
start local 6 17: aload 6
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallable:(Ljava/lang/Object;)Z
ifne 19
aload 6
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 19
18: 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: StackMap locals: int java.lang.Object
StackMap stack:
aload 2
aload 6
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 20: StackMap locals:
StackMap stack:
aload 1
ldc "set"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
istore 6
start local 6 21: iload 6
ifeq 26
22: aload 1
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
start local 7 23: aload 7
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallable:(Ljava/lang/Object;)Z
ifne 25
aload 7
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 25
24: 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: StackMap locals: int java.lang.Object
StackMap stack:
aload 2
aload 7
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 26: StackMap locals:
StackMap stack:
iload 5
ifne 27
iload 6
ifeq 29
27: StackMap locals:
StackMap stack:
iload 3
ifne 28
iload 4
ifeq 29
28: 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: StackMap locals:
StackMap stack:
aload 2
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: iload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifeq 2
1: iload 0
bipush 48
isub
ireturn
2: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 0 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 start local 1 0: iload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.valueInRadixIntl:(C)I
istore 2
start local 2 1: iload 2
iload 1
if_icmpge 2
iload 2
goto 3
StackMap locals: int
StackMap stack:
2: iconst_m1
StackMap locals:
StackMap stack: int
3: ireturn
end local 2 end local 1 end local 0 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 0: iload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifeq 2
1: iload 0
bipush 48
isub
ireturn
2: StackMap locals:
StackMap stack:
bipush 97
iload 0
if_icmpgt 4
iload 0
bipush 122
if_icmpgt 4
3: iload 0
bipush 97
isub
bipush 10
iadd
ireturn
4: StackMap locals:
StackMap stack:
bipush 65
iload 0
if_icmpgt 6
iload 0
bipush 90
if_icmpgt 6
5: iload 0
bipush 65
isub
bipush 10
iadd
ireturn
6: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 0 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 0: iload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifeq 2
1: iload 0
bipush 48
isub
ireturn
2: StackMap locals:
StackMap stack:
bipush 97
iload 0
if_icmpgt 4
iload 0
bipush 102
if_icmpgt 4
3: iload 0
bipush 97
isub
bipush 10
iadd
ireturn
4: StackMap locals:
StackMap stack:
bipush 65
iload 0
if_icmpgt 6
iload 0
bipush 70
if_icmpgt 6
5: iload 0
bipush 65
isub
bipush 10
iadd
ireturn
6: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 0 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 0: iload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifne 3
bipush 97
iload 0
if_icmpgt 1
iload 0
bipush 102
if_icmple 3
StackMap locals:
StackMap stack:
1: bipush 65
iload 0
if_icmpgt 2
iload 0
bipush 70
if_icmple 3
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 0 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 0: lconst_0
lstore 1
start local 1 1: iconst_0
istore 3
start local 3 2: aload 0
invokevirtual java.lang.String.length:()I
istore 4
start local 4 3: iload 4
iconst_1
if_icmple 11
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 48
if_icmpne 11
4: ldc -1
lreturn
5: StackMap locals: long int int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 6: iload 5
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifne 8
7: ldc -1
lreturn
8: StackMap locals: int
StackMap stack:
lload 1
ldc 10
lmul
lstore 1
9: lload 1
iload 5
bipush 48
isub
i2l
ladd
lstore 1
10: iinc 3 1
end local 5 11: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmplt 5
12: lload 1
lreturn
end local 4 end local 3 end local 1 end local 0 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 0: aload 0
iconst_0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.trimJSWhiteSpace:(Ljava/lang/String;Z)Ljava/lang/String;
areturn
end local 0 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 start local 1 0: aload 0
iload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.firstNonWhitespaceIndex:(Ljava/lang/String;Z)I
istore 2
start local 2 1: aload 0
iload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.lastNonWhitespaceIndex:(Ljava/lang/String;Z)I
istore 3
start local 3 2: iload 2
ifne 5
3: iload 3
iconst_1
iadd
aload 0
invokevirtual java.lang.String.length:()I
if_icmpne 7
4: aload 0
areturn
5: StackMap locals: int int
StackMap stack:
iload 2
iload 3
if_icmple 7
6: ldc ""
areturn
7: StackMap locals:
StackMap stack:
aload 0
iload 2
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: iconst_0
istore 2
start local 2 1: goto 3
2: StackMap locals: int
StackMap stack:
iinc 2 1
3: StackMap locals:
StackMap stack:
iload 2
aload 0
invokevirtual java.lang.String.length:()I
if_icmpge 4
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isWhiteSpace:(C)Z
ifne 2
iload 1
ifeq 4
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLineTerminator:(C)Z
ifne 2
4: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
istore 2
start local 2 1: goto 3
2: StackMap locals: int
StackMap stack:
iinc 2 -1
3: StackMap locals:
StackMap stack:
iload 2
iflt 4
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isWhiteSpace:(C)Z
ifne 2
iload 1
ifeq 4
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLineTerminator:(C)Z
ifne 2
4: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 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 0: iload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
bipush 9
iload 0
if_icmpgt 3
iload 0
bipush 13
if_icmple 7
StackMap locals:
StackMap stack:
3: sipush 8192
iload 0
if_icmpgt 4
iload 0
sipush 8202
if_icmple 7
StackMap locals:
StackMap stack:
4: iload 0
bipush 32
if_icmpeq 7
iload 0
sipush 160
if_icmpeq 7
iload 0
sipush 5760
if_icmpeq 7
iload 0
sipush 8232
if_icmpeq 7
iload 0
sipush 8233
if_icmpeq 7
iload 0
sipush 8239
if_icmpeq 7
5: iload 0
sipush 8287
if_icmpeq 7
iload 0
sipush 12288
if_icmpeq 7
iload 0
ldc 65279
if_icmpeq 7
6: iconst_0
ireturn
StackMap locals:
StackMap stack:
7: iconst_1
ireturn
end local 0 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 0: iload 0
lookupswitch { // 4
10: 1
13: 1
8232: 1
8233: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 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 0: lconst_0
lload 0
lcmp
ifgt 1
lload 0
ldc 4294967295
lcmp
ifgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 0: dload 0
d2l
lstore 2
start local 2 1: dload 0
lload 2
l2d
dcmpl
ifne 2
lload 2
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 end local 0 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 0: iload 0
iflt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 0: lconst_0
lload 0
lcmp
ifgt 1
lload 0
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 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 0: iload 0
iflt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 0: lconst_0
lload 0
lcmp
ifgt 1
lload 0
ldc 4294967295
lcmp
ifge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 0: dload 0
d2l
lstore 2
start local 2 1: lload 2
l2d
dload 0
dcmpl
ifne 2
lload 2
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 end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.propertyNameToArrayIndex:(Ljava/lang/String;)J
lstore 1
start local 1 1: lload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
ireturn
end local 1 end local 0 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 0: aload 0
instanceof java.lang.Integer
ifeq 2
1: aload 0
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(I)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Long
ifeq 4
3: aload 0
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Double
ifeq 6
5: aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(D)Z
ireturn
6: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 9
7: aload 0
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
start local 1 8: lload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
ireturn
end local 1 9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
dload 0
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: StackMap locals:
StackMap stack:
dload 0
d2l
ldc 4294967295
land
lreturn
end local 0 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
lload 0
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: StackMap locals:
StackMap stack:
lload 0
lreturn
end local 0 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 0: bipush 48
iload 0
if_icmpgt 1
iload 0
bipush 57
if_icmpgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 0: aload 0
ifnull 3
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.arrayIndexLengthInRange:(Ljava/lang/String;)Z
ifeq 3
1: aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifeq 3
2: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.parseArrayIndexRaw:(Ljava/lang/String;)J
lreturn
3: StackMap locals:
StackMap stack:
ldc -1
lreturn
end local 0 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 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: iload 1
ifle 2
iload 1
bipush 10
if_icmpgt 2
iconst_1
ireturn
StackMap locals: int
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 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 0: aload 0
instanceof java.lang.String
ifeq 1
aload 0
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 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 0: aload 0
ifnull 3
aload 0
invokevirtual java.lang.String.length:()I
ifle 3
aload 0
invokevirtual java.lang.String.length:()I
bipush 16
if_icmpgt 3
1: aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifeq 3
2: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.parseArrayIndexRaw:(Ljava/lang/String;)J
lreturn
3: StackMap locals:
StackMap stack:
ldc -1
lreturn
end local 0 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 0: aload 0
instanceof java.lang.String
ifeq 1
aload 0
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 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifne 1
aload 0
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 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
ifne 1
aload 0
instanceof com.oracle.truffle.js.runtime.BigInt
ifne 1
aload 0
instanceof java.lang.Boolean
ifne 1
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifne 1
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 1
aload 0
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 1
aload 0
instanceof com.oracle.truffle.js.runtime.Symbol
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 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 0: aload 0
instanceof java.lang.String
ifne 1
aload 0
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 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.String
ifeq 3
2: aload 0
checkcast java.lang.String
areturn
3: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 4
aload 0
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: StackMap locals:
StackMap stack:
aload 0
checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.toString:()Ljava/lang/String;
areturn
end local 0 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 0: aload 0
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
ireturn
end local 0 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 0: ldc Ljava/lang/String;
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 1
ldc Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
aload 0
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 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 0: aload 0
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
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 0 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 0: aload 0
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
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 0 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 0: aload 0
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
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 0 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 0: aload 0
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
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
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 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 0: aload 0
instanceof java.lang.String
ifne 1
aload 0
instanceof com.oracle.truffle.js.runtime.Symbol
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 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 start local 2 0: aload 2
lload 0
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: lload 0
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
4: StackMap locals:
StackMap stack:
lload 0
l2d
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 2 end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.BigInt.valueOf:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/BigInt;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
3: aconst_null
areturn
end local 0 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 0: aload 0
instanceof java.lang.Integer
ifeq 2
1: aload 0
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Double
ifeq 4
3: aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.intValue:()I
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.intValueVirtual:(Ljava/lang/Number;)I
ireturn
end local 0 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 0: aload 0
invokevirtual java.lang.Number.intValue:()I
ireturn
end local 0 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 0: aload 0
instanceof java.lang.Double
ifeq 2
1: aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dreturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Integer
ifeq 4
3: aload 0
checkcast java.lang.Integer
invokevirtual java.lang.Integer.doubleValue:()D
dreturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValueVirtual:(Ljava/lang/Number;)D
dreturn
end local 0 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 start local 1 0: aload 0
instanceof java.lang.Double
ifeq 2
1: aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dreturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Integer
ifeq 4
3: aload 0
checkcast java.lang.Integer
invokevirtual java.lang.Integer.doubleValue:()D
dreturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
5: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValueVirtual:(Ljava/lang/Number;)D
dreturn
end local 1 end local 0 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 0: aload 0
invokevirtual java.lang.Number.doubleValue:()D
dreturn
end local 0 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 0: aload 0
instanceof java.lang.Double
ifeq 2
1: aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.floatValue:()F
freturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Integer
ifeq 4
3: aload 0
checkcast java.lang.Integer
invokevirtual java.lang.Integer.floatValue:()F
freturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.floatValueVirtual:(Ljava/lang/Number;)F
freturn
end local 0 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 0: aload 0
invokevirtual java.lang.Number.floatValue:()F
freturn
end local 0 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 0: aload 0
instanceof java.lang.Integer
ifeq 2
1: aload 0
checkcast java.lang.Integer
invokevirtual java.lang.Integer.longValue:()J
lreturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Double
ifeq 4
3: aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.longValue:()J
lreturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.SafeInteger
ifeq 6
5: aload 0
checkcast com.oracle.truffle.js.runtime.SafeInteger
invokevirtual com.oracle.truffle.js.runtime.SafeInteger.longValue:()J
lreturn
6: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.longValueVirtual:(Ljava/lang/Number;)J
lreturn
end local 0 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 0: aload 0
invokevirtual java.lang.Number.longValue:()J
lreturn
end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.longValue:(Ljava/lang/Number;)J
lreturn
end local 0 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 start local 1 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.String.length:()I
aload 1
invokevirtual java.lang.String.length:()I
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 1: aload 2
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
ifnonnull 2
1: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
start local 2 3: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasValue:()Z
ifeq 5
4: aload 2
ldc "value"
aload 0
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: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasWritable:()Z
ifeq 7
6: aload 2
ldc "writable"
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasGet:()Z
ifeq 9
8: aload 2
ldc "get"
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasSet:()Z
ifeq 11
10: aload 2
ldc "set"
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasEnumerable:()Z
ifeq 13
12: aload 2
ldc "enumerable"
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.hasConfigurable:()Z
ifeq 15
14: aload 2
ldc "configurable"
aload 0
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: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
arraylength
iload 1
if_icmple 1
aload 0
iload 1
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 end local 0 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 start local 1 start local 2 0: aload 0
arraylength
iload 1
if_icmple 1
aload 0
iload 1
aaload
goto 2
StackMap locals:
StackMap stack:
1: aload 2
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 2 end local 1 end local 0 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 start local 2 start local 4 0: aload 4
lload 0
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: lload 0
lload 2
ladd
lconst_0
invokestatic java.lang.Math.max:(JJ)J
lreturn
4: StackMap locals:
StackMap stack:
lload 0
lload 2
invokestatic java.lang.Math.min:(JJ)J
lreturn
end local 4 end local 2 end local 0 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 start local 1 start local 2 0: aload 2
iload 0
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: iload 0
iload 1
iadd
iconst_0
invokestatic java.lang.Math.max:(II)I
ireturn
4: StackMap locals:
StackMap stack:
iload 0
iload 1
invokestatic java.lang.Math.min:(II)I
ireturn
end local 2 end local 1 end local 0 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 0: aload 0
iconst_0
aload 0
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 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 start local 1 start local 2 start local 3 0: aload 0
iload 1
iload 2
iload 3
iload 3
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 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 2
iload 1
iflt 1
iload 1
iload 2
if_icmpgt 1
iload 2
aload 0
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: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 4
iload 3
iconst_2
if_icmplt 3
iload 3
bipush 36
if_icmple 4
StackMap locals:
StackMap stack:
3: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 5
lload 5
ldc 9223372036854775807
iload 3
i2l
ldiv
iload 3
i2l
lsub
lcmp
ifle 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 6: iload 1
istore 8
start local 8 7: iload 8
iload 2
if_icmplt 9
8: ldc -9223372036854775808
lreturn
9: StackMap locals: int int
StackMap stack:
iload 4
ifeq 20
10: aload 0
iload 8
invokevirtual java.lang.String.charAt:(I)C
istore 9
start local 9 11: iload 9
bipush 48
if_icmpge 18
12: iload 9
bipush 45
if_icmpne 15
13: iconst_1
istore 7
14: goto 17
StackMap locals: int
StackMap stack:
15: iload 9
bipush 43
if_icmpeq 17
16: ldc -9223372036854775808
lreturn
17: StackMap locals:
StackMap stack:
iinc 8 1
18: StackMap locals:
StackMap stack:
iload 8
iload 2
if_icmplt 20
19: ldc -9223372036854775808
lreturn
end local 9 20: StackMap locals:
StackMap stack:
lconst_0
lstore 9
start local 9 21: goto 31
22: StackMap locals: long
StackMap stack:
aload 0
iload 8
invokevirtual java.lang.String.charAt:(I)C
istore 11
start local 11 23: iload 11
iload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.valueInRadix:(CI)I
istore 12
start local 12 24: iload 12
ifge 26
25: ldc -9223372036854775808
lreturn
26: StackMap locals: int int
StackMap stack:
lload 9
iload 3
i2l
lmul
lstore 9
27: lload 9
iload 12
i2l
ladd
lstore 9
28: lload 9
lload 5
lcmp
ifle 30
29: ldc -9223372036854775808
lreturn
30: StackMap locals:
StackMap stack:
iinc 8 1
end local 12 end local 11 31: StackMap locals:
StackMap stack:
iload 8
iload 2
if_icmplt 22
32: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 33
lload 9
lconst_0
lcmp
ifge 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: StackMap locals:
StackMap stack:
iload 7
ifeq 35
lload 9
lconst_0
lcmp
ifne 35
34: ldc -9223372036854775808
lreturn
35: StackMap locals:
StackMap stack:
iload 7
ifeq 36
lload 9
lneg
goto 37
StackMap locals:
StackMap stack:
36: lload 9
StackMap locals:
StackMap stack: long
37: lreturn
end local 9 end local 8 end local 7 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
iload 2
iload 3
if_icmplt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 2
istore 5
start local 5 2: lconst_0
lstore 6
start local 6 3: goto 13
4: StackMap locals: int long
StackMap stack:
aload 0
iload 5
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 5: iload 8
iload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.valueInRadix:(CI)I
istore 9
start local 9 6: iload 9
ifge 10
7: iload 5
iload 2
if_icmpeq 9
8: goto 14
9: StackMap locals: int int
StackMap stack:
ldc NaN
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
10: StackMap locals:
StackMap stack:
lload 6
iload 1
i2l
lmul
lstore 6
11: lload 6
iload 9
i2l
ladd
lstore 6
12: iinc 5 1
end local 9 end local 8 13: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmplt 4
14: StackMap locals:
StackMap stack:
lload 6
lconst_0
lcmp
ifne 16
iload 4
ifeq 16
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
bipush 48
if_icmpne 16
15: ldc -0.0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
16: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 17
lload 6
lconst_0
lcmp
ifge 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
iload 4
ifeq 18
lload 6
lneg
goto 19
StackMap locals:
StackMap stack:
18: lload 6
StackMap locals:
StackMap stack: long
19: lstore 8
start local 8 20: lload 6
ldc 2147483647
lcmp
ifgt 22
21: lload 8
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
22: StackMap locals: long
StackMap stack:
lload 8
l2d
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 8 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
iload 2
iload 3
if_icmplt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 2
istore 5
start local 5 2: dconst_0
dstore 6
start local 6 3: goto 13
4: StackMap locals: int double
StackMap stack:
aload 0
iload 5
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 5: iload 8
iload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.valueInRadix:(CI)I
istore 9
start local 9 6: iload 9
ifge 10
7: iload 5
iload 2
if_icmpeq 9
8: goto 14
9: StackMap locals: int int
StackMap stack:
ldc NaN
dreturn
10: StackMap locals:
StackMap stack:
dload 6
iload 1
i2d
dmul
dstore 6
11: dload 6
iload 9
i2d
dadd
dstore 6
12: iinc 5 1
end local 9 end local 8 13: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmplt 4
14: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 15
dload 6
dconst_0
dcmpl
ifge 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
iload 4
ifeq 16
dload 6
dneg
goto 17
StackMap locals:
StackMap stack:
16: dload 6
StackMap locals:
StackMap stack: double
17: dreturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 2
aload 1
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: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
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 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 2
aload 1
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: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createDataDefault:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
iload 3
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
start local 4 3: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 4
iload 3
ifeq 4
iload 4
ifne 4
new java.lang.AssertionError
dup
ldc "should have thrown"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: int
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
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 end local 1 end local 0 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 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 2
aload 1
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
aload 0
aload 1
aload 2
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
start local 3 3: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 4
iload 3
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
astore 2
start local 2 1: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
2: aload 2
aload 1
if_acmpne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 2
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 1
5: iconst_0
ireturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
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 end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallableProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 6
5: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallableForeign:(Ljava/lang/Object;)Z
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 3
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 5
4: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallableProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 4
1: 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
start local 1 2: aload 1
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
ifne 3
aload 1
aload 0
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 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
astore 1
start local 1 2: aload 1
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 3
aload 0
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
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallable:(Ljava/lang/Object;)Z
StackMap locals:
StackMap stack: int
4: ireturn
end local 1 end local 0 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 2
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 1
aload 0
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: StackMap locals:
StackMap stack:
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 0
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 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.isJSArray:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isProxyAnArray:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 6
5: 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
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isRevoked:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifeq 3
2: invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorProxyRevoked:()Lcom/oracle/truffle/js/runtime/JSException;
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayProxyRecurse:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ireturn
end local 0 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 0: aload 0
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 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 0: aload 0
instanceof java.lang.String
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPrimitive:(Ljava/lang/Object;)Ljava/lang/Object;
astore 1
start local 1 3: aload 1
instanceof com.oracle.truffle.js.runtime.Symbol
ifeq 5
4: aload 1
areturn
5: StackMap locals: java.lang.Object
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 7
6: aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
7: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
aload 1
aload 2
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
aload 1
aload 2
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 6
5: aload 0
aload 2
invokestatic com.oracle.truffle.js.runtime.interop.JSInteropUtil.call:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotAFunction:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aload 3
ifnull 5
3: invokestatic com.oracle.truffle.api.nodes.EncapsulatingNodeReference.getCurrent:()Lcom/oracle/truffle/api/nodes/EncapsulatingNodeReference;
astore 4
4: aload 4
aload 3
invokevirtual com.oracle.truffle.api.nodes.EncapsulatingNodeReference.set:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
astore 5
5: StackMap locals: com.oracle.truffle.api.nodes.EncapsulatingNodeReference com.oracle.truffle.api.nodes.Node
StackMap stack:
aload 0
aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.call:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 7
6: aload 3
ifnull 8
7: aload 4
aload 5
invokevirtual com.oracle.truffle.api.nodes.EncapsulatingNodeReference.set:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
pop
8: 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: 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: aload 3
ifnull 12
11: aload 4
aload 5
invokevirtual com.oracle.truffle.api.nodes.EncapsulatingNodeReference.set:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
pop
12: StackMap locals: java.lang.Throwable
StackMap stack:
aload 6
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.construct:(Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.construct:(Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 6
5: aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.interop.JSInteropUtil.construct:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotAFunction:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 1 end local 0 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 0: aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifne 1
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumericIndexStart:(C)Z
ifne 2
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
2: StackMap locals:
StackMap stack:
ldc "-0"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: ldc -0.0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumber:(Ljava/lang/String;)Ljava/lang/Number;
astore 1
start local 1 5: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.numberToString:(Ljava/lang/Number;)Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
6: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
7: StackMap locals: java.lang.Number
StackMap stack:
aload 1
areturn
end local 1 end local 0 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 0: iload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifne 1
iload 0
bipush 45
if_icmpeq 1
iload 0
bipush 73
if_icmpeq 1
iload 0
bipush 78
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
checkcast java.lang.Number
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleValue:(Ljava/lang/Number;)D
dstore 1
start local 1 3: dload 1
invokestatic java.lang.Double.isInfinite:(D)Z
ifne 4
dload 1
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 5
4: StackMap locals: double
StackMap stack:
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
dload 1
invokestatic java.lang.Math.abs:(D)D
invokestatic java.lang.Math.floor:(D)D
dload 1
invokestatic java.lang.Math.abs:(D)D
dcmpl
ifne 6
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 1 end local 0 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 0: dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 2
1: ldc NaN
dreturn
2: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNegativeZero:(D)Z
ifeq 4
3: ldc -0.0
dreturn
4: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isSafeInteger:(D)Z
ifeq 9
5: dload 0
d2l
lstore 2
start local 2 6: dload 0
lload 2
l2d
dcmpg
ifge 7
lload 2
lconst_1
lsub
goto 8
StackMap locals: long
StackMap stack:
7: lload 2
StackMap locals:
StackMap stack: long
8: l2d
dreturn
end local 2 9: StackMap locals:
StackMap stack:
dload 0
invokestatic java.lang.Math.floor:(D)D
dreturn
end local 0 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 0: dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 2
1: ldc NaN
dreturn
2: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNegativeZero:(D)Z
ifeq 4
3: ldc -0.0
dreturn
4: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isSafeInteger:(D)Z
ifeq 12
5: dload 0
d2l
lstore 2
start local 2 6: dload 0
lload 2
l2d
dcmpl
ifle 7
lload 2
lconst_1
ladd
goto 8
StackMap locals: long
StackMap stack:
7: lload 2
StackMap locals:
StackMap stack: long
8: lstore 4
start local 4 9: lload 4
lconst_0
lcmp
ifne 11
dload 0
dconst_0
dcmpg
ifge 11
10: ldc -0.0
dreturn
11: StackMap locals: long
StackMap stack:
lload 4
l2d
dreturn
end local 4 end local 2 12: StackMap locals:
StackMap stack:
dload 0
invokestatic java.lang.Math.ceil:(D)D
dreturn
end local 0 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 0: dload 0
invokestatic java.lang.Math.rint:(D)D
dreturn
end local 0 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 start local 1 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 2
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPropertyKey:(Ljava/lang/Object;)Z
ifeq 1
aload 1
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: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.String
istore 2
start local 2 3: aload 1
instanceof java.lang.String
istore 3
start local 3 4: iload 2
ifeq 18
iload 3
ifeq 18
5: aload 0
checkcast java.lang.String
astore 4
start local 4 6: aload 1
checkcast java.lang.String
astore 5
start local 5 7: aload 4
invokestatic com.oracle.truffle.js.runtime.JSRuntime.propertyNameToArrayIndex:(Ljava/lang/String;)J
lstore 6
start local 6 8: aload 5
invokestatic com.oracle.truffle.js.runtime.JSRuntime.propertyNameToArrayIndex:(Ljava/lang/String;)J
lstore 8
start local 8 9: lload 6
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
istore 10
start local 10 10: lload 8
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
istore 11
start local 11 11: iload 10
ifeq 13
iload 11
ifeq 13
12: lload 6
lload 8
invokestatic java.lang.Long.compare:(JJ)I
ireturn
13: StackMap locals: java.lang.Object java.lang.Object int int java.lang.String java.lang.String long long int int
StackMap stack:
iload 10
ifeq 15
14: iconst_m1
ireturn
15: StackMap locals:
StackMap stack:
iload 11
ifeq 17
16: iconst_1
ireturn
17: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 11 end local 10 end local 8 end local 6 end local 5 end local 4 18: StackMap locals: java.lang.Object java.lang.Object int int
StackMap stack:
iload 2
ifeq 20
19: iconst_m1
ireturn
20: StackMap locals:
StackMap stack:
iload 3
ifeq 22
21: iconst_1
ireturn
22: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
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
start local 1 1: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 3
2: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.javaToString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifne 9
4: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
start local 2 5: aload 2
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 9
6: aload 2
ldc "constructor"
invokestatic com.oracle.truffle.js.runtime.JSRuntime.getDataProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 7: aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 9
8: aload 3
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 end local 2 9: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getClassName:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
areturn
end local 1 end local 0 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 start local 1 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 1
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: StackMap locals:
StackMap stack:
aload 0
astore 2
start local 2 2: goto 8
3: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 2
aload 1
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
start local 3 4: aload 3
ifnull 7
5: aload 3
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isDataDescriptor:()Z
ifeq 9
6: aload 3
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getValue:()Ljava/lang/Object;
areturn
7: StackMap locals: com.oracle.truffle.js.runtime.objects.PropertyDescriptor
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
end local 3 8: StackMap locals:
StackMap stack:
aload 2
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 9
aload 2
ifnull 9
aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifeq 3
9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifne 1
aload 0
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 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 0: aload 0
instanceof com.oracle.truffle.js.runtime.JavaScriptRootNode
ireturn
end local 0 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 0: aload 0
instanceof com.oracle.truffle.js.runtime.JavaScriptRootNode
ifeq 1
aload 0
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 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 0: dload 0
getstatic com.oracle.truffle.js.runtime.JSRuntime.MIN_SAFE_INTEGER:D
dcmpl
iflt 1
dload 0
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 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 0: lload 0
getstatic com.oracle.truffle.js.runtime.JSRuntime.MIN_SAFE_INTEGER_LONG:J
lcmp
iflt 1
lload 0
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 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 start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
astore 2
start local 2 1: aload 0
aload 2
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 end local 1 end local 0 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 start local 1 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 10
1: aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
astore 2
start local 2 2: aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 6
3: aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isBoundFunction:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifeq 5
4: aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getBoundTargetFunction:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
aload 1
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: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getRealm:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSRealm;
areturn
6: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 10
7: aload 2
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: invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorProxyRevoked:()Lcom/oracle/truffle/js/runtime/JSException;
athrow
9: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
aload 1
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 10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isConstructor:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isConstructorProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 6
5: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isConstructorForeign:(Ljava/lang/Object;)Z
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 2
1: 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
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstantiable:(Ljava/lang/Object;)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
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 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 2
aload 0
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: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isGeneratorProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 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 0: getstatic com.oracle.truffle.js.runtime.JSRuntime.$assertionsDisabled:Z
ifne 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
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 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifne 2
1: aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorNotAnObject:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
astore 1
start local 1 3: aload 1
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
start local 2 4: lload 2
ldc 2147483647
lcmp
ifle 6
5: ldc "range exceeded"
invokestatic com.oracle.truffle.js.runtime.Errors.createRangeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
6: StackMap locals: com.oracle.truffle.api.object.DynamicObject long
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 7: lconst_0
lstore 5
start local 5 8: goto 16
9: StackMap locals: java.util.List long
StackMap stack:
aload 1
lload 5
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;J)Ljava/lang/Object;
astore 7
start local 7 10: aload 7
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
ifeq 12
11: aload 7
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 7
12: StackMap locals: java.lang.Object
StackMap stack:
aload 7
instanceof java.lang.String
ifne 14
aload 7
instanceof com.oracle.truffle.js.runtime.Symbol
ifne 14
13: ldc "Symbol or String expected"
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
14: StackMap locals:
StackMap stack:
aload 4
aload 7
invokestatic com.oracle.truffle.js.runtime.Boundaries.listAdd:(Ljava/util/List;Ljava/lang/Object;)V
15: lload 5
lconst_1
ladd
lstore 5
end local 7 16: StackMap locals:
StackMap stack:
lload 5
lload 2
lcmp
iflt 9
17: aload 4
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 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 0: iconst_0
istore 1
start local 1 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 2
start local 2 3: iload 2
bipush 32
if_icmplt 7
iload 2
bipush 92
if_icmpeq 7
iload 2
bipush 34
if_icmpne 5
4: goto 7
5: StackMap locals: int
StackMap stack:
iinc 1 1
end local 2 6: StackMap locals:
StackMap stack:
iload 1
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 2
7: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.String.length:()I
iconst_2
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 8: aload 2
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: aload 2
aload 0
iconst_0
iload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
10: iload 1
istore 3
start local 3 11: goto 41
12: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 13: iload 4
bipush 32
if_icmpge 33
14: iload 4
bipush 8
if_icmpne 17
15: aload 2
ldc "\\b"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: goto 40
StackMap locals: int
StackMap stack:
17: iload 4
bipush 12
if_icmpne 20
18: aload 2
ldc "\\f"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: goto 40
StackMap locals:
StackMap stack:
20: iload 4
bipush 10
if_icmpne 23
21: aload 2
ldc "\\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: goto 40
StackMap locals:
StackMap stack:
23: iload 4
bipush 13
if_icmpne 26
24: aload 2
ldc "\\r"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
25: goto 40
StackMap locals:
StackMap stack:
26: iload 4
bipush 9
if_icmpne 29
27: aload 2
ldc "\\t"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
28: goto 40
29: StackMap locals:
StackMap stack:
aload 2
ldc "\\u00"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
30: aload 2
iload 4
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: aload 2
iload 4
bipush 15
iand
bipush 16
invokestatic java.lang.Character.forDigit:(II)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
32: goto 40
StackMap locals:
StackMap stack:
33: iload 4
bipush 92
if_icmpne 36
34: aload 2
ldc "\\\\"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
35: goto 40
StackMap locals:
StackMap stack:
36: iload 4
bipush 34
if_icmpne 39
37: aload 2
ldc "\\\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
38: goto 40
39: StackMap locals:
StackMap stack:
aload 2
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 4 40: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
41: iload 3
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 12
end local 3 42: aload 2
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
43: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifne 3
1: aload 1
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
2: invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorJSObjectExpected:()Lcom/oracle/truffle/js/runtime/JSException;
athrow
3: StackMap locals:
StackMap stack:
aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
areturn
end local 1 end local 0 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isLazyString:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.SafeInteger
ifeq 4
3: aload 0
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: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 6
5: aload 0
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSPrimitive:(Ljava/lang/Object;)Z
ifeq 8
7: aload 0
areturn
8: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
astore 1
start local 1 9: aload 1
aload 0
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asGuestValue:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 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 0: aload 0
arraylength
anewarray java.lang.Object
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
aaload
invokestatic com.oracle.truffle.js.runtime.JSRuntime.exportValue:(Ljava/lang/Object;)Ljava/lang/Object;
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 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 0: aload 0
ifnonnull 2
1: getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Integer
ifne 3
aload 0
instanceof java.lang.Double
ifne 3
aload 0
instanceof java.lang.String
ifne 3
aload 0
instanceof java.lang.Boolean
ifne 3
aload 0
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 4
3: StackMap locals:
StackMap stack:
aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Character
ifeq 6
5: aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
areturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Long
ifeq 11
7: aload 0
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lstore 1
start local 1 8: lload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.longIsRepresentableAsInt:(J)Z
ifeq 10
9: lload 1
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
10: StackMap locals: long
StackMap stack:
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 1 11: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Byte
ifne 12
aload 0
instanceof java.lang.Short
ifeq 13
12: StackMap locals:
StackMap stack:
aload 0
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
13: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Float
ifeq 15
14: aload 0
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
15: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorUnsupportedInteropType:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 0 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 0: ldc -16777216
iload 0
if_icmpgt 1
iload 0
ldc 16777216
if_icmpgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 0: aload 0
ifnull 2
1: aload 0
instanceof java.lang.Boolean
ifne 10
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Byte
ifne 10
3: aload 0
instanceof java.lang.Short
ifne 10
4: aload 0
instanceof java.lang.Integer
ifne 10
5: aload 0
instanceof java.lang.Long
ifne 10
6: aload 0
instanceof java.lang.Float
ifne 10
7: aload 0
instanceof java.lang.Double
ifne 10
8: aload 0
instanceof java.lang.Character
ifne 10
9: iconst_0
ireturn
StackMap locals:
StackMap stack:
10: iconst_1
ireturn
end local 0 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 0: aload 0
athrow
end local 0 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 0: aload 0
getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.BigInt64Array:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
if_acmpeq 1
aload 0
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 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 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSError.isJSError:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.UserScriptException.create:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/UserScriptException;
areturn
end local 0 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