public final class com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat implements com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
super_class: java.lang.Object
{
private static final int BIT_TO_HEX_FACTOR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int BIT_WIDTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 80
public static final int BYTE_WIDTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final int EXPONENT_BIT_WIDTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15
private static final int FRACTION_BIT_WIDTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final int HEX_DIGITS_FRACTION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final byte UNDEFINED_FLOAT_TO_BYTE_VALUE;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final short UNDEFINED_FLOAT_TO_SHORT_VALUE;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int UNDEFINED_FLOAT_TO_INT_VALUE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2147483648
private static final long UNDEFINED_FLOAT_TO_LONG_VALUE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -9223372036854775808
private static final long UNDEFINED_DOUBLE_VALUE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -9223372036854775808
public static final int ALL_ONE_EXPONENT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32767
private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat DOUBLE_MINUS_INFINITY_CONVERSION_NUMBER;
descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat DOUBLE_INFINITY_CONVERSION_NUMBER;
descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat DOUBLE_NAN_CONVERSION_NUMBER;
descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat POSITIVE_ZERO;
descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat NEGATIVE_ZERO;
descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat POSITIVE_INFINITY;
descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat NEGATIVE_INFINITY;
descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int EXPLICIT_LEADING_ONE_BITS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int EXPONENT_BIAS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16383
private static final int FLOAT_EXPONENT_BIAS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 127
private final boolean sign;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int biasedExponent;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long fraction;
descriptor: J
flags: (0x0012) ACC_PRIVATE, 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=6, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
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.llvm.runtime.floating.LLVM80BitFloat.$assertionsDisabled:Z
3: iconst_1
sipush 32767
ldc -9223372036854775808
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_MINUS_INFINITY_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
4: iconst_0
sipush 32767
ldc -9223372036854775808
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_INFINITY_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
5: iconst_0
sipush 32767
ldc -4611686018427387904
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_NAN_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
6: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
iconst_0
iconst_0
lconst_0
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
7: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
iconst_1
iconst_0
lconst_0
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.NEGATIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
8: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
iconst_0
sipush 32767
ldc 63
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.bit:(J)J
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_INFINITY:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
9: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
iconst_1
sipush 32767
ldc 63
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.bit:(J)J
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.NEGATIVE_INFINITY:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
10: return
LocalVariableTable:
Start End Slot Name Signature
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.toLLVMString:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public java.lang.String toDebugString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: ldc "sign: %s\nexponent: %s\nfraction: %s %s\n"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_1
bipush 15
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
i2l
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBinaryString:(IJ)Ljava/lang/String;
aastore
dup
iconst_2
bipush 64
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBinaryString:(IJ)Ljava/lang/String;
aastore
dup
iconst_3
1: bipush 16
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getHexString:(IJ)Ljava/lang/String;
aastore
2: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public static java.lang.String toLLVMString(com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat);
descriptor: (Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isQNaN:()Z
ifeq 2
1: ldc "QNaN"
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isSNaN:()Z
ifeq 4
3: ldc "SNaN"
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isInfinity:()Z
ifeq 6
5: ldc "INF"
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
istore 1
start local 1 7: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
ifeq 9
8: iload 1
ldc 32768
ior
i2s
istore 1
9: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
lstore 2
start local 2 10: ldc "0xK%4x%16x"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
aastore
dup
iconst_1
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
bipush 32
bipush 48
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 value Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
7 11 1 exponent S
10 11 2 fraction J
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
value
private static java.lang.String getBinaryString(int, long);
descriptor: (IJ)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "%"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "s"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 1
invokestatic java.lang.Long.toBinaryString:(J)Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
ldc " "
ldc "0"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bitWidth I
0 1 1 number J
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
bitWidth
number
private static java.lang.String getHexString(int, long);
descriptor: (IJ)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "%"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
ldc " "
ldc "0"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bitWidth I
0 1 1 number J
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
bitWidth
number
public void <init>(boolean, int, long);
descriptor: (ZIJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
2: aload 0
iload 2
putfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.biasedExponent:I
3: aload 0
lload 3
putfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
0 5 1 sign Z
0 5 2 exponent I
0 5 3 fraction J
MethodParameters:
Name Flags
sign
exponent
fraction
private void <init>(com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat);
descriptor: (Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, 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
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
putfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
2: aload 0
aload 1
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.biasedExponent:I
putfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.biasedExponent:I
3: aload 0
aload 1
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
putfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
0 5 1 value Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
MethodParameters:
Name Flags
value
private int getUnbiasedExponent();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.biasedExponent:I
sipush 16383
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat createPositiveZero();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
ifeq 2
1: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
iconst_0
iconst_0
lconst_0
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
areturn
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static long bit(int);
descriptor: (I)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iconst_1
iload 0
ishl
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 i I
MethodParameters:
Name Flags
i
public static long bit(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: lconst_1
lload 0
l2i
lshl
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 i J
MethodParameters:
Name Flags
i
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromLong(long);
descriptor: (J)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: lload 0
lconst_0
lcmp
ifne 2
1: invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.createPositiveZero:()Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
2: StackMap locals:
StackMap stack:
lload 0
lconst_0
lcmp
ifge 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 2
start local 2 5: lload 0
invokestatic java.lang.Math.abs:(J)J
iload 2
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromLong:(JZ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 val J
5 6 2 sign Z
MethodParameters:
Name Flags
val
private static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromLong(long, boolean);
descriptor: (JZ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=2
start local 0 start local 2 0: bipush 64
lload 0
invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
isub
istore 3
start local 3 1: sipush 16383
iload 3
iconst_1
isub
iadd
istore 4
start local 4 2: iload 3
bipush 64
if_icmpeq 3
iload 3
bipush 63
if_icmpne 5
3: StackMap locals: int int
StackMap stack:
ldc -1
lstore 5
start local 5 4: goto 6
end local 5 5: StackMap locals:
StackMap stack:
lconst_1
iload 3
iconst_1
iadd
lshl
lconst_1
lsub
lstore 5
start local 5 6: StackMap locals: long
StackMap stack:
lload 0
lload 5
land
lstore 7
start local 7 7: lload 7
bipush 64
iload 3
isub
lshl
lstore 9
start local 9 8: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
iload 2
iload 4
lload 9
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
areturn
end local 9 end local 7 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 val J
0 9 2 sign Z
1 9 3 leadingOnePosition I
2 9 4 exponent I
4 5 5 fractionMask J
6 9 5 fractionMask J
7 9 7 maskedFractionValue J
8 9 9 fraction J
MethodParameters:
Name Flags
val
sign
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromUnsignedLong(long);
descriptor: (J)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: lload 0
lconst_0
lcmp
ifne 2
1: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
2: StackMap locals:
StackMap stack:
lload 0
iconst_0
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromLong:(JZ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 val J
MethodParameters:
Name Flags
val
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromUnsignedInt(int);
descriptor: (I)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iload 0
ifne 2
1: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
2: StackMap locals:
StackMap stack:
iload 0
i2l
ldc 4294967295
land
iconst_0
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromLong:(JZ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 val I
MethodParameters:
Name Flags
val
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromInt(int);
descriptor: (I)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: iload 0
ifne 2
1: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
2: StackMap locals:
StackMap stack:
iload 0
ifge 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 1
start local 1 5: iload 0
iload 1
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromInt:(IZ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 val I
5 6 1 sign Z
MethodParameters:
Name Flags
val
private static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromInt(int, boolean);
descriptor: (IZ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: iload 0
invokestatic java.lang.Math.abs:(I)I
istore 2
start local 2 1: bipush 32
iload 2
invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
isub
istore 3
start local 3 2: sipush 16383
iload 3
iconst_1
isub
iadd
istore 4
start local 4 3: lconst_1
iload 3
iconst_1
iadd
lshl
lconst_1
lsub
lstore 5
start local 5 4: iload 2
i2l
lload 5
land
lstore 7
start local 7 5: lload 7
bipush 64
iload 3
isub
lshl
lstore 9
start local 9 6: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
iload 1
iload 4
lload 9
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
areturn
end local 9 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 7 0 val I
0 7 1 sign Z
1 7 2 posVal I
2 7 3 leadingOnePosition I
3 7 4 exponent I
4 7 5 fractionMask J
5 7 7 maskedFractionValue J
6 7 9 fraction J
MethodParameters:
Name Flags
val
sign
private static boolean getBit(int, long);
descriptor: (IJ)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: lload 1
iload 0
lushr
lstore 3
start local 3 1: lload 3
lconst_1
land
lconst_0
lcmp
ifeq 2
iconst_1
ireturn
StackMap locals: long
StackMap stack:
2: iconst_0
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 position I
0 3 1 posVal J
1 3 3 l J
MethodParameters:
Name Flags
position
posVal
public boolean isZero();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isPositiveZero:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeZero:()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/llvm/runtime/floating/LLVM80BitFloat;
private boolean isPositiveZero();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
private boolean isNegativeZero();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.NEGATIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromFloat(float);
descriptor: (F)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=13, args_size=1
start local 0 0: fload 0
fconst_0
fcmpg
ifge 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 1
start local 1 3: fload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.isPositiveZero:(F)Z
ifeq 5
4: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
5: StackMap locals: int
StackMap stack:
fload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.isNegativeZero:(F)Z
ifeq 7
6: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.NEGATIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
7: StackMap locals:
StackMap stack:
fload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.isPositiveInfinty:(F)Z
ifeq 9
8: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_INFINITY_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
9: StackMap locals:
StackMap stack:
fload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.isNegativeInfinity:(F)Z
ifeq 11
10: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_MINUS_INFINITY_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
11: StackMap locals:
StackMap stack:
fload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.isNaN:(F)Z
ifeq 13
12: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_NAN_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
13: StackMap locals:
StackMap stack:
fload 0
invokestatic java.lang.Float.floatToRawIntBits:(F)I
istore 2
start local 2 14: fload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.getUnbiasedExponent:(F)I
istore 3
start local 3 15: iload 3
sipush 16383
iadd
istore 4
start local 4 16: ldc -9223372036854775808
lstore 5
start local 5 17: iload 2
getstatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.FRACTION_MASK:I
iand
i2l
lstore 7
start local 7 18: lload 7
bipush 40
lshl
lstore 9
start local 9 19: lload 9
lload 5
lor
lstore 11
start local 11 20: iload 1
iload 4
lload 11
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
end local 11 end local 9 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 21 0 val F
3 21 1 sign Z
14 21 2 rawValue I
15 21 3 floatExponent I
16 21 4 biasedExponent I
17 21 5 leadingOne J
18 21 7 floatFraction J
19 21 9 shiftedFloatFraction J
20 21 11 fraction J
MethodParameters:
Name Flags
val
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromDouble(double);
descriptor: (D)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=15, args_size=1
start local 0 0: dload 0
dconst_0
dcmpg
ifge 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: dload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.isPositiveZero:(D)Z
ifeq 5
4: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
5: StackMap locals: int
StackMap stack:
dload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.isNegativeZero:(D)Z
ifeq 7
6: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.NEGATIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
7: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.isPositiveInfinty:(D)Z
ifeq 9
8: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_INFINITY_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
9: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.isNegativeInfinity:(D)Z
ifeq 11
10: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_MINUS_INFINITY_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
11: StackMap locals:
StackMap stack:
dload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.isNaN:(D)Z
ifeq 13
12: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_NAN_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
13: StackMap locals:
StackMap stack:
dload 0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
lstore 3
start local 3 14: dload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.getUnbiasedExponent:(D)I
istore 5
start local 5 15: iload 5
sipush 16383
iadd
istore 6
start local 6 16: ldc -9223372036854775808
lstore 7
start local 7 17: lload 3
getstatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.FRACTION_MASK:J
land
lstore 9
start local 9 18: lload 9
bipush 11
lshl
lstore 11
start local 11 19: lload 11
lload 7
lor
lstore 13
start local 13 20: iload 2
iload 6
lload 13
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
end local 13 end local 11 end local 9 end local 7 end local 6 end local 5 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 val D
3 21 2 sign Z
14 21 3 rawValue J
15 21 5 doubleExponent I
16 21 6 biasedExponent I
17 21 7 leadingOne J
18 21 9 doubleFraction J
19 21 11 shiftedDoubleFraction J
20 21 13 fraction J
MethodParameters:
Name Flags
val
private long getFractionAsLong();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
bipush 64
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getUnbiasedExponent:()I
isub
iconst_1
isub
lushr
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat abs();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_0
aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.biasedExponent:I
aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public boolean isPositiveInfinity();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_INFINITY:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public boolean isNegativeInfinity();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.NEGATIVE_INFINITY:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public boolean isInfinity();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isPositiveInfinity:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()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/llvm/runtime/floating/LLVM80BitFloat;
public boolean isSNaN();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
sipush 32767
if_icmpne 5
1: bipush 63
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBit:(IJ)Z
ifeq 5
2: bipush 62
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBit:(IJ)Z
ifne 5
3: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
ldc 4611686018427387903
land
lconst_0
lcmp
ifeq 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public boolean isQNaN();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
sipush 32767
if_icmpne 5
1: bipush 63
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBit:(IJ)Z
ifeq 4
2: bipush 62
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBit:(IJ)Z
ifeq 5
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public boolean isNaN();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isSNaN:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isQNaN:()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/llvm/runtime/floating/LLVM80BitFloat;
public boolean isOrdered();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
int compareOrdered(com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat);
descriptor: (Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)I
flags: (0x0000)
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()Z
ifeq 4
1: aload 1
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()Z
ifeq 3
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()Z
ifeq 8
5: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()Z
ifeq 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
if_icmpne 18
9: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
isub
istore 2
start local 2 10: iload 2
ifne 17
11: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
lsub
lstore 3
start local 3 12: lload 3
lconst_0
lcmp
ifne 14
13: iconst_0
ireturn
14: StackMap locals: int long
StackMap stack:
lload 3
lconst_0
lcmp
ifge 16
15: iconst_m1
ireturn
16: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 17: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 18: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isZero:()Z
ifeq 20
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isZero:()Z
ifeq 20
19: iconst_0
ireturn
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
ifeq 22
21: iconst_m1
ireturn
22: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
0 23 1 val Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
10 18 2 expDifference I
12 17 3 fractionDifference J
MethodParameters:
Name Flags
val
public short getExponent();
descriptor: ()S
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.biasedExponent:I
i2s
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public long getFraction();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public long getFractionWithoutImplicitZero();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
iconst_1
lshl
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public boolean getSign();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
astore 2
start local 2 3: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
aload 2
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
if_icmpne 4
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
aload 2
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
if_icmpne 4
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
aload 2
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
lcmp
ifne 4
iconst_1
ireturn
StackMap locals: com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
0 5 1 obj Ljava/lang/Object;
3 5 2 other Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBytes:()[B
invokestatic java.util.Arrays.hashCode:([B)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public byte[] getBytesBigEndian();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: bipush 10
newarray 8
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
istore 2
start local 2 2: aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
ifeq 3
bipush 15
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.bit:(I)J
l2i
i2s
goto 4
StackMap locals: byte[] int
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 3
start local 3 5: iload 2
iload 3
ior
i2s
istore 2
6: invokestatic com.oracle.truffle.api.memory.ByteArraySupport.bigEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
aload 1
iconst_0
iload 2
invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.putShort:([BIS)V
7: invokestatic com.oracle.truffle.api.memory.ByteArraySupport.bigEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
aload 1
iconst_2
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.putLong:([BIJ)V
8: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
1 9 1 array [B
2 9 2 signWithExponent S
5 9 3 signBit S
public byte[] getBytes();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: bipush 10
newarray 8
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
istore 2
start local 2 2: aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
ifeq 3
bipush 15
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.bit:(I)J
l2i
i2s
goto 4
StackMap locals: byte[] int
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 3
start local 3 5: iload 2
iload 3
ior
i2s
istore 2
6: invokestatic com.oracle.truffle.api.memory.ByteArraySupport.littleEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
aload 1
iconst_0
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.putLong:([BIJ)V
7: invokestatic com.oracle.truffle.api.memory.ByteArraySupport.littleEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
aload 1
bipush 8
iload 2
invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.putShort:([BIS)V
8: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
1 9 1 array [B
2 9 2 signWithExponent S
5 9 3 signBit S
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromBytesBigEndian(byte[]);
descriptor: ([B)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.$assertionsDisabled:Z
ifne 1
aload 0
arraylength
bipush 10
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.memory.ByteArraySupport.bigEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
aload 0
iconst_0
invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.getShort:([BI)S
istore 1
start local 1 2: iload 1
bipush 15
invokestatic com.oracle.truffle.llvm.runtime.floating.BinaryHelper.getBitMask:(I)I
iand
istore 2
start local 2 3: invokestatic com.oracle.truffle.api.memory.ByteArraySupport.bigEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
aload 0
iconst_2
invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.getLong:([BI)J
lstore 3
start local 3 4: bipush 16
iload 1
i2l
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBit:(IJ)Z
istore 5
start local 5 5: iload 5
iload 2
lload 3
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 bytes [B
2 6 1 readShort S
3 6 2 exponent I
4 6 3 fraction J
5 6 5 signSet Z
MethodParameters:
Name Flags
bytes
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromBytes(byte[]);
descriptor: ([B)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.$assertionsDisabled:Z
ifne 1
aload 0
arraylength
bipush 10
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.memory.ByteArraySupport.littleEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
aload 0
iconst_0
invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.getLong:([BI)J
lstore 1
start local 1 2: invokestatic com.oracle.truffle.api.memory.ByteArraySupport.littleEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
aload 0
bipush 8
invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.getShort:([BI)S
istore 3
start local 3 3: iload 3
bipush 15
invokestatic com.oracle.truffle.llvm.runtime.floating.BinaryHelper.getBitMask:(I)I
iand
istore 4
start local 4 4: bipush 16
iload 3
i2l
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBit:(IJ)Z
istore 5
start local 5 5: iload 5
iload 4
lload 1
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 bytes [B
2 6 1 fraction J
3 6 3 readShort S
4 6 4 exponent I
5 6 5 signSet Z
MethodParameters:
Name Flags
bytes
public byte getByteValue();
descriptor: ()B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isInfinity:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFractionAsLong:()J
lstore 1
start local 1 3: aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
ifeq 4
lload 1
lneg
goto 5
StackMap locals: long
StackMap stack:
4: lload 1
StackMap locals:
StackMap stack: long
5: l2i
i2b
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
3 6 1 value J
public short getShortValue();
descriptor: ()S
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isInfinity:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFractionAsLong:()J
lstore 1
start local 1 3: aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
ifeq 4
lload 1
lneg
goto 5
StackMap locals: long
StackMap stack:
4: lload 1
StackMap locals:
StackMap stack: long
5: l2i
i2s
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
3 6 1 value J
public int getIntValue();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isInfinity:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
ldc -2147483648
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFractionAsLong:()J
l2i
istore 1
start local 1 3: aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
ifeq 4
iload 1
ineg
goto 5
StackMap locals: int
StackMap stack:
4: iload 1
StackMap locals:
StackMap stack: int
5: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
3 6 1 value I
public long getLongValue();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isInfinity:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
ldc -9223372036854775808
lreturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFractionAsLong:()J
lstore 1
start local 1 3: aload 0
getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
ifeq 4
lload 1
lneg
goto 5
StackMap locals: long
StackMap stack:
4: lload 1
StackMap locals:
StackMap stack: long
5: lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
3 6 1 value J
public float getFloatValue();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isPositiveZero:()Z
ifeq 2
1: fconst_0
freturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeZero:()Z
ifeq 4
3: ldc -0.0
freturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isPositiveInfinity:()Z
ifeq 6
5: ldc Infinity
freturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()Z
ifeq 8
7: ldc -Infinity
freturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
ifeq 10
9: ldc NaN
freturn
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getUnbiasedExponent:()I
bipush 127
iadd
istore 1
start local 1 11: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFractionWithoutImplicitZero:()J
bipush 41
lushr
lstore 2
start local 2 12: lload 2
l2i
istore 4
start local 4 13: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
ifeq 14
iconst_1
goto 15
StackMap locals: int long int
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: bipush 31
ishl
istore 5
start local 5 16: iload 1
bipush 23
ishl
istore 6
start local 6 17: iload 4
iload 6
ior
iload 5
ior
istore 7
start local 7 18: iload 7
invokestatic java.lang.Float.intBitsToFloat:(I)F
freturn
end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
11 19 1 floatExponent I
12 19 2 longFraction J
13 19 4 floatFraction I
16 19 5 shiftedSignBit I
17 19 6 shiftedExponent I
18 19 7 rawVal I
public double getDoubleValue();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isPositiveZero:()Z
ifeq 2
1: dconst_0
dreturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeZero:()Z
ifeq 4
3: ldc -0.0
dreturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isPositiveInfinity:()Z
ifeq 6
5: ldc Infinity
dreturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()Z
ifeq 8
7: ldc -Infinity
dreturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
ifeq 10
9: ldc NaN
dreturn
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getUnbiasedExponent:()I
sipush 1023
iadd
istore 1
start local 1 11: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFractionWithoutImplicitZero:()J
bipush 12
lushr
lstore 2
start local 2 12: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
ifeq 13
lconst_1
goto 14
StackMap locals: int long
StackMap stack:
13: lconst_0
StackMap locals:
StackMap stack: long
14: bipush 63
lshl
lstore 4
start local 4 15: iload 1
i2l
bipush 52
lshl
lstore 6
start local 6 16: lload 2
lload 6
lor
lload 4
lor
lstore 8
start local 8 17: lload 8
invokestatic java.lang.Double.longBitsToDouble:(J)D
dreturn
end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
11 18 1 doubleExponent I
12 18 2 doubleFraction J
15 18 4 shiftedSignBit J
16 18 6 shiftedExponent J
17 18 8 rawVal J
public com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat negate();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
ifeq 1
iconst_0
goto 2
StackMap locals: com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
StackMap stack: new 0 new 0
1: iconst_1
StackMap locals: com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
StackMap stack: new 0 new 0 int
2: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromByte(byte);
descriptor: (B)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromInt:(I)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 from B
MethodParameters:
Name Flags
from
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromUnsignedByte(byte);
descriptor: (B)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
sipush 255
iand
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromInt:(I)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 from B
MethodParameters:
Name Flags
from
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromUnsignedShort(short);
descriptor: (S)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ldc 65535
iand
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromUnsignedInt:(I)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 from S
MethodParameters:
Name Flags
from
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromShort(short);
descriptor: (S)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromInt:(I)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 from S
MethodParameters:
Name Flags
from
public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromRawValues(boolean, int, long);
descriptor: (ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
dup
iload 0
iload 1
lload 2
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sign Z
0 1 1 exp I
0 1 2 fraction J
MethodParameters:
Name Flags
sign
exp
fraction
public static boolean areOrdered(com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat[]);
descriptor: ([Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)Z
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic com.oracle.truffle.api.CompilerAsserts.compilationConstant:(Ljava/lang/Object;)V
1: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 6
StackMap locals: com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat[] top int int com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat[]
StackMap stack:
2: aload 4
iload 2
aaload
astore 1
start local 1 3: aload 1
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isOrdered:()Z
ifne 5
4: iconst_0
ireturn
end local 1 5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 3
if_icmplt 2
7: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 vals [Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
3 5 1 val Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
vals
public static int compare(com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat, com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat);
descriptor: (Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)I
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
invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.compareOrdered:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 val1 Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
0 1 1 val2 Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
MethodParameters:
Name Flags
val1
val2
public com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticOpNode createAddNode();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMArithmetic$LLVMArithmeticOpNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode
dup
ldc "add"
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode.<init>:(Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticOpNode createSubNode();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMArithmetic$LLVMArithmeticOpNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode
dup
ldc "sub"
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode.<init>:(Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticOpNode createMulNode();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMArithmetic$LLVMArithmeticOpNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode
dup
ldc "mul"
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode.<init>:(Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticOpNode createDivNode();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMArithmetic$LLVMArithmeticOpNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode
dup
ldc "div"
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode.<init>:(Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticOpNode createRemNode();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMArithmetic$LLVMArithmeticOpNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode
dup
ldc "mod"
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode.<init>:(Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
public com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticCompareNode createCmpNode();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMArithmetic$LLVMArithmeticCompareNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$1
dup
aload 0
invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$1.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
}
SourceFile: "LLVM80BitFloat.java"
NestMembers:
com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$1 com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatNativeCallNode com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode
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
com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$1
protected abstract LLVM80BitFloatNativeCallNode = com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatNativeCallNode of com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
private LLVM80BitFloatOpNode = com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode of com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
public abstract LLVMArithmeticCompareNode = com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticCompareNode of com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic
public abstract LLVMArithmeticOpNode = com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticOpNode of com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$ValueType()