public class org.jruby.RubyBignum extends org.jruby.RubyInteger
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.RubyBignum
super_class: org.jruby.RubyInteger
{
private static final int BIT_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final long MAX;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9223372036854775807
public static final java.math.BigInteger LONG_MAX;
descriptor: Ljava/math/BigInteger;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.math.BigInteger LONG_MIN;
descriptor: Ljava/math/BigInteger;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.math.BigInteger ULONG_MAX;
descriptor: Ljava/math/BigInteger;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
final java.math.BigInteger value;
descriptor: Ljava/math/BigInteger;
flags: (0x0010) ACC_FINAL
private static final int BIGLEN_LIMIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 33554432
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc 9223372036854775807
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
putstatic org.jruby.RubyBignum.LONG_MAX:Ljava/math/BigInteger;
1: ldc -9223372036854775808
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
putstatic org.jruby.RubyBignum.LONG_MIN:Ljava/math/BigInteger;
2: lconst_1
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
bipush 64
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
lconst_1
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
putstatic org.jruby.RubyBignum.ULONG_MAX:Ljava/math/BigInteger;
3: return
LocalVariableTable:
Start End Slot Name Signature
public static org.jruby.RubyClass createBignumClass(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.Ruby.getInteger:()Lorg/jruby/RubyClass;
astore 1
start local 1 1: aload 0
invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
ldc "Bignum"
aload 1
invokevirtual org.jruby.RubyClass.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
2: aload 0
invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
aload 0
ldc "Bignum"
invokevirtual org.jruby.RubyClass.deprecateConstant:(Lorg/jruby/Ruby;Ljava/lang/String;)V
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 runtime Lorg/jruby/Ruby;
1 4 1 bignum Lorg/jruby/RubyClass;
MethodParameters:
Name Flags
runtime
public void <init>(org.jruby.Ruby, java.math.BigInteger);
descriptor: (Lorg/jruby/Ruby;Ljava/math/BigInteger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
invokevirtual org.jruby.Ruby.getBignum:()Lorg/jruby/RubyClass;
invokespecial org.jruby.RubyInteger.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 0
aload 2
putfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
2: aload 0
iconst_1
invokevirtual org.jruby.RubyBignum.setFrozen:(Z)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/RubyBignum;
0 4 1 runtime Lorg/jruby/Ruby;
0 4 2 value Ljava/math/BigInteger;
MethodParameters:
Name Flags
runtime
value
public org.jruby.runtime.ClassIndex getNativeClassIndex();
descriptor: ()Lorg/jruby/runtime/ClassIndex;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.jruby.runtime.ClassIndex.BIGNUM:Lorg/jruby/runtime/ClassIndex;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
public java.lang.Class<?> getJavaClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
Signature: ()Ljava/lang/Class<*>;
public static org.jruby.RubyBignum newBignum(org.jruby.Ruby, long);
descriptor: (Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyBignum;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 value J
MethodParameters:
Name Flags
runtime
value
public static org.jruby.RubyBignum newBignum(org.jruby.Ruby, double);
descriptor: (Lorg/jruby/Ruby;D)Lorg/jruby/RubyBignum;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dload 1
invokestatic org.jruby.RubyBignum.toBigInteger:(D)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyBignum;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
3: aload 0
dload 1
invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
invokevirtual org.jruby.Ruby.newFloatDomainError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 runtime Lorg/jruby/Ruby;
0 4 1 value D
Exception table:
from to target type
0 1 2 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
runtime
value
public static java.math.BigInteger toBigInteger(double);
descriptor: (D)Ljava/math/BigInteger;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.math.BigDecimal
dup
dload 0
invokespecial java.math.BigDecimal.<init>:(D)V
invokevirtual java.math.BigDecimal.toBigInteger:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value D
MethodParameters:
Name Flags
value
public static org.jruby.RubyInteger newBignorm(org.jruby.Ruby, double);
descriptor: (Lorg/jruby/Ruby;D)Lorg/jruby/RubyInteger;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dload 1
invokestatic org.jruby.RubyBignum.toBigInteger:(D)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
3: aload 0
dload 1
invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
invokevirtual org.jruby.Ruby.newFloatDomainError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 runtime Lorg/jruby/Ruby;
0 4 1 value D
Exception table:
from to target type
0 1 2 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
runtime
value
public static org.jruby.RubyBignum newBignum(org.jruby.Ruby, java.math.BigInteger);
descriptor: (Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyBignum;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.jruby.RubyBignum
dup
aload 0
aload 1
invokespecial org.jruby.RubyBignum.<init>:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 value Ljava/math/BigInteger;
MethodParameters:
Name Flags
runtime
value
public static org.jruby.RubyBignum newBignum(org.jruby.Ruby, java.lang.String);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyBignum;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new org.jruby.RubyBignum
dup
aload 0
new java.math.BigInteger
dup
aload 1
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
invokespecial org.jruby.RubyBignum.<init>:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 value Ljava/lang/String;
MethodParameters:
Name Flags
runtime
value
public double getDoubleValue();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.RubyBignum.big2dbl:(Lorg/jruby/RubyBignum;)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
public long getLongValue();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.RubyBignum.big2long:(Lorg/jruby/RubyBignum;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
public int getIntValue();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.RubyBignum.big2long:(Lorg/jruby/RubyBignum;)J
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
public java.math.BigInteger getBigIntegerValue();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
public org.jruby.RubyClass getSingletonClass();
descriptor: ()Lorg/jruby/RubyClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
ldc "can't define singleton"
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
public java.math.BigInteger getValue();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
public int signum();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
public org.jruby.RubyInteger negate();
descriptor: ()Lorg/jruby/RubyInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
public static org.jruby.RubyInteger bignorm(org.jruby.Ruby, java.math.BigInteger);
descriptor: (Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.jruby.RubyBignum.LONG_MIN:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iflt 1
aload 1
getstatic org.jruby.RubyBignum.LONG_MAX:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifle 2
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyBignum;
goto 3
StackMap locals:
StackMap stack:
2: aload 0
aload 1
invokevirtual java.math.BigInteger.longValue:()J
invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
3: StackMap locals:
StackMap stack: org.jruby.RubyInteger
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 runtime Lorg/jruby/Ruby;
0 4 1 bi Ljava/math/BigInteger;
MethodParameters:
Name Flags
runtime
bi
public static long big2long(org.jruby.RubyBignum);
descriptor: (Lorg/jruby/RubyBignum;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
astore 1
start local 1 1: aload 1
getstatic org.jruby.RubyBignum.LONG_MIN:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iflt 2
aload 1
getstatic org.jruby.RubyBignum.LONG_MAX:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifle 3
2: StackMap locals: java.math.BigInteger
StackMap stack:
aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
ldc "bignum too big to convert into `long'"
invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.math.BigInteger.longValue:()J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 val Lorg/jruby/RubyBignum;
1 4 1 big Ljava/math/BigInteger;
MethodParameters:
Name Flags
val
public static long big2ulong(org.jruby.RubyBignum);
descriptor: (Lorg/jruby/RubyBignum;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyBignum.getValue:()Ljava/math/BigInteger;
astore 1
start local 1 1: aload 1
getstatic org.jruby.RubyBignum.LONG_MIN:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifle 2
aload 1
getstatic org.jruby.RubyBignum.ULONG_MAX:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifle 3
2: StackMap locals: java.math.BigInteger
StackMap stack:
aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
ldc "bignum too big to convert into `ulong'"
invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyBignum.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.longValue:()J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 value Lorg/jruby/RubyBignum;
1 4 1 big Ljava/math/BigInteger;
MethodParameters:
Name Flags
value
public static double big2dbl(org.jruby.RubyBignum);
descriptor: (Lorg/jruby/RubyBignum;)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
astore 1
start local 1 1: aload 1
invokestatic org.jruby.RubyBignum.convertToDouble:(Ljava/math/BigInteger;)D
dstore 2
start local 2 2: dload 2
ldc -Infinity
dcmpl
ifeq 3
dload 2
ldc Infinity
dcmpl
ifne 4
3: StackMap locals: java.math.BigInteger double
StackMap stack:
aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
getstatic org.jruby.common.IRubyWarnings$ID.BIGNUM_FROM_FLOAT_RANGE:Lorg/jruby/common/IRubyWarnings$ID;
ldc "Bignum out of Float range"
invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
dload 2
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 val Lorg/jruby/RubyBignum;
1 5 1 big Ljava/math/BigInteger;
2 5 2 dbl D
MethodParameters:
Name Flags
val
private org.jruby.RubyFixnum checkShiftDown(org.jruby.runtime.ThreadContext, org.jruby.RubyBignum);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyBignum;)Lorg/jruby/RubyFixnum;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
ifne 1
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
getstatic org.jruby.RubyBignum.LONG_MIN:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iflt 2
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
getstatic org.jruby.RubyBignum.LONG_MAX:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifle 5
2: StackMap locals:
StackMap stack:
aload 2
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
iflt 3
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
goto 4
StackMap locals:
StackMap stack:
3: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.minus_one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
StackMap locals:
StackMap stack: org.jruby.RubyFixnum
4: areturn
5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/RubyBignum;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
0 6 2 other Lorg/jruby/RubyBignum;
MethodParameters:
Name Flags
context
other
static double convertToDouble(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)D
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpne 1
ldc -9223372036854775808
goto 2
StackMap locals:
StackMap stack:
1: lconst_0
StackMap locals:
StackMap stack: long
2: lstore 1
start local 1 3: aload 0
invokevirtual java.math.BigInteger.abs:()Ljava/math/BigInteger;
astore 0
4: aload 0
invokevirtual java.math.BigInteger.bitLength:()I
istore 3
start local 3 5: iload 3
ifne 6
dconst_0
dreturn
6: StackMap locals: long int
StackMap stack:
iload 3
sipush 1022
iadd
i2l
lstore 4
start local 4 7: lconst_0
lstore 6
start local 6 8: lload 4
ldc 2047
lcmp
ifle 9
ldc 2047
lstore 4
goto 13
9: StackMap locals: long long
StackMap stack:
aload 0
iload 3
bipush 54
isub
invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.longValue:()J
lconst_1
ladd
iconst_1
lshr
lstore 6
10: lload 6
ldc 9007199254740992
lcmp
ifne 13
11: lload 4
lconst_1
ladd
lstore 4
12: lload 4
ldc 2047
lcmp
ifle 13
ldc 2047
lstore 4
13: StackMap locals:
StackMap stack:
lload 1
lload 4
bipush 52
lshl
lor
lload 6
ldc 4503599627370495
land
lor
invokestatic java.lang.Double.longBitsToDouble:(J)D
dreturn
end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 bigint Ljava/math/BigInteger;
3 14 1 signum J
5 14 3 len I
7 14 4 exp J
8 14 6 frac J
MethodParameters:
Name Flags
bigint
public static java.math.BigInteger fix2big(org.jruby.RubyFixnum);
descriptor: (Lorg/jruby/RubyFixnum;)Ljava/math/BigInteger;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyFixnum.value:J
invokestatic org.jruby.RubyBignum.long2big:(J)Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg Lorg/jruby/RubyFixnum;
MethodParameters:
Name Flags
arg
public static java.math.BigInteger long2big(long);
descriptor: (J)Ljava/math/BigInteger;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg J
MethodParameters:
Name Flags
arg
public org.jruby.runtime.builtin.IRubyObject ceil(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getIntValue:()I
istore 3
start local 3 1: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
astore 4
start local 4 2: iload 3
iflt 4
3: aload 0
areturn
4: StackMap locals: int java.math.BigInteger
StackMap stack:
iload 3
invokestatic java.lang.Math.abs:(I)I
istore 5
start local 5 5: getstatic java.math.BigInteger.TEN:Ljava/math/BigInteger;
iload 5
invokevirtual java.math.BigInteger.pow:(I)Ljava/math/BigInteger;
astore 6
start local 6 6: aload 4
aload 6
invokevirtual java.math.BigInteger.mod:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 7
start local 7 7: aload 4
astore 8
start local 8 8: aload 7
invokevirtual java.math.BigInteger.signum:()I
ifeq 10
9: aload 4
aload 6
aload 7
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 8
10: StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int java.math.BigInteger int java.math.BigInteger java.math.BigInteger java.math.BigInteger
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 8
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyBignum;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/RubyBignum;
0 11 1 context Lorg/jruby/runtime/ThreadContext;
0 11 2 arg Lorg/jruby/runtime/builtin/IRubyObject;
1 11 3 ndigits I
2 11 4 self Ljava/math/BigInteger;
5 11 5 posdigits I
6 11 6 exp Ljava/math/BigInteger;
7 11 7 mod Ljava/math/BigInteger;
8 11 8 res Ljava/math/BigInteger;
MethodParameters:
Name Flags
context
arg
public org.jruby.runtime.builtin.IRubyObject floor(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getIntValue:()I
istore 3
start local 3 1: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
astore 4
start local 4 2: iload 3
iflt 4
3: aload 0
areturn
4: StackMap locals: int java.math.BigInteger
StackMap stack:
iload 3
invokestatic java.lang.Math.abs:(I)I
istore 5
start local 5 5: getstatic java.math.BigInteger.TEN:Ljava/math/BigInteger;
iload 5
invokevirtual java.math.BigInteger.pow:(I)Ljava/math/BigInteger;
astore 6
start local 6 6: aload 4
aload 4
aload 6
invokevirtual java.math.BigInteger.mod:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 7
start local 7 7: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 7
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyBignum;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/RubyBignum;
0 8 1 context Lorg/jruby/runtime/ThreadContext;
0 8 2 arg Lorg/jruby/runtime/builtin/IRubyObject;
1 8 3 ndigits I
2 8 4 self Ljava/math/BigInteger;
5 8 5 posdigits I
6 8 6 exp Ljava/math/BigInteger;
7 8 7 res Ljava/math/BigInteger;
MethodParameters:
Name Flags
context
arg
public org.jruby.runtime.builtin.IRubyObject truncate(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
astore 3
start local 3 1: aload 3
getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iconst_1
if_icmpne 3
2: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.floor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals: java.math.BigInteger
StackMap stack:
aload 3
getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iconst_m1
if_icmpne 5
4: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.ceil:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/RubyBignum;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
0 6 2 arg Lorg/jruby/runtime/builtin/IRubyObject;
1 6 3 self Ljava/math/BigInteger;
MethodParameters:
Name Flags
context
arg
public org.jruby.RubyArray digits(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
astore 3
start local 3 1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 2: aload 3
getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iconst_m1
if_icmpne 4
3: aload 4
ldc "out of domain"
invokevirtual org.jruby.Ruby.newMathDomainError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
4: StackMap locals: java.math.BigInteger org.jruby.Ruby
StackMap stack:
aload 2
instanceof org.jruby.RubyInteger
ifne 10
5: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
astore 2
6: goto 10
StackMap locals:
StackMap stack: java.lang.ClassCastException
7: pop
8: aload 2
invokestatic org.jruby.RubyBignum.getMetaClass:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
astore 5
start local 5 9: aload 4
new java.lang.StringBuilder
dup
ldc "wrong argument type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " (expected Integer)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 5 10: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyBignum
ifeq 13
11: aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
astore 5
start local 5 12: goto 14
end local 5 13: StackMap locals:
StackMap stack:
aload 2
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
invokestatic org.jruby.RubyBignum.long2big:(J)Ljava/math/BigInteger;
astore 5
start local 5 14: StackMap locals: java.math.BigInteger
StackMap stack:
aload 5
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpne 16
15: aload 4
ldc "negative radix"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
16: StackMap locals:
StackMap stack:
aload 5
ldc 2
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iconst_m1
if_icmpne 18
17: aload 4
new java.lang.StringBuilder
dup
ldc "invalid radix: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
18: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
iconst_0
invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
astore 6
start local 6 19: aload 3
invokevirtual java.math.BigInteger.signum:()I
ifne 25
20: aload 6
aload 1
invokevirtual org.jruby.runtime.ThreadContext.getRuntime:()Lorg/jruby/Ruby;
lconst_0
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
21: aload 6
areturn
22: StackMap locals: org.jruby.RubyArray
StackMap stack:
aload 3
aload 5
invokevirtual java.math.BigInteger.mod:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 7
start local 7 23: aload 6
aload 1
invokevirtual org.jruby.runtime.ThreadContext.getRuntime:()Lorg/jruby/Ruby;
aload 7
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyBignum;
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
24: aload 3
aload 5
invokevirtual java.math.BigInteger.divide:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 3
end local 7 25: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.math.BigInteger.signum:()I
ifgt 22
26: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/jruby/RubyBignum;
0 27 1 context Lorg/jruby/runtime/ThreadContext;
0 27 2 base Lorg/jruby/runtime/builtin/IRubyObject;
1 27 3 self Ljava/math/BigInteger;
2 27 4 runtime Lorg/jruby/Ruby;
9 10 5 cname Ljava/lang/String;
12 13 5 bigBase Ljava/math/BigInteger;
14 27 5 bigBase Ljava/math/BigInteger;
19 27 6 res Lorg/jruby/RubyArray;
23 25 7 q Ljava/math/BigInteger;
Exception table:
from to target type
5 6 7 Class java.lang.ClassCastException
MethodParameters:
Name Flags
context
base
public org.jruby.runtime.builtin.IRubyObject to_s(org.jruby.runtime.builtin.IRubyObject[]);
descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
arraylength
tableswitch { // 0 - 1
0: 1
1: 2
default: 3
}
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyBignum.to_s:()Lorg/jruby/RubyString;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
aaload
invokevirtual org.jruby.RubyBignum.to_s:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
aload 1
arraylength
iconst_1
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/RubyBignum;
0 4 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
args
public org.jruby.RubyString to_s();
descriptor: ()Lorg/jruby/RubyString;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
bipush 10
invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
invokestatic org.jruby.RubyString.newUSASCIIString:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
public org.jruby.RubyString to_s(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.jruby.RubyBignum.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 2
start local 2 1: iload 2
iconst_2
if_icmplt 2
iload 2
bipush 36
if_icmple 3
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "illegal radix "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
iload 2
invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
invokestatic org.jruby.RubyString.newUSASCIIString:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/RubyBignum;
0 4 1 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
1 4 2 base I
MethodParameters:
Name Flags
arg0
public org.jruby.runtime.builtin.IRubyObject coerce(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 1
instanceof org.jruby.RubyFixnum
ifeq 3
2: aload 2
aload 2
aload 1
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
aload 0
invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
3: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 1
instanceof org.jruby.RubyBignum
ifeq 5
4: aload 2
aload 2
aload 1
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyBignum;
aload 0
invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
5: StackMap locals:
StackMap stack:
aload 2
aload 2
aload 1
invokestatic org.jruby.RubyKernel.new_float:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFloat;
aload 2
aload 0
invokestatic org.jruby.RubyKernel.new_float:(Lorg/jruby/Ruby;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyFloat;
invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/RubyBignum;
0 6 1 other Lorg/jruby/runtime/builtin/IRubyObject;
1 6 2 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
other
public org.jruby.runtime.builtin.IRubyObject op_uminus(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject op_plus(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyFixnum
ifeq 2
1: aload 0
aload 1
aload 2
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
invokevirtual org.jruby.RubyBignum.op_plus:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyBignum
ifeq 4
3: aload 0
aload 1
aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual org.jruby.RubyBignum.op_plus:(Lorg/jruby/runtime/ThreadContext;Ljava/math/BigInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
4: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 6
5: aload 0
aload 2
checkcast org.jruby.RubyFloat
invokevirtual org.jruby.RubyBignum.addFloat:(Lorg/jruby/RubyFloat;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.addOther:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/RubyBignum;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
public final org.jruby.runtime.builtin.IRubyObject op_plus(org.jruby.runtime.ThreadContext, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
lload 2
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 4
start local 4 1: lload 2
lconst_0
lcmp
ifle 2
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
ifle 2
new org.jruby.RubyBignum
dup
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
invokespecial org.jruby.RubyBignum.<init>:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)V
areturn
2: StackMap locals: java.math.BigInteger
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyBignum;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 other J
1 3 4 result Ljava/math/BigInteger;
MethodParameters:
Name Flags
context
other
public final org.jruby.runtime.builtin.IRubyObject op_plus(org.jruby.runtime.ThreadContext, java.math.BigInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/math/BigInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 2
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 3
start local 3 1: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
ifle 2
aload 2
invokevirtual java.math.BigInteger.signum:()I
ifle 2
new org.jruby.RubyBignum
dup
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
invokespecial org.jruby.RubyBignum.<init>:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)V
areturn
2: StackMap locals: java.math.BigInteger
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyBignum;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 other Ljava/math/BigInteger;
1 3 3 result Ljava/math/BigInteger;
MethodParameters:
Name Flags
context
other
private org.jruby.runtime.builtin.IRubyObject addFloat(org.jruby.RubyFloat);
descriptor: (Lorg/jruby/RubyFloat;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokestatic org.jruby.RubyBignum.big2dbl:(Lorg/jruby/RubyBignum;)D
aload 1
getfield org.jruby.RubyFloat.value:D
dadd
invokestatic org.jruby.RubyFloat.newFloat:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyFloat;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 other Lorg/jruby/RubyFloat;
MethodParameters:
Name Flags
other
private org.jruby.runtime.builtin.IRubyObject addOther(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.op_plus:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyBignum.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_minus(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyFixnum
ifeq 2
1: aload 0
aload 1
aload 2
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
invokevirtual org.jruby.RubyBignum.op_minus:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyBignum
ifeq 4
3: aload 0
aload 1
aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual org.jruby.RubyBignum.op_minus:(Lorg/jruby/runtime/ThreadContext;Ljava/math/BigInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
4: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 6
5: aload 0
aload 2
checkcast org.jruby.RubyFloat
invokevirtual org.jruby.RubyBignum.subtractFloat:(Lorg/jruby/RubyFloat;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.subtractOther:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/RubyBignum;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
public final org.jruby.runtime.builtin.IRubyObject op_minus(org.jruby.runtime.ThreadContext, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
lload 2
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 4
start local 4 1: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
ifge 2
lload 2
lconst_0
lcmp
ifle 2
new org.jruby.RubyBignum
dup
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
invokespecial org.jruby.RubyBignum.<init>:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)V
areturn
2: StackMap locals: java.math.BigInteger
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyBignum;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 other J
1 3 4 result Ljava/math/BigInteger;
MethodParameters:
Name Flags
context
other
public final org.jruby.runtime.builtin.IRubyObject op_minus(org.jruby.runtime.ThreadContext, java.math.BigInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/math/BigInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 2
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 3
start local 3 1: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
ifge 2
aload 2
invokevirtual java.math.BigInteger.signum:()I
ifle 2
new org.jruby.RubyBignum
dup
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
invokespecial org.jruby.RubyBignum.<init>:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)V
areturn
2: StackMap locals: java.math.BigInteger
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyBignum;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 other Ljava/math/BigInteger;
1 3 3 result Ljava/math/BigInteger;
MethodParameters:
Name Flags
context
other
private org.jruby.runtime.builtin.IRubyObject subtractFloat(org.jruby.RubyFloat);
descriptor: (Lorg/jruby/RubyFloat;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokestatic org.jruby.RubyBignum.big2dbl:(Lorg/jruby/RubyBignum;)D
aload 1
getfield org.jruby.RubyFloat.value:D
dsub
invokestatic org.jruby.RubyFloat.newFloat:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyFloat;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 other Lorg/jruby/RubyFloat;
MethodParameters:
Name Flags
other
private org.jruby.runtime.builtin.IRubyObject subtractOther(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.op_minus:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyBignum.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_mul(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyFixnum
ifeq 2
1: aload 0
aload 1
aload 2
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
invokevirtual org.jruby.RubyBignum.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyBignum
ifeq 4
3: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
4: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 6
5: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
invokestatic org.jruby.RubyBignum.big2dbl:(Lorg/jruby/RubyBignum;)D
aload 2
checkcast org.jruby.RubyFloat
getfield org.jruby.RubyFloat.value:D
dmul
invokestatic org.jruby.RubyFloat.newFloat:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyFloat;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.op_times:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyBignum.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/RubyBignum;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"*"}, required = 1)
MethodParameters:
Name Flags
context
other
public final org.jruby.runtime.builtin.IRubyObject op_mul19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.op_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public final org.jruby.runtime.builtin.IRubyObject op_mul(org.jruby.runtime.ThreadContext, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
lload 2
invokestatic org.jruby.RubyBignum.long2big:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other J
MethodParameters:
Name Flags
context
other
private org.jruby.runtime.builtin.IRubyObject op_divide(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 2
instanceof org.jruby.RubyFixnum
ifeq 4
2: aload 2
checkcast org.jruby.RubyFixnum
invokestatic org.jruby.RubyBignum.fix2big:(Lorg/jruby/RubyFixnum;)Ljava/math/BigInteger;
astore 5
start local 5 3: goto 18
end local 5 StackMap locals: org.jruby.Ruby
StackMap stack:
4: aload 2
instanceof org.jruby.RubyBignum
ifeq 7
5: aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
astore 5
start local 5 6: goto 18
end local 5 StackMap locals:
StackMap stack:
7: aload 2
instanceof org.jruby.RubyFloat
ifeq 15
8: aload 2
checkcast org.jruby.RubyFloat
getfield org.jruby.RubyFloat.value:D
dstore 6
start local 6 9: iload 3
ifne 11
10: dload 6
dconst_0
dcmpl
ifne 11
aload 4
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
11: StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int org.jruby.Ruby top double
StackMap stack:
aload 0
invokestatic org.jruby.RubyBignum.big2dbl:(Lorg/jruby/RubyBignum;)D
dload 6
ddiv
dstore 8
start local 8 12: iload 3
ifeq 14
13: aload 4
dload 8
invokestatic org.jruby.RubyFloat.newFloat:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyFloat;
areturn
14: StackMap locals: double
StackMap stack:
aload 4
dload 8
invokestatic org.jruby.RubyNumeric.dbl2ival:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyInteger;
areturn
end local 8 end local 6 15: StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int org.jruby.Ruby
StackMap stack:
aload 0
aload 1
iload 3
ifeq 16
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.op_quo:Lorg/jruby/runtime/CallSite;
goto 17
StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int org.jruby.Ruby
StackMap stack: org.jruby.RubyBignum org.jruby.runtime.ThreadContext
16: aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.div:Lorg/jruby/runtime/CallSite;
StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int org.jruby.Ruby
StackMap stack: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.CallSite
17: aload 2
invokevirtual org.jruby.RubyBignum.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
start local 5 18: StackMap locals: java.math.BigInteger
StackMap stack:
aload 0
aload 4
aload 5
invokevirtual org.jruby.RubyBignum.divideImpl:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
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 19 0 this Lorg/jruby/RubyBignum;
0 19 1 context Lorg/jruby/runtime/ThreadContext;
0 19 2 other Lorg/jruby/runtime/builtin/IRubyObject;
0 19 3 slash Z
1 19 4 runtime Lorg/jruby/Ruby;
3 4 5 otherValue Ljava/math/BigInteger;
6 7 5 otherValue Ljava/math/BigInteger;
18 19 5 otherValue Ljava/math/BigInteger;
9 15 6 otherFloatValue D
12 15 8 div D
MethodParameters:
Name Flags
context
other
slash
private org.jruby.RubyInteger divideImpl(org.jruby.Ruby, java.math.BigInteger);
descriptor: (Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.math.BigInteger.signum:()I
ifne 1
aload 1
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
aload 2
invokevirtual java.math.BigInteger.signum:()I
imul
iconst_m1
if_icmpne 7
2: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 2
invokevirtual java.math.BigInteger.divideAndRemainder:(Ljava/math/BigInteger;)[Ljava/math/BigInteger;
astore 4
start local 4 3: aload 4
iconst_1
aaload
invokevirtual java.math.BigInteger.signum:()I
ifeq 4
aload 4
iconst_0
aaload
getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
goto 5
StackMap locals: org.jruby.RubyBignum org.jruby.Ruby java.math.BigInteger top java.math.BigInteger[]
StackMap stack:
4: aload 4
iconst_0
aaload
StackMap locals:
StackMap stack: java.math.BigInteger
5: astore 3
end local 4 start local 3 6: goto 8
end local 3 7: StackMap locals: org.jruby.RubyBignum org.jruby.Ruby java.math.BigInteger
StackMap stack:
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 2
invokevirtual java.math.BigInteger.divide:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 3
start local 3 8: StackMap locals: java.math.BigInteger
StackMap stack:
aload 1
aload 3
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/RubyBignum;
0 9 1 runtime Lorg/jruby/Ruby;
0 9 2 otherValue Ljava/math/BigInteger;
6 7 3 result Ljava/math/BigInteger;
8 9 3 result Ljava/math/BigInteger;
3 6 4 results [Ljava/math/BigInteger;
MethodParameters:
Name Flags
runtime
otherValue
public org.jruby.runtime.builtin.IRubyObject op_div(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual org.jruby.RubyBignum.op_divide:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_div(org.jruby.runtime.ThreadContext, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
lload 2
invokestatic org.jruby.RubyBignum.long2big:(J)Ljava/math/BigInteger;
invokevirtual org.jruby.RubyBignum.divideImpl:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other J
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject idiv(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokevirtual org.jruby.RubyBignum.op_divide:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject idiv(org.jruby.runtime.ThreadContext, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
lload 2
invokestatic org.jruby.RubyBignum.long2big:(J)Ljava/math/BigInteger;
invokevirtual org.jruby.RubyBignum.divideImpl:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other J
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject divmod(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyFixnum
ifeq 3
1: aload 2
checkcast org.jruby.RubyFixnum
invokestatic org.jruby.RubyBignum.fix2big:(Lorg/jruby/RubyFixnum;)Ljava/math/BigInteger;
astore 3
start local 3 2: goto 9
end local 3 StackMap locals:
StackMap stack:
3: aload 2
instanceof org.jruby.RubyBignum
ifeq 6
4: aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
astore 3
start local 3 5: goto 9
end local 3 6: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 8
aload 2
checkcast org.jruby.RubyFloat
getfield org.jruby.RubyFloat.value:D
dconst_0
dcmpl
ifne 8
7: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
8: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.divmod:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyBignum.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
start local 3 9: StackMap locals: java.math.BigInteger
StackMap stack:
aload 3
invokevirtual java.math.BigInteger.signum:()I
ifne 10
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 3
invokevirtual java.math.BigInteger.divideAndRemainder:(Ljava/math/BigInteger;)[Ljava/math/BigInteger;
astore 4
start local 4 11: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
aload 3
invokevirtual java.math.BigInteger.signum:()I
imul
iconst_m1
if_icmpne 14
aload 4
iconst_1
aaload
invokevirtual java.math.BigInteger.signum:()I
ifeq 14
12: aload 4
iconst_0
aload 4
iconst_0
aaload
getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
aastore
13: aload 4
iconst_1
aload 3
aload 4
iconst_1
aaload
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
aastore
14: StackMap locals: java.math.BigInteger[]
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 5
start local 5 15: aload 5
aload 5
aload 4
iconst_0
aaload
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
aload 5
aload 4
iconst_1
aaload
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
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 16 0 this Lorg/jruby/RubyBignum;
0 16 1 context Lorg/jruby/runtime/ThreadContext;
0 16 2 other Lorg/jruby/runtime/builtin/IRubyObject;
2 3 3 otherValue Ljava/math/BigInteger;
5 6 3 otherValue Ljava/math/BigInteger;
9 16 3 otherValue Ljava/math/BigInteger;
11 16 4 results [Ljava/math/BigInteger;
15 16 5 runtime Lorg/jruby/Ruby;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"divmod"}, required = 1)
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_mod(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyFixnum
ifeq 2
1: aload 0
aload 1
aload 2
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
invokevirtual org.jruby.RubyBignum.op_mod:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyBignum
ifeq 8
3: aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
astore 3
start local 3 4: aload 3
invokevirtual java.math.BigInteger.signum:()I
ifne 5
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: java.math.BigInteger
StackMap stack:
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 3
invokevirtual java.math.BigInteger.abs:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.mod:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 4
start local 4 6: aload 3
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpne 7
aload 4
invokevirtual java.math.BigInteger.signum:()I
ifeq 7
aload 3
aload 4
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 4
7: StackMap locals: java.math.BigInteger
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 4 end local 3 8: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 10
aload 2
checkcast org.jruby.RubyFloat
getfield org.jruby.RubyFloat.value:D
dconst_0
dcmpl
ifne 10
9: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.op_mod:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyBignum.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/RubyBignum;
0 11 1 context Lorg/jruby/runtime/ThreadContext;
0 11 2 other Lorg/jruby/runtime/builtin/IRubyObject;
4 8 3 otherValue Ljava/math/BigInteger;
6 8 4 result Ljava/math/BigInteger;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"%", "modulo"}, required = 1)
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_mod(org.jruby.runtime.ThreadContext, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: lload 2
lconst_0
lcmp
ifne 1
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
lload 2
lconst_0
lcmp
ifge 2
lload 2
lneg
goto 3
StackMap locals:
StackMap stack: java.math.BigInteger
2: lload 2
StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext long
StackMap stack: java.math.BigInteger long
3: invokestatic org.jruby.RubyBignum.long2big:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.mod:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 4
start local 4 4: lload 2
lconst_0
lcmp
ifge 5
aload 4
invokevirtual java.math.BigInteger.signum:()I
ifeq 5
lload 2
invokestatic org.jruby.RubyBignum.long2big:(J)Ljava/math/BigInteger;
aload 4
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 4
5: StackMap locals: java.math.BigInteger
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/RubyBignum;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
0 6 2 other J
4 6 4 result Ljava/math/BigInteger;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject modulo(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.op_mod:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
org.jruby.runtime.builtin.IRubyObject modulo(org.jruby.runtime.ThreadContext, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
lload 2
invokevirtual org.jruby.RubyBignum.op_mod:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other J
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_mod19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.op_mod:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject remainder(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyFloat
ifeq 2
aload 2
checkcast org.jruby.RubyFloat
getfield org.jruby.RubyFloat.value:D
dconst_0
dcmpl
ifne 2
1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFixnum
ifeq 5
3: aload 2
checkcast org.jruby.RubyFixnum
invokestatic org.jruby.RubyBignum.fix2big:(Lorg/jruby/RubyFixnum;)Ljava/math/BigInteger;
astore 3
start local 3 4: goto 11
end local 3 StackMap locals:
StackMap stack:
5: aload 2
instanceof org.jruby.RubyBignum
ifeq 8
6: aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
astore 3
start local 3 7: goto 11
end local 3 8: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 10
aload 2
checkcast org.jruby.RubyFloat
getfield org.jruby.RubyFloat.value:D
dconst_0
dcmpl
ifne 10
9: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.remainder:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyBignum.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
start local 3 11: StackMap locals: java.math.BigInteger
StackMap stack:
aload 3
invokevirtual java.math.BigInteger.signum:()I
ifne 12
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
12: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 3
invokevirtual java.math.BigInteger.remainder:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/RubyBignum;
0 13 1 context Lorg/jruby/runtime/ThreadContext;
0 13 2 other Lorg/jruby/runtime/builtin/IRubyObject;
4 5 3 otherValue Ljava/math/BigInteger;
7 8 3 otherValue Ljava/math/BigInteger;
11 13 3 otherValue Ljava/math/BigInteger;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"remainder"}, required = 1)
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject remainder19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.remainder:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject quo(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyInteger
ifeq 2
aload 2
checkcast org.jruby.RubyInteger
invokevirtual org.jruby.RubyInteger.getDoubleValue:()D
dconst_0
dcmpl
ifne 2
1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyNumeric
ifeq 6
3: aload 2
checkcast org.jruby.RubyNumeric
invokevirtual org.jruby.RubyNumeric.getDoubleValue:()D
dconst_0
dcmpl
ifne 5
4: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
invokestatic org.jruby.RubyBignum.big2dbl:(Lorg/jruby/RubyBignum;)D
aload 2
checkcast org.jruby.RubyNumeric
invokevirtual org.jruby.RubyNumeric.getDoubleValue:()D
ddiv
invokestatic org.jruby.RubyFloat.newFloat:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyFloat;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.quo:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyBignum.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/RubyBignum;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"quo"}, required = 1)
MethodParameters:
Name Flags
context
other
public final org.jruby.runtime.builtin.IRubyObject quo19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.quo:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_pow(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 2
aload 3
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
if_acmpne 2
aload 3
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
2: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 7
3: aload 2
checkcast org.jruby.RubyFloat
getfield org.jruby.RubyFloat.value:D
dstore 4
start local 4 4: aload 0
aload 3
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyBignum.compareTo:(Lorg/jruby/runtime/builtin/IRubyObject;)I
iconst_m1
if_icmpne 14
dload 4
dload 4
invokestatic java.lang.Math.round:(D)J
l2d
dcmpl
ifeq 14
5: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
invokestatic org.jruby.RubyComplex.newComplexRaw:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyComplex;
astore 6
start local 6 6: aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.op_exp:Lorg/jruby/runtime/CallSite;
aload 1
aload 6
aload 6
aload 2
invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 6 end local 4 7: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyBignum
ifeq 11
8: aload 2
checkcast org.jruby.RubyBignum
invokevirtual org.jruby.RubyBignum.getDoubleValue:()D
dstore 4
start local 4 9: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
getstatic org.jruby.common.IRubyWarnings$ID.MAY_BE_TOO_BIG:Lorg/jruby/common/IRubyWarnings$ID;
ldc "in a**b, b may be too big"
invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
10: goto 14
end local 4 StackMap locals:
StackMap stack:
11: aload 2
instanceof org.jruby.RubyFixnum
ifeq 13
12: aload 0
aload 1
aload 2
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
invokevirtual org.jruby.RubyBignum.op_pow:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
13: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.op_exp:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyBignum.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
start local 4 14: StackMap locals: double
StackMap stack:
aload 0
aload 3
dload 4
invokevirtual org.jruby.RubyBignum.pow:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyNumeric;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/jruby/RubyBignum;
0 15 1 context Lorg/jruby/runtime/ThreadContext;
0 15 2 other Lorg/jruby/runtime/builtin/IRubyObject;
1 15 3 runtime Lorg/jruby/Ruby;
4 7 4 d D
9 11 4 d D
14 15 4 d D
6 7 6 complex Lorg/jruby/RubyComplex;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"**", "power"}, required = 1)
MethodParameters:
Name Flags
context
other
private org.jruby.RubyNumeric pow(org.jruby.Ruby, double);
descriptor: (Lorg/jruby/Ruby;D)Lorg/jruby/RubyNumeric;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic org.jruby.RubyBignum.big2dbl:(Lorg/jruby/RubyBignum;)D
dload 2
invokestatic java.lang.Math.pow:(DD)D
dstore 4
start local 4 1: dload 4
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 3
2: aload 1
dload 4
invokestatic org.jruby.RubyFloat.newFloat:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyFloat;
areturn
3: StackMap locals: double
StackMap stack:
aload 1
dload 4
invokestatic org.jruby.RubyNumeric.dbl2ival:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyInteger;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/RubyBignum;
0 4 1 runtime Lorg/jruby/Ruby;
0 4 2 d D
1 4 4 pow D
MethodParameters:
Name Flags
runtime final
d final
public final org.jruby.runtime.builtin.IRubyObject op_pow(org.jruby.runtime.ThreadContext, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: lload 2
lconst_0
lcmp
ifge 2
1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
invokestatic org.jruby.RubyRational.newRationalRaw:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
aload 1
lload 2
invokevirtual org.jruby.RubyRational.op_expt:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
istore 4
start local 4 3: iload 4
ldc 33554432
if_icmpgt 4
iload 4
i2l
lload 2
lmul
ldc 33554432
lcmp
ifle 6
4: StackMap locals: int
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
ldc "in a**b, b may be too big"
invokevirtual org.jruby.common.RubyWarnings.warn:(Ljava/lang/String;)V
5: aload 0
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
lload 2
l2d
invokevirtual org.jruby.RubyBignum.pow:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyNumeric;
areturn
6: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
lload 2
l2i
invokevirtual java.math.BigInteger.pow:(I)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyBignum;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/RubyBignum;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 other J
3 7 4 xbits I
MethodParameters:
Name Flags
context final
other final
private void warnIfPowExponentTooBig(org.jruby.runtime.ThreadContext, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
bipush 7
iadd
bipush 8
idiv
iconst_4
imul
i2d
lload 2
l2d
invokestatic java.lang.Math.abs:(D)D
dmul
ldc 1048576.0
dcmpl
ifle 2
1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
getstatic org.jruby.common.IRubyWarnings$ID.MAY_BE_TOO_BIG:Lorg/jruby/common/IRubyWarnings$ID;
ldc "in a**b, b may be too big"
invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyBignum;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 other J
MethodParameters:
Name Flags
context final
other final
public org.jruby.runtime.builtin.IRubyObject op_pow19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.op_pow:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_and(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyBignum
ifeq 2
1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.and:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFixnum
ifeq 4
3: aload 0
aload 1
aload 2
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyBignum.op_and:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyFixnum;)Lorg/jruby/RubyInteger;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.checked_op_and:Lorg/jruby/runtime/JavaSites$CheckedSites;
aload 2
invokevirtual org.jruby.RubyBignum.coerceBit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/JavaSites$CheckedSites;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/RubyBignum;
0 5 1 context Lorg/jruby/runtime/ThreadContext;
0 5 2 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
final org.jruby.RubyInteger op_and(org.jruby.runtime.ThreadContext, org.jruby.RubyFixnum);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyFixnum;)Lorg/jruby/RubyInteger;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 2
invokestatic org.jruby.RubyBignum.fix2big:(Lorg/jruby/RubyFixnum;)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.and:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/RubyFixnum;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_and19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.op_and:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_or(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyBignum
ifeq 2
1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.or:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFixnum
ifeq 4
3: aload 0
aload 1
aload 2
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyBignum.op_or:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyFixnum;)Lorg/jruby/RubyInteger;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.checked_op_or:Lorg/jruby/runtime/JavaSites$CheckedSites;
aload 2
invokevirtual org.jruby.RubyBignum.coerceBit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/JavaSites$CheckedSites;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/RubyBignum;
0 5 1 context Lorg/jruby/runtime/ThreadContext;
0 5 2 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
final org.jruby.RubyInteger op_or(org.jruby.runtime.ThreadContext, org.jruby.RubyFixnum);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyFixnum;)Lorg/jruby/RubyInteger;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 2
invokestatic org.jruby.RubyBignum.fix2big:(Lorg/jruby/RubyFixnum;)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.or:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/RubyFixnum;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject bit_length(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject op_or19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.op_or:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_xor(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyBignum
ifeq 2
1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.xor:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFixnum
ifeq 4
3: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 2
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.xor:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.checked_op_xor:Lorg/jruby/runtime/JavaSites$CheckedSites;
aload 2
invokevirtual org.jruby.RubyBignum.coerceBit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/JavaSites$CheckedSites;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/RubyBignum;
0 5 1 context Lorg/jruby/runtime/ThreadContext;
0 5 2 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_xor19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.op_xor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_neg(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.not:()Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyBignum;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject op_lshift(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFixnum
ifeq 3
1: aload 2
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
lstore 3
start local 3 2: goto 12
end local 3 3: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyBignum
ifeq 10
4: aload 2
checkcast org.jruby.RubyBignum
astore 5
start local 5 5: aload 5
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
ifge 8
6: aload 5
aload 1
aload 0
invokevirtual org.jruby.RubyBignum.checkShiftDown:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyBignum;)Lorg/jruby/RubyFixnum;
astore 6
start local 6 7: aload 6
ifnull 8
aload 6
areturn
end local 6 8: StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject top top org.jruby.RubyBignum
StackMap stack:
aload 5
invokestatic org.jruby.RubyBignum.big2long:(Lorg/jruby/RubyBignum;)J
lstore 3
start local 3 9: goto 12
end local 5 end local 3 10: StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
astore 2
11: goto 0
start local 3 12: StackMap locals: long
StackMap stack:
aload 0
aload 1
lload 3
invokevirtual org.jruby.RubyBignum.op_lshift:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/RubyInteger;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/RubyBignum;
0 13 1 context Lorg/jruby/runtime/ThreadContext;
0 13 2 other Lorg/jruby/runtime/builtin/IRubyObject;
2 3 3 shift J
9 10 3 shift J
12 13 3 shift J
5 10 5 otherBignum Lorg/jruby/RubyBignum;
7 8 6 tmp Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
public org.jruby.RubyInteger op_lshift(org.jruby.runtime.ThreadContext, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/RubyInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
lload 2
l2i
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 shift J
MethodParameters:
Name Flags
context
shift
public org.jruby.runtime.builtin.IRubyObject op_rshift(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFixnum
ifeq 3
1: aload 2
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
lstore 3
start local 3 2: goto 12
end local 3 3: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyBignum
ifeq 10
4: aload 2
checkcast org.jruby.RubyBignum
astore 5
start local 5 5: aload 5
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
iflt 8
6: aload 5
aload 1
aload 0
invokevirtual org.jruby.RubyBignum.checkShiftDown:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyBignum;)Lorg/jruby/RubyFixnum;
astore 6
start local 6 7: aload 6
ifnull 8
aload 6
areturn
end local 6 8: StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject top top org.jruby.RubyBignum
StackMap stack:
aload 5
invokestatic org.jruby.RubyBignum.big2long:(Lorg/jruby/RubyBignum;)J
lstore 3
start local 3 9: goto 12
end local 5 end local 3 10: StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
astore 2
11: goto 0
start local 3 12: StackMap locals: long
StackMap stack:
aload 0
aload 1
lload 3
invokevirtual org.jruby.RubyBignum.op_rshift:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/RubyInteger;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/RubyBignum;
0 13 1 context Lorg/jruby/runtime/ThreadContext;
0 13 2 other Lorg/jruby/runtime/builtin/IRubyObject;
2 3 3 shift J
9 10 3 shift J
12 13 3 shift J
5 10 5 otherBignum Lorg/jruby/RubyBignum;
7 8 6 tmp Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
public org.jruby.RubyInteger op_rshift(org.jruby.runtime.ThreadContext, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/RubyInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
lload 2
l2i
invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 shift J
MethodParameters:
Name Flags
context
shift
public org.jruby.RubyBoolean odd_p(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyBoolean;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
iconst_0
invokevirtual java.math.BigInteger.testBit:(I)Z
ifeq 1
aload 1
getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
StackMap locals:
StackMap stack: org.jruby.RubyBoolean
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyBignum;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.RubyBoolean even_p(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyBoolean;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
iconst_0
invokevirtual java.math.BigInteger.testBit:(I)Z
ifeq 1
aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
StackMap locals:
StackMap stack: org.jruby.RubyBoolean
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyBignum;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.RubyFixnum op_aref(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFixnum;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyBignum
ifeq 10
1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
astore 2
2: aload 2
instanceof org.jruby.RubyBignum
ifeq 10
3: aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
iflt 4
iconst_1
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpne 6
iconst_1
goto 7
StackMap locals:
StackMap stack: int
6: iconst_0
StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
StackMap stack: int int
7: if_icmpeq 9
8: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
9: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
10: StackMap locals:
StackMap stack:
aload 2
invokestatic org.jruby.RubyBignum.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
lstore 3
start local 3 11: lload 3
lconst_0
lcmp
iflt 12
lload 3
ldc 2147483647
lcmp
ifle 13
12: StackMap locals: long
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
13: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
lload 3
l2i
invokevirtual java.math.BigInteger.testBit:(I)Z
ifeq 14
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
goto 15
StackMap locals:
StackMap stack:
14: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
StackMap locals:
StackMap stack: org.jruby.RubyFixnum
15: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/jruby/RubyBignum;
0 16 1 context Lorg/jruby/runtime/ThreadContext;
0 16 2 other Lorg/jruby/runtime/builtin/IRubyObject;
11 16 3 position J
MethodParameters:
Name Flags
context
other
public final int compareTo(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.RubyBignum
ifeq 2
1: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 1
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyBignum.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
astore 2
start local 2 3: aload 0
aload 2
aload 2
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.op_cmp:Lorg/jruby/runtime/CallSite;
aload 1
invokevirtual org.jruby.RubyBignum.coerceCmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getLongValue:()J
l2i
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/RubyBignum;
0 4 1 other Lorg/jruby/runtime/builtin/IRubyObject;
3 4 2 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
other
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 1
iconst_1
ireturn
1: StackMap locals:
StackMap stack:
aload 1
instanceof org.jruby.RubyBignum
ifeq 4
2: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 1
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifne 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/RubyBignum;
0 5 1 other Ljava/lang/Object;
MethodParameters:
Name Flags
other
public org.jruby.runtime.builtin.IRubyObject op_cmp(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyFixnum
ifeq 3
1: aload 2
checkcast org.jruby.RubyFixnum
invokestatic org.jruby.RubyBignum.fix2big:(Lorg/jruby/RubyFixnum;)Ljava/math/BigInteger;
astore 3
start local 3 2: goto 13
end local 3 StackMap locals:
StackMap stack:
3: aload 2
instanceof org.jruby.RubyBignum
ifeq 6
4: aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
astore 3
start local 3 5: goto 13
end local 3 StackMap locals:
StackMap stack:
6: aload 2
instanceof org.jruby.RubyFloat
ifeq 12
7: aload 2
checkcast org.jruby.RubyFloat
astore 4
start local 4 8: aload 4
invokevirtual org.jruby.RubyFloat.isInfinite:()Z
ifeq 11
9: aload 4
getfield org.jruby.RubyFloat.value:D
dconst_0
dcmpl
ifle 10
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.minus_one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
10: StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject top org.jruby.RubyFloat
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
11: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
invokestatic org.jruby.RubyBignum.big2dbl:(Lorg/jruby/RubyBignum;)D
aload 4
getfield org.jruby.RubyFloat.value:D
invokestatic org.jruby.RubyBignum.dbl_cmp:(Lorg/jruby/Ruby;DD)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 4 12: StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.op_cmp:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyBignum.coerceCmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
start local 3 13: StackMap locals: java.math.BigInteger
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 3
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
i2l
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/jruby/RubyBignum;
0 14 1 context Lorg/jruby/runtime/ThreadContext;
0 14 2 other Lorg/jruby/runtime/builtin/IRubyObject;
2 3 3 otherValue Ljava/math/BigInteger;
5 6 3 otherValue Ljava/math/BigInteger;
13 14 3 otherValue Ljava/math/BigInteger;
8 12 4 flt Lorg/jruby/RubyFloat;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_equal(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyFixnum
ifeq 3
1: aload 2
checkcast org.jruby.RubyFixnum
invokestatic org.jruby.RubyBignum.fix2big:(Lorg/jruby/RubyFixnum;)Ljava/math/BigInteger;
astore 3
start local 3 2: goto 13
end local 3 StackMap locals:
StackMap stack:
3: aload 2
instanceof org.jruby.RubyBignum
ifeq 6
4: aload 2
checkcast org.jruby.RubyBignum
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
astore 3
start local 3 5: goto 13
end local 3 StackMap locals:
StackMap stack:
6: aload 2
instanceof org.jruby.RubyFloat
ifeq 12
7: aload 2
checkcast org.jruby.RubyFloat
getfield org.jruby.RubyFloat.value:D
dstore 4
start local 4 8: dload 4
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 9
aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
9: StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject top double
StackMap stack:
aload 1
dload 4
aload 0
invokestatic org.jruby.RubyBignum.big2dbl:(Lorg/jruby/RubyBignum;)D
dcmpl
ifne 10
iconst_1
goto 11
StackMap locals:
StackMap stack: org.jruby.runtime.ThreadContext
10: iconst_0
StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject top double
StackMap stack: org.jruby.runtime.ThreadContext int
11: invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
end local 4 12: StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
aload 1
aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.op_eqq:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
start local 3 13: StackMap locals: java.math.BigInteger
StackMap stack:
aload 1
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
aload 3
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifne 14
iconst_1
goto 15
StackMap locals:
StackMap stack: org.jruby.runtime.ThreadContext
14: iconst_0
StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject java.math.BigInteger
StackMap stack: org.jruby.runtime.ThreadContext int
15: invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/jruby/RubyBignum;
0 16 1 context Lorg/jruby/runtime/ThreadContext;
0 16 2 other Lorg/jruby/runtime/builtin/IRubyObject;
2 3 3 otherValue Ljava/math/BigInteger;
5 6 3 otherValue Ljava/math/BigInteger;
13 16 3 otherValue Ljava/math/BigInteger;
8 12 4 a D
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject eql_p(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.jruby.RubyBignum.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 1
invokevirtual org.jruby.RubyBignum.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
other
public org.jruby.runtime.builtin.IRubyObject eql_p19(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.RubyBignum.eql_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
other
public org.jruby.RubyFixnum hash();
descriptor: ()Lorg/jruby/RubyFixnum;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyBignum.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
astore 1
start local 1 1: aload 1
aload 1
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bigHash:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)J
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyBignum;
1 2 1 runtime Lorg/jruby/Ruby;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bigHash:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)J
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
private static long bigHash(org.jruby.Ruby, java.math.BigInteger);
descriptor: (Lorg/jruby/Ruby;Ljava/math/BigInteger;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.Ruby.getHashSeedK0:()J
aload 1
invokevirtual java.math.BigInteger.hashCode:()I
i2l
invokestatic org.jruby.runtime.Helpers.multAndMix:(JJ)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 value Ljava/math/BigInteger;
MethodParameters:
Name Flags
runtime
value
public org.jruby.runtime.builtin.IRubyObject to_f(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.RubyBignum.getDoubleValue:()D
invokestatic org.jruby.RubyFloat.newFloat:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyFloat;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject to_f();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.RubyBignum.getDoubleValue:()D
invokestatic org.jruby.RubyFloat.newFloat:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyFloat;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
public org.jruby.runtime.builtin.IRubyObject abs();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.jruby.RubyBignum.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.RubyBignum.abs:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public org.jruby.runtime.builtin.IRubyObject abs(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.abs:()Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyBignum;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject size(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
bipush 7
iadd
bipush 8
idiv
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject zero_p(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.jruby.RubyBignum.isZero:()Z
invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public final boolean isZero();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
public org.jruby.runtime.builtin.IRubyObject nonzero_p(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.RubyBignum.isZero:()Z
ifeq 1
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyBignum;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public static void marshalTo(org.jruby.RubyBignum, org.jruby.runtime.marshal.MarshalStream);
descriptor: (Lorg/jruby/RubyBignum;Lorg/jruby/runtime/marshal/MarshalStream;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.jruby.runtime.marshal.MarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
1: aload 1
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
iflt 2
bipush 43
goto 3
StackMap locals:
StackMap stack: org.jruby.runtime.marshal.MarshalStream
2: bipush 45
StackMap locals: org.jruby.RubyBignum org.jruby.runtime.marshal.MarshalStream
StackMap stack: org.jruby.runtime.marshal.MarshalStream int
3: invokevirtual org.jruby.runtime.marshal.MarshalStream.write:(I)V
4: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.abs:()Ljava/math/BigInteger;
astore 2
start local 2 5: aload 2
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 3
start local 3 6: aload 3
arraylength
iconst_2
irem
ifeq 7
aload 3
iconst_0
baload
ifeq 7
iconst_1
goto 8
StackMap locals: java.math.BigInteger byte[]
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 4
start local 4 9: aload 3
arraylength
iconst_2
idiv
istore 5
start local 5 10: iload 4
ifeq 12
11: iinc 5 1
12: StackMap locals: int int
StackMap stack:
aload 1
iload 5
invokevirtual org.jruby.runtime.marshal.MarshalStream.writeInt:(I)V
13: iconst_1
istore 6
start local 6 14: goto 17
15: StackMap locals: int
StackMap stack:
aload 1
aload 3
aload 3
arraylength
iload 6
isub
baload
invokevirtual org.jruby.runtime.marshal.MarshalStream.write:(I)V
16: iinc 6 1
StackMap locals:
StackMap stack:
17: iload 6
iload 5
iconst_2
imul
if_icmpgt 18
iload 6
aload 3
arraylength
if_icmple 15
end local 6 18: StackMap locals:
StackMap stack:
iload 4
ifeq 20
19: aload 1
iconst_0
invokevirtual org.jruby.runtime.marshal.MarshalStream.write:(I)V
20: StackMap locals:
StackMap stack:
return
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 bignum Lorg/jruby/RubyBignum;
0 21 1 output Lorg/jruby/runtime/marshal/MarshalStream;
5 21 2 absValue Ljava/math/BigInteger;
6 21 3 digits [B
9 21 4 oddLengthNonzeroStart Z
10 21 5 shortLength I
14 18 6 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
bignum
output
public static org.jruby.RubyNumeric unmarshalFrom(org.jruby.runtime.marshal.UnmarshalStream);
descriptor: (Lorg/jruby/runtime/marshal/UnmarshalStream;)Lorg/jruby/RubyNumeric;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.readUnsignedByte:()I
bipush 43
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 1
start local 1 3: aload 0
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalInt:()I
istore 2
start local 2 4: iload 2
iconst_2
imul
iconst_1
iadd
newarray 8
astore 3
start local 3 5: aload 3
arraylength
iconst_1
isub
istore 4
start local 4 6: goto 9
7: StackMap locals: org.jruby.runtime.marshal.UnmarshalStream int int byte[] int
StackMap stack:
aload 3
iload 4
aload 0
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.readSignedByte:()B
bastore
8: iinc 4 -1
StackMap locals:
StackMap stack:
9: iload 4
iconst_1
if_icmpge 7
end local 4 10: new java.math.BigInteger
dup
aload 3
invokespecial java.math.BigInteger.<init>:([B)V
astore 4
start local 4 11: iload 1
ifne 13
12: aload 4
invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
astore 4
13: StackMap locals: org.jruby.runtime.marshal.UnmarshalStream int int byte[] java.math.BigInteger
StackMap stack:
aload 0
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
aload 4
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
astore 5
start local 5 14: aload 0
aload 5
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
15: aload 5
areturn
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 16 0 input Lorg/jruby/runtime/marshal/UnmarshalStream;
3 16 1 positive Z
4 16 2 shortLength I
5 16 3 digits [B
6 10 4 i I
11 16 4 value Ljava/math/BigInteger;
14 16 5 result Lorg/jruby/RubyNumeric;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
input
public org.jruby.runtime.builtin.IRubyObject fdivDouble(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyBignum.getDoubleValue:()D
dstore 3
start local 3 1: aload 2
instanceof org.jruby.RubyFixnum
ifeq 7
2: aload 2
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
lstore 7
start local 7 3: dload 3
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 5
4: aload 0
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
lload 7
invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
invokevirtual org.jruby.RubyBignum.fdivInt:(Lorg/jruby/Ruby;Ljava/math/BigDecimal;)Lorg/jruby/RubyFloat;
areturn
5: StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject double top top long
StackMap stack:
lload 7
l2d
dstore 5
end local 7 start local 5 6: goto 16
end local 5 StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject double
StackMap stack:
7: aload 2
instanceof org.jruby.RubyBignum
ifeq 9
8: aload 0
aload 1
aload 2
checkcast org.jruby.RubyBignum
invokevirtual org.jruby.RubyBignum.fdivDouble:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyBignum;)Lorg/jruby/RubyFloat;
areturn
9: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 15
10: aload 2
checkcast org.jruby.RubyFloat
getfield org.jruby.RubyFloat.value:D
dstore 5
start local 5 11: dload 5
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 13
12: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
dload 5
invokevirtual org.jruby.Ruby.newFloat:(D)Lorg/jruby/RubyFloat;
areturn
13: StackMap locals: double
StackMap stack:
dload 3
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 16
14: aload 0
aload 1
aload 2
checkcast org.jruby.RubyFloat
invokevirtual org.jruby.RubyBignum.fdivFloat:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyFloat;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 5 15: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.fdiv:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyBignum.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
start local 5 16: StackMap locals: double
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
dload 3
dload 5
ddiv
invokevirtual org.jruby.Ruby.newFloat:(D)Lorg/jruby/RubyFloat;
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/jruby/RubyBignum;
0 17 1 context Lorg/jruby/runtime/ThreadContext;
0 17 2 y Lorg/jruby/runtime/builtin/IRubyObject;
1 17 3 dx D
6 7 5 dy D
11 15 5 dy D
16 17 5 dy D
3 6 7 ly J
MethodParameters:
Name Flags
context
y
final org.jruby.RubyFloat fdivDouble(org.jruby.runtime.ThreadContext, org.jruby.RubyBignum);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyBignum;)Lorg/jruby/RubyFloat;
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyBignum.getDoubleValue:()D
dstore 3
start local 3 1: aload 2
invokestatic org.jruby.RubyBignum.big2dbl:(Lorg/jruby/RubyBignum;)D
dstore 5
start local 5 2: dload 3
invokestatic java.lang.Double.isInfinite:(D)Z
ifne 3
dload 5
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 4
3: StackMap locals: double double
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.fdivInt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyBignum;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyFloat
areturn
4: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
dload 3
dload 5
ddiv
invokevirtual org.jruby.Ruby.newFloat:(D)Lorg/jruby/RubyFloat;
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/RubyBignum;
0 5 1 context Lorg/jruby/runtime/ThreadContext;
0 5 2 y Lorg/jruby/RubyBignum;
1 5 3 dx D
2 5 5 dy D
MethodParameters:
Name Flags
context
y
public org.jruby.runtime.builtin.IRubyObject fdivInt(org.jruby.runtime.ThreadContext, org.jruby.RubyBignum);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyBignum;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.math.BigDecimal
dup
aload 2
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;)V
invokevirtual org.jruby.RubyBignum.fdivInt:(Lorg/jruby/Ruby;Ljava/math/BigDecimal;)Lorg/jruby/RubyFloat;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 y Lorg/jruby/RubyBignum;
MethodParameters:
Name Flags
context
y
private org.jruby.RubyFloat fdivInt(org.jruby.Ruby, java.math.BigDecimal);
descriptor: (Lorg/jruby/Ruby;Ljava/math/BigDecimal;)Lorg/jruby/RubyFloat;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
new java.math.BigDecimal
dup
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;)V
aload 2
invokevirtual java.math.BigDecimal.divide:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.doubleValue:()D
invokevirtual org.jruby.Ruby.newFloat:(D)Lorg/jruby/RubyFloat;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 runtime Lorg/jruby/Ruby;
0 1 2 y Ljava/math/BigDecimal;
MethodParameters:
Name Flags
runtime final
y
public org.jruby.runtime.builtin.IRubyObject fdivFloat(org.jruby.runtime.ThreadContext, org.jruby.RubyFloat);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyFloat;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.math.BigDecimal
dup
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;)V
new java.math.BigDecimal
dup
aload 2
getfield org.jruby.RubyFloat.value:D
invokespecial java.math.BigDecimal.<init>:(D)V
invokevirtual java.math.BigDecimal.divide:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.doubleValue:()D
invokevirtual org.jruby.Ruby.newFloat:(D)Lorg/jruby/RubyFloat;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 y Lorg/jruby/RubyFloat;
MethodParameters:
Name Flags
context
y
public org.jruby.runtime.builtin.IRubyObject isNegative(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.basic_op_lt:Lorg/jruby/runtime/callsite/CachingCallSite;
astore 2
start local 2 1: aload 2
aload 0
getfield org.jruby.RubyBignum.metaClass:Lorg/jruby/RubyClass;
invokevirtual org.jruby.runtime.callsite.CachingCallSite.retrieveCache:(Lorg/jruby/RubyClass;)Lorg/jruby/runtime/callsite/CacheEntry;
getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isBuiltin:()Z
ifeq 5
2: aload 1
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
ifge 3
iconst_1
goto 4
StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.callsite.CachingCallSite
StackMap stack: org.jruby.runtime.ThreadContext
3: iconst_0
StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.callsite.CachingCallSite
StackMap stack: org.jruby.runtime.ThreadContext int
4: invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
5: StackMap locals:
StackMap stack:
aload 2
aload 1
aload 0
aload 0
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.runtime.callsite.CachingCallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/RubyBignum;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
1 6 2 op_lt_site Lorg/jruby/runtime/callsite/CachingCallSite;
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject isPositive(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.jruby.RubyBignum.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
getfield org.jruby.runtime.JavaSites$BignumSites.basic_op_gt:Lorg/jruby/runtime/callsite/CachingCallSite;
astore 2
start local 2 1: aload 2
aload 0
getfield org.jruby.RubyBignum.metaClass:Lorg/jruby/RubyClass;
invokevirtual org.jruby.runtime.callsite.CachingCallSite.retrieveCache:(Lorg/jruby/RubyClass;)Lorg/jruby/runtime/callsite/CacheEntry;
getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isBuiltin:()Z
ifeq 5
2: aload 1
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
ifle 3
iconst_1
goto 4
StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.callsite.CachingCallSite
StackMap stack: org.jruby.runtime.ThreadContext
3: iconst_0
StackMap locals: org.jruby.RubyBignum org.jruby.runtime.ThreadContext org.jruby.runtime.callsite.CachingCallSite
StackMap stack: org.jruby.runtime.ThreadContext int
4: invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
5: StackMap locals:
StackMap stack:
aload 2
aload 1
aload 0
aload 0
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.runtime.callsite.CachingCallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/RubyBignum;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
1 6 2 op_gt_site Lorg/jruby/runtime/callsite/CachingCallSite;
MethodParameters:
Name Flags
context
protected boolean int_round_zero_p(org.jruby.runtime.ThreadContext, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;I)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
bipush 8
idiv
iconst_1
iadd
i2l
lstore 3
start local 3 1: ldc -0.415241
iload 2
i2d
dmul
ldc 0.125
dsub
lload 3
l2d
dcmpl
ifle 2
iconst_1
ireturn
StackMap locals: long
StackMap stack:
2: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyBignum;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 ndigits I
1 3 3 bytes J
MethodParameters:
Name Flags
context
ndigits
public boolean isImmediate();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
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 Lorg/jruby/RubyBignum;
public org.jruby.runtime.builtin.IRubyObject numerator(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject denominator(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyBignum;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.RubyRational convertToRational();
descriptor: ()Lorg/jruby/RubyRational;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyBignum.getRuntime:()Lorg/jruby/Ruby;
astore 1
start local 1 1: aload 1
aload 0
aload 1
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.RubyRational.newRationalRaw:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyBignum;
1 2 1 runtime Lorg/jruby/Ruby;
public org.jruby.runtime.builtin.IRubyObject sqrt(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 0
invokevirtual org.jruby.RubyBignum.isNegative:()Z
ifeq 3
2: aload 2
ldc "Numerical argument is out of domain - isqrt"
invokevirtual org.jruby.Ruby.newMathDomainError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 2
aload 0
getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.floorSqrt:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/RubyBignum;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
1 4 2 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
context
private static org.jruby.runtime.JavaSites$BignumSites sites(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$BignumSites;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
getfield org.jruby.runtime.JavaSites.Bignum:Lorg/jruby/runtime/JavaSites$BignumSites;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject op_aref(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyBignum.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFixnum;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.jruby.runtime.builtin.IRubyObject to_s();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.jruby.RubyBignum.to_s:()Lorg/jruby/RubyString;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "RubyBignum.java"
InnerClasses:
public final ID = org.jruby.common.IRubyWarnings$ID of org.jruby.common.IRubyWarnings
public BignumSites = org.jruby.runtime.JavaSites$BignumSites of org.jruby.runtime.JavaSites
public CheckedSites = org.jruby.runtime.JavaSites$CheckedSites of org.jruby.runtime.JavaSites
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyClass(name = {"Bignum"}, parent = "Integer")