public final class com.oracle.truffle.js.runtime.BigInt implements java.lang.Comparable<com.oracle.truffle.js.runtime.BigInt>, com.oracle.truffle.api.interop.TruffleObject
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.js.runtime.BigInt
super_class: java.lang.Object
{
static final long serialVersionUID;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6019523258212492110
private final java.math.BigInteger value;
descriptor: Ljava/math/BigInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static final com.oracle.truffle.js.runtime.BigInt ZERO;
descriptor: Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final com.oracle.truffle.js.runtime.BigInt ONE;
descriptor: Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final com.oracle.truffle.js.runtime.BigInt NEGATIVE_ONE;
descriptor: Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final com.oracle.truffle.js.runtime.BigInt TWO;
descriptor: Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final com.oracle.truffle.js.runtime.BigInt MAX_INT;
descriptor: Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final com.oracle.truffle.js.runtime.BigInt MIN_INT;
descriptor: Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final java.math.BigInteger TWO64;
descriptor: Ljava/math/BigInteger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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/BigInt;
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.BigInt.$assertionsDisabled:Z
3: new com.oracle.truffle.js.runtime.BigInt
dup
getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
putstatic com.oracle.truffle.js.runtime.BigInt.ZERO:Lcom/oracle/truffle/js/runtime/BigInt;
4: new com.oracle.truffle.js.runtime.BigInt
dup
getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
putstatic com.oracle.truffle.js.runtime.BigInt.ONE:Lcom/oracle/truffle/js/runtime/BigInt;
5: new com.oracle.truffle.js.runtime.BigInt
dup
ldc -1
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
putstatic com.oracle.truffle.js.runtime.BigInt.NEGATIVE_ONE:Lcom/oracle/truffle/js/runtime/BigInt;
6: new com.oracle.truffle.js.runtime.BigInt
dup
ldc 2
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
putstatic com.oracle.truffle.js.runtime.BigInt.TWO:Lcom/oracle/truffle/js/runtime/BigInt;
7: new com.oracle.truffle.js.runtime.BigInt
dup
ldc 2147483647
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
putstatic com.oracle.truffle.js.runtime.BigInt.MAX_INT:Lcom/oracle/truffle/js/runtime/BigInt;
8: new com.oracle.truffle.js.runtime.BigInt
dup
ldc -2147483648
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
putstatic com.oracle.truffle.js.runtime.BigInt.MIN_INT:Lcom/oracle/truffle/js/runtime/BigInt;
9: getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
bipush 64
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
putstatic com.oracle.truffle.js.runtime.BigInt.TWO64:Ljava/math/BigInteger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.math.BigInteger
dup
aload 1
iload 2
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
putfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 3 1 s Ljava/lang/String;
0 3 2 r I
MethodParameters:
Name Flags
s
r
public void <init>(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 3 1 v Ljava/math/BigInteger;
MethodParameters:
Name Flags
v
public static com.oracle.truffle.js.runtime.BigInt fromBigInteger(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 2
1: getstatic com.oracle.truffle.js.runtime.BigInt.ZERO:Lcom/oracle/truffle/js/runtime/BigInt;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 4
3: getstatic com.oracle.truffle.js.runtime.BigInt.ONE:Lcom/oracle/truffle/js/runtime/BigInt;
areturn
4: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 value Ljava/math/BigInteger;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
value
public static com.oracle.truffle.js.runtime.BigInt valueOf(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
invokestatic com.oracle.truffle.js.runtime.BigInt.parseBigInteger:(Ljava/lang/String;)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
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 com.oracle.truffle.js.runtime.BigInt valueOf(long);
descriptor: (J)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.js.runtime.BigInt
dup
lload 0
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 i J
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
i
public static com.oracle.truffle.js.runtime.BigInt valueOfUnsigned(long);
descriptor: (J)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: lload 0
lconst_0
lcmp
iflt 2
1: new com.oracle.truffle.js.runtime.BigInt
dup
lload 0
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.runtime.BigInt
dup
lload 0
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
getstatic com.oracle.truffle.js.runtime.BigInt.TWO64:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.mod:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 i J
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
i
private static java.math.BigInteger parseBigInteger(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/math/BigInteger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 3
2: getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 48
if_icmpne 12
4: aload 1
invokevirtual java.lang.String.length:()I
iconst_2
if_icmple 10
5: aload 1
iconst_1
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 6
66: 8
79: 7
88: 6
98: 8
111: 7
120: 6
default: 9
}
6: StackMap locals:
StackMap stack:
new java.math.BigInteger
dup
aload 1
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
areturn
7: StackMap locals:
StackMap stack:
new java.math.BigInteger
dup
aload 1
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
bipush 8
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
areturn
8: StackMap locals:
StackMap stack:
new java.math.BigInteger
dup
aload 1
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
iconst_2
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
areturn
9: StackMap locals:
StackMap stack:
new java.math.BigInteger
dup
aload 1
bipush 10
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
areturn
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 12
11: getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
areturn
12: StackMap locals:
StackMap stack:
new java.math.BigInteger
dup
aload 1
bipush 10
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 valueString Ljava/lang/String;
1 13 1 trimmedString Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
valueString final
public int intValue();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public double doubleValue();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.doubleValue:()D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.math.BigInteger bigIntegerValue();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
public com.oracle.truffle.js.runtime.BigInt toBigInt64();
descriptor: ()Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.longValue:()J
invokestatic com.oracle.truffle.js.runtime.BigInt.valueOf:(J)Lcom/oracle/truffle/js/runtime/BigInt;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public com.oracle.truffle.js.runtime.BigInt toBigUint64();
descriptor: ()Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
getstatic com.oracle.truffle.js.runtime.BigInt.TWO64:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.mod:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public com.oracle.truffle.js.runtime.BigInt pow(int);
descriptor: (I)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
iload 1
invokevirtual java.math.BigInteger.pow:(I)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 e I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
e
public com.oracle.truffle.js.runtime.BigInt mod(com.oracle.truffle.js.runtime.BigInt);
descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
aload 1
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.mod:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 m Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
m
public int compareTo(com.oracle.truffle.js.runtime.BigInt);
descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
aload 1
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 b Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
b
public int compareValueTo(long);
descriptor: (J)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
lload 1
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 b J
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
b
public int compareValueTo(double);
descriptor: (D)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.runtime.BigInt.$assertionsDisabled:Z
ifne 1
dload 1
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 1
new java.lang.AssertionError
dup
ldc "unexpected NAN in BigInt value comparison"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
dload 1
ldc Infinity
dcmpl
ifne 3
2: iconst_m1
ireturn
3: StackMap locals:
StackMap stack:
dload 1
ldc -Infinity
dcmpl
ifne 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
new java.math.BigDecimal
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;)V
astore 3
start local 3 6: new java.math.BigDecimal
dup
dload 1
invokespecial java.math.BigDecimal.<init>:(D)V
astore 4
start local 4 7: aload 3
aload 4
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ireturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 8 1 b D
6 8 3 thisValue Ljava/math/BigDecimal;
7 8 4 theOtherValue Ljava/math/BigDecimal;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
b
public com.oracle.truffle.js.runtime.BigInt subtract(com.oracle.truffle.js.runtime.BigInt);
descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
aload 1
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 b Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
b
public com.oracle.truffle.js.runtime.BigInt add(com.oracle.truffle.js.runtime.BigInt);
descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
aload 1
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 b Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
b
public java.lang.String toString(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
iload 1
invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 radix I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
radix
public boolean testBit(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
iload 1
invokevirtual java.math.BigInteger.testBit:(I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 n I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
n
public int signum();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary(allowInlining = true)
public com.oracle.truffle.js.runtime.BigInt negate();
descriptor: ()Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public com.oracle.truffle.js.runtime.BigInt not();
descriptor: ()Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.not:()Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: bipush 31
iload 1
imul
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
ifnonnull 2
iconst_0
goto 3
StackMap locals: com.oracle.truffle.js.runtime.BigInt int
StackMap stack: int
2: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.hashCode:()I
StackMap locals: com.oracle.truffle.js.runtime.BigInt int
StackMap stack: int int
3: iadd
istore 1
4: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/runtime/BigInt;
1 5 1 result I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, 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 1
ifnonnull 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.js.runtime.BigInt
astore 2
start local 2 7: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
ifnonnull 10
8: aload 2
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
ifnull 12
9: iconst_0
ireturn
10: StackMap locals: com.oracle.truffle.js.runtime.BigInt
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
aload 2
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifne 12
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 13 1 obj Ljava/lang/Object;
7 13 2 other Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
obj
public com.oracle.truffle.js.runtime.BigInt and(com.oracle.truffle.js.runtime.BigInt);
descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
aload 1
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.and:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 b Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
b
public com.oracle.truffle.js.runtime.BigInt or(com.oracle.truffle.js.runtime.BigInt);
descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
aload 1
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.or:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 b Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
b
public com.oracle.truffle.js.runtime.BigInt xor(com.oracle.truffle.js.runtime.BigInt);
descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
aload 1
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.xor:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 b Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
b
public com.oracle.truffle.js.runtime.BigInt multiply(com.oracle.truffle.js.runtime.BigInt);
descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
aload 1
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 b Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
b
public com.oracle.truffle.js.runtime.BigInt divide(com.oracle.truffle.js.runtime.BigInt);
descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
aload 1
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.divide:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 b Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
b
public com.oracle.truffle.js.runtime.BigInt remainder(com.oracle.truffle.js.runtime.BigInt);
descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
aload 1
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.remainder:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 b Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
b
public com.oracle.truffle.js.runtime.BigInt shiftLeft(int);
descriptor: (I)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
iload 1
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 b I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
b
public com.oracle.truffle.js.runtime.BigInt shiftRight(int);
descriptor: (I)Lcom/oracle/truffle/js/runtime/BigInt;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.runtime.BigInt
dup
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
iload 1
invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 b I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
b
public long longValueExact();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.longValueExact:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public long longValue();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
bipush 10
invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
boolean isNumber();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.BigInt.fitsInLong:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.runtime.BigInt.fitsInDouble:()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 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
boolean fitsInByte();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
bipush 8
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
boolean fitsInShort();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
bipush 16
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
boolean fitsInInt();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
bipush 32
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public boolean fitsInLong();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
bipush 64
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
boolean fitsInDouble();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
bipush 53
if_icmpgt 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.doubleValue:()D
dstore 1
start local 1 3: dload 1
invokestatic java.lang.Double.isFinite:(D)Z
ifne 5
4: iconst_0
ireturn
5: StackMap locals: double
StackMap stack:
new java.math.BigDecimal
dup
dload 1
invokespecial java.math.BigDecimal.<init>:(D)V
invokevirtual java.math.BigDecimal.toBigIntegerExact:()Ljava/math/BigInteger;
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/runtime/BigInt;
3 6 1 doubleValue D
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
boolean fitsInFloat();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
bipush 24
if_icmpgt 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.floatValue:()F
fstore 1
start local 1 3: fload 1
invokestatic java.lang.Float.isFinite:(F)Z
ifne 5
4: iconst_0
ireturn
5: StackMap locals: float
StackMap stack:
new java.math.BigDecimal
dup
fload 1
f2d
invokespecial java.math.BigDecimal.<init>:(D)V
invokevirtual java.math.BigDecimal.toBigIntegerExact:()Ljava/math/BigInteger;
aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/runtime/BigInt;
3 6 1 floatValue F
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
byte asByte();
descriptor: ()B
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.byteValueExact:()B
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.ArithmeticException
pop
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/runtime/BigInt;
Exception table:
from to target type
0 1 2 Class java.lang.ArithmeticException
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
short asShort();
descriptor: ()S
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.shortValueExact:()S
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.ArithmeticException
pop
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/runtime/BigInt;
Exception table:
from to target type
0 1 2 Class java.lang.ArithmeticException
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
int asInt();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValueExact:()I
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.ArithmeticException
pop
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/runtime/BigInt;
Exception table:
from to target type
0 1 2 Class java.lang.ArithmeticException
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
long asLong();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.BigInt.longValueExact:()J
1: lreturn
2: StackMap locals:
StackMap stack: java.lang.ArithmeticException
pop
3: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/runtime/BigInt;
Exception table:
from to target type
0 1 2 Class java.lang.ArithmeticException
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
float asFloat();
descriptor: ()F
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.BigInt.fitsInFloat:()Z
ifeq 2
1: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.floatValue:()F
freturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/BigInt;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
double asDouble();
descriptor: ()D
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.BigInt.fitsInDouble:()Z
ifeq 2
1: aload 0
getfield com.oracle.truffle.js.runtime.BigInt.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.doubleValue:()D
dreturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/BigInt;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
boolean hasLanguage();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>> getLanguage();
descriptor: ()Ljava/lang/Class;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
Signature: ()Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Object toDisplayString(boolean);
descriptor: (Z)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual com.oracle.truffle.js.runtime.BigInt.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
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
0 1 1 allowSideEffects Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
com.oracle.truffle.api.library.ExportMessage()
MethodParameters:
Name Flags
allowSideEffects
boolean hasMetaObject();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Object getMetaObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.runtime.interop.JSMetaType.JS_BIGINT:Lcom/oracle/truffle/js/runtime/interop/JSMetaType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/BigInt;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.BigInt
invokevirtual com.oracle.truffle.js.runtime.BigInt.compareTo:(Lcom/oracle/truffle/js/runtime/BigInt;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/lang/Comparable<Lcom/oracle/truffle/js/runtime/BigInt;>;Lcom/oracle/truffle/api/interop/TruffleObject;
SourceFile: "BigInt.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract ValueType = com.oracle.truffle.api.CompilerDirectives$ValueType of com.oracle.truffle.api.CompilerDirectives
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/interop/InteropLibrary;)
com.oracle.truffle.api.CompilerDirectives$ValueType()