public class org.jruby.util.Pack
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.util.Pack
super_class: java.lang.Object
{
private static final byte[] sSp10;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] sNil10;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int IS_STAR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final org.jcodings.specific.ASCIIEncoding ASCII;
descriptor: Lorg/jcodings/specific/ASCIIEncoding;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jcodings.specific.USASCIIEncoding USASCII;
descriptor: Lorg/jcodings/specific/USASCIIEncoding;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jcodings.specific.UTF8Encoding UTF8;
descriptor: Lorg/jcodings/specific/UTF8Encoding;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String NATIVE_CODES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sSiIlL"
private static final java.lang.String MAPPED_CODES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sSiIqQ"
private static final char BE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 61
private static final char LE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 60
private static final java.lang.String ENDIANESS_CODES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String UNPACK_IGNORE_NULL_CODES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "cC"
private static final java.lang.String PACK_IGNORE_NULL_CODES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "cCiIlLnNqQsSvV"
private static final java.lang.String PACK_IGNORE_NULL_CODES_WITH_MODIFIERS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "lLsS"
private static final int UNPACK_ARRAY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int UNPACK_BLOCK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int UNPACK_1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final java.lang.String sTooFew;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "too few arguments"
private static final byte[] uu_table;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] b64_table;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final byte[] sHexDigits;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int[] b64_xtable;
descriptor: [I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final org.jruby.util.Pack$Converter[] converters;
descriptor: [Lorg/jruby/util/Pack$Converter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long[] utf8_limits;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=1, args_size=0
0: ldc " "
invokevirtual java.lang.String.getBytes:()[B
putstatic org.jruby.util.Pack.sSp10:[B
1: ldc "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
invokevirtual java.lang.String.getBytes:()[B
putstatic org.jruby.util.Pack.sNil10:[B
2: getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
putstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
3: getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
putstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
4: getstatic org.jcodings.specific.UTF8Encoding.INSTANCE:Lorg/jcodings/specific/UTF8Encoding;
putstatic org.jruby.util.Pack.UTF8:Lorg/jcodings/specific/UTF8Encoding;
5: new java.lang.String
dup
bipush 16
newarray 5
dup
iconst_0
6: sipush 176
castore
dup
iconst_1
sipush 144
castore
dup
iconst_2
sipush 166
castore
dup
iconst_3
sipush 134
castore
dup
iconst_4
sipush 169
castore
dup
iconst_5
sipush 137
castore
dup
bipush 6
sipush 174
castore
dup
bipush 7
sipush 142
castore
dup
bipush 8
7: sipush 175
castore
dup
bipush 9
sipush 143
castore
dup
bipush 10
sipush 165
castore
dup
bipush 11
sipush 133
castore
dup
bipush 12
sipush 168
castore
dup
bipush 13
sipush 136
castore
dup
bipush 14
sipush 173
castore
dup
bipush 15
sipush 141
castore
8: invokespecial java.lang.String.<init>:([C)V
putstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
9: sipush 256
newarray 10
putstatic org.jruby.util.Pack.b64_xtable:[I
10: sipush 256
anewarray org.jruby.util.Pack$Converter
putstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
11: ldc "`!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
12: putstatic org.jruby.util.Pack.uu_table:[B
13: ldc "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
14: putstatic org.jruby.util.Pack.b64_table:[B
15: ldc "0123456789abcdef0123456789ABCDEFx"
invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
putstatic org.jruby.util.Pack.sHexDigits:[B
16: iconst_0
istore 0
start local 0 17: goto 20
18: StackMap locals: int
StackMap stack:
getstatic org.jruby.util.Pack.b64_xtable:[I
iload 0
iconst_m1
iastore
19: iinc 0 1
StackMap locals:
StackMap stack:
20: iload 0
sipush 256
if_icmplt 18
end local 0 21: iconst_0
istore 0
start local 0 22: goto 25
23: StackMap locals:
StackMap stack:
getstatic org.jruby.util.Pack.b64_xtable:[I
getstatic org.jruby.util.Pack.b64_table:[B
iload 0
baload
iload 0
iastore
24: iinc 0 1
StackMap locals:
StackMap stack:
25: iload 0
bipush 64
if_icmplt 23
end local 0 26: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 101
new org.jruby.util.Pack$1
dup
iconst_4
invokespecial org.jruby.util.Pack$1.<init>:(I)V
aastore
27: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 103
new org.jruby.util.Pack$2
dup
iconst_4
invokespecial org.jruby.util.Pack$2.<init>:(I)V
aastore
28: new org.jruby.util.Pack$3
dup
iconst_4
invokespecial org.jruby.util.Pack$3.<init>:(I)V
astore 0
start local 0 29: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 70
aload 0
aastore
30: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 102
aload 0
aastore
31: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 69
new org.jruby.util.Pack$4
dup
bipush 8
invokespecial org.jruby.util.Pack$4.<init>:(I)V
aastore
32: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 71
new org.jruby.util.Pack$5
dup
bipush 8
invokespecial org.jruby.util.Pack$5.<init>:(I)V
aastore
33: new org.jruby.util.Pack$6
dup
bipush 8
invokespecial org.jruby.util.Pack$6.<init>:(I)V
astore 0
34: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 68
aload 0
aastore
35: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 100
aload 0
aastore
36: new org.jruby.util.Pack$7
dup
iconst_2
ldc "Integer"
invokespecial org.jruby.util.Pack$7.<init>:(ILjava/lang/String;)V
astore 0
37: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 118
aload 0
aastore
38: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 143
aload 0
aastore
39: new org.jruby.util.Pack$8
dup
iconst_2
ldc "Integer"
invokespecial org.jruby.util.Pack$8.<init>:(ILjava/lang/String;)V
astore 0
40: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 110
aload 0
aastore
41: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 144
aload 0
aastore
42: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 115
new org.jruby.util.Pack$9
dup
iconst_2
ldc "Integer"
invokespecial org.jruby.util.Pack$9.<init>:(ILjava/lang/String;)V
aastore
43: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 83
new org.jruby.util.Pack$10
dup
iconst_2
ldc "Integer"
invokespecial org.jruby.util.Pack$10.<init>:(ILjava/lang/String;)V
aastore
44: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 175
new org.jruby.util.Pack$11
dup
iconst_2
ldc "Integer"
invokespecial org.jruby.util.Pack$11.<init>:(ILjava/lang/String;)V
aastore
45: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 176
new org.jruby.util.Pack$12
dup
iconst_2
ldc "Integer"
invokespecial org.jruby.util.Pack$12.<init>:(ILjava/lang/String;)V
aastore
46: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 99
new org.jruby.util.Pack$13
dup
iconst_1
ldc "Integer"
invokespecial org.jruby.util.Pack$13.<init>:(ILjava/lang/String;)V
aastore
47: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 67
new org.jruby.util.Pack$14
dup
iconst_1
ldc "Integer"
invokespecial org.jruby.util.Pack$14.<init>:(ILjava/lang/String;)V
aastore
48: new org.jruby.util.Pack$15
dup
iconst_4
ldc "Integer"
invokespecial org.jruby.util.Pack$15.<init>:(ILjava/lang/String;)V
astore 0
49: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 86
aload 0
aastore
50: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 136
aload 0
aastore
51: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 133
aload 0
aastore
52: new org.jruby.util.Pack$16
dup
iconst_4
ldc "Integer"
invokespecial org.jruby.util.Pack$16.<init>:(ILjava/lang/String;)V
astore 0
53: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 78
aload 0
aastore
54: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 137
aload 0
aastore
55: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 134
aload 0
aastore
56: new org.jruby.util.Pack$17
dup
iconst_4
ldc "Integer"
invokespecial org.jruby.util.Pack$17.<init>:(ILjava/lang/String;)V
astore 0
57: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 73
aload 0
aastore
58: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 76
aload 0
aastore
59: new org.jruby.util.Pack$18
dup
iconst_4
ldc "Integer"
invokespecial org.jruby.util.Pack$18.<init>:(ILjava/lang/String;)V
astore 0
60: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 105
aload 0
aastore
61: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 108
aload 0
aastore
62: new org.jruby.util.Pack$19
dup
iconst_4
ldc "Integer"
invokespecial org.jruby.util.Pack$19.<init>:(ILjava/lang/String;)V
astore 0
63: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 165
aload 0
aastore
64: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 168
aload 0
aastore
65: new org.jruby.util.Pack$20
dup
iconst_4
ldc "Integer"
invokespecial org.jruby.util.Pack$20.<init>:(ILjava/lang/String;)V
astore 0
66: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 166
aload 0
aastore
67: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 169
aload 0
aastore
68: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 81
new org.jruby.util.Pack$21
dup
bipush 8
ldc "Integer"
invokespecial org.jruby.util.Pack$21.<init>:(ILjava/lang/String;)V
aastore
69: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 141
new org.jruby.util.Pack$22
dup
bipush 8
ldc "Integer"
invokespecial org.jruby.util.Pack$22.<init>:(ILjava/lang/String;)V
aastore
70: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 142
new org.jruby.util.Pack$23
dup
bipush 8
ldc "Integer"
invokespecial org.jruby.util.Pack$23.<init>:(ILjava/lang/String;)V
aastore
71: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
bipush 113
new org.jruby.util.Pack$24
dup
bipush 8
ldc "Integer"
invokespecial org.jruby.util.Pack$24.<init>:(ILjava/lang/String;)V
aastore
72: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 173
new org.jruby.util.Pack$25
dup
bipush 8
ldc "Integer"
invokespecial org.jruby.util.Pack$25.<init>:(ILjava/lang/String;)V
aastore
73: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
sipush 174
new org.jruby.util.Pack$26
dup
bipush 8
ldc "Integer"
invokespecial org.jruby.util.Pack$26.<init>:(ILjava/lang/String;)V
aastore
end local 0 74: bipush 7
newarray 11
dup
iconst_1
75: ldc 128
lastore
dup
iconst_2
76: ldc 2048
lastore
dup
iconst_3
77: ldc 65536
lastore
dup
iconst_4
78: ldc 2097152
lastore
dup
iconst_5
79: ldc 67108864
lastore
dup
bipush 6
80: ldc -2147483648
lastore
81: putstatic org.jruby.util.Pack.utf8_limits:[J
82: return
LocalVariableTable:
Start End Slot Name Signature
17 21 0 i I
22 26 0 i I
29 74 0 tmp Lorg/jruby/util/Pack$Converter;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/util/Pack;
private static long num2quad(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 1
lconst_0
lreturn
1: StackMap locals:
StackMap stack:
aload 0
instanceof org.jruby.RubyBignum
ifeq 4
2: aload 0
checkcast org.jruby.RubyBignum
invokevirtual org.jruby.RubyBignum.getValue:()Ljava/math/BigInteger;
astore 1
start local 1 3: aload 1
invokevirtual java.math.BigInteger.longValue:()J
lreturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 arg Lorg/jruby/runtime/builtin/IRubyObject;
3 4 1 big Ljava/math/BigInteger;
MethodParameters:
Name Flags
arg
private static float obj2flt(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.jruby.util.TypeConverter.toFloat:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFloat;
invokevirtual org.jruby.RubyFloat.getDoubleValue:()D
d2f
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 o Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime
o
private static double obj2dbl(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.jruby.util.TypeConverter.toFloat:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFloat;
invokevirtual org.jruby.RubyFloat.getDoubleValue:()D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 o Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime
o
public static int unpackInt_i(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic org.jruby.platform.Platform.BYTE_ORDER:I
sipush 4321
if_icmpne 3
1: aload 0
invokestatic org.jruby.util.Pack.decodeIntBigEndian:(Ljava/nio/ByteBuffer;)I
istore 1
start local 1 2: goto 4
end local 1 3: StackMap locals:
StackMap stack:
aload 0
invokestatic org.jruby.util.Pack.decodeIntLittleEndian:(Ljava/nio/ByteBuffer;)I
istore 1
start local 1 4: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 enc Ljava/nio/ByteBuffer;
2 3 1 value I
4 5 1 value I
MethodParameters:
Name Flags
enc
public static org.jruby.util.ByteList packInt_i(org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.jruby.platform.Platform.BYTE_ORDER:I
sipush 4321
if_icmpne 3
1: aload 0
iload 1
invokestatic org.jruby.util.Pack.encodeIntBigEndian:(Lorg/jruby/util/ByteList;I)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
iload 1
invokestatic org.jruby.util.Pack.encodeIntLittleEndian:(Lorg/jruby/util/ByteList;I)V
4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 result Lorg/jruby/util/ByteList;
0 5 1 s I
MethodParameters:
Name Flags
result
s
public static void encodeUM(org.jruby.Ruby, org.jruby.util.ByteList, int, boolean, char, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;IZCLorg/jruby/util/ByteList;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 2
ifne 6
iload 4
bipush 109
if_icmpne 6
iload 3
ifne 6
1: aload 0
aload 5
aload 1
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
2: aload 1
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 1
invokevirtual org.jruby.util.ByteList.length:()I
3: aload 1
invokevirtual org.jruby.util.ByteList.length:()I
iload 4
i2b
iconst_0
4: invokestatic org.jruby.util.Pack.encodes:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIIIBZ)Lorg/jruby/util/ByteList;
pop
5: return
6: StackMap locals:
StackMap stack:
iload 2
iconst_2
if_icmpgt 7
bipush 45
goto 8
StackMap locals:
StackMap stack:
7: iload 2
iconst_3
idiv
iconst_3
imul
StackMap locals:
StackMap stack: int
8: istore 2
9: aload 1
invokevirtual org.jruby.util.ByteList.length:()I
ifne 10
return
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 6
start local 6 11: iconst_0
istore 7
start local 7 12: goto 18
13: StackMap locals: byte[] int
StackMap stack:
aload 0
aload 5
aload 6
14: iload 7
aload 1
invokevirtual org.jruby.util.ByteList.getBegin:()I
iadd
aload 1
invokevirtual org.jruby.util.ByteList.length:()I
iload 7
isub
15: iload 2
iload 4
i2b
iconst_1
16: invokestatic org.jruby.util.Pack.encodes:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIIIBZ)Lorg/jruby/util/ByteList;
pop
17: iload 7
iload 2
iadd
istore 7
StackMap locals:
StackMap stack:
18: iload 7
aload 1
invokevirtual org.jruby.util.ByteList.length:()I
if_icmplt 13
end local 7 19: return
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 20 0 runtime Lorg/jruby/Ruby;
0 20 1 lCurElemString Lorg/jruby/util/ByteList;
0 20 2 occurrences I
0 20 3 ignoreStar Z
0 20 4 type C
0 20 5 result Lorg/jruby/util/ByteList;
11 20 6 charsToEncode [B
12 19 7 i I
MethodParameters:
Name Flags
runtime
lCurElemString
occurrences
ignoreStar
type
result
private static org.jruby.util.ByteList encodes(org.jruby.Ruby, org.jruby.util.ByteList, byte[], int, int, int, byte, boolean);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIIIBZ)Lorg/jruby/util/ByteList;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=14, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: iload 5
iload 4
if_icmpge 1
iload 5
goto 2
StackMap locals:
StackMap stack:
1: iload 4
StackMap locals:
StackMap stack: int
2: istore 5
3: aload 1
iload 5
iconst_4
imul
iconst_3
idiv
bipush 6
iadd
invokevirtual org.jruby.util.ByteList.ensure:(I)V
4: iload 3
istore 8
start local 8 5: iload 6
bipush 117
if_icmpne 6
getstatic org.jruby.util.Pack.uu_table:[B
goto 7
StackMap locals: int
StackMap stack:
6: getstatic org.jruby.util.Pack.b64_table:[B
StackMap locals:
StackMap stack: byte[]
7: astore 9
start local 9 8: iload 6
bipush 117
if_icmpne 17
9: iload 5
aload 9
arraylength
if_icmplt 14
10: aload 0
new java.lang.StringBuilder
dup
iload 5
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: ldc " is not a correct value for the number of bytes per line in a u directive. Correct values range from 0 to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: aload 9
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
14: StackMap locals: byte[]
StackMap stack:
aload 1
aload 9
iload 5
baload
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
15: bipush 96
istore 10
start local 10 16: goto 27
end local 10 17: StackMap locals:
StackMap stack:
bipush 61
istore 10
start local 10 18: goto 27
19: StackMap locals: int
StackMap stack:
aload 2
iload 8
iinc 8 1
baload
istore 11
start local 11 20: aload 2
iload 8
iinc 8 1
baload
istore 12
start local 12 21: aload 2
iload 8
iinc 8 1
baload
istore 13
start local 13 22: aload 1
aload 9
bipush 63
iload 11
iconst_2
iushr
iand
baload
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
23: aload 1
aload 9
bipush 63
iload 11
iconst_4
ishl
bipush 48
iand
iload 12
iconst_4
iushr
bipush 15
iand
ior
iand
baload
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
24: aload 1
aload 9
bipush 63
iload 12
iconst_2
ishl
bipush 60
iand
iload 13
bipush 6
iushr
iconst_3
iand
ior
iand
baload
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
25: aload 1
aload 9
bipush 63
iload 13
iand
baload
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
26: iinc 5 -3
end local 13 end local 12 end local 11 27: StackMap locals:
StackMap stack:
iload 5
iconst_3
if_icmpge 19
28: iload 5
iconst_2
if_icmpne 36
29: aload 2
iload 8
iinc 8 1
baload
istore 11
start local 11 30: aload 2
iload 8
iinc 8 1
baload
istore 12
start local 12 31: aload 1
aload 9
bipush 63
iload 11
iconst_2
iushr
iand
baload
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
32: aload 1
aload 9
bipush 63
iload 11
iconst_4
ishl
bipush 48
iand
iload 12
iconst_4
ishr
bipush 15
iand
ior
iand
baload
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
33: aload 1
aload 9
bipush 63
iload 12
iconst_2
ishl
bipush 60
iand
iand
baload
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
34: aload 1
iload 10
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
end local 12 end local 11 35: goto 42
StackMap locals:
StackMap stack:
36: iload 5
iconst_1
if_icmpne 42
37: aload 2
iload 8
iinc 8 1
baload
istore 11
start local 11 38: aload 1
aload 9
bipush 63
iload 11
iconst_2
iushr
iand
baload
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
39: aload 1
aload 9
bipush 63
iload 11
iconst_4
ishl
bipush 48
iand
iand
baload
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
40: aload 1
iload 10
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
41: aload 1
iload 10
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
end local 11 42: StackMap locals:
StackMap stack:
iload 7
ifeq 44
43: aload 1
bipush 10
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
44: StackMap locals:
StackMap stack:
aload 1
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 runtime Lorg/jruby/Ruby;
0 45 1 io2Append Lorg/jruby/util/ByteList;
0 45 2 charsToEncode [B
0 45 3 startIndex I
0 45 4 length I
0 45 5 charCount I
0 45 6 encodingType B
0 45 7 tailLf Z
5 45 8 i I
8 45 9 lTranslationTable [B
16 17 10 lPadding B
18 45 10 lPadding B
20 27 11 lCurChar B
21 27 12 lNextChar B
22 27 13 lNextNextChar B
30 35 11 lCurChar B
31 35 12 lNextChar B
38 42 11 lCurChar B
MethodParameters:
Name Flags
runtime
io2Append
charsToEncode
startIndex
length
charCount
encodingType
tailLf
public static org.jruby.RubyArray unpack(org.jruby.Ruby, org.jruby.util.ByteList, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyArray;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 0
aload 1
aload 2
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
invokestatic org.jruby.util.Pack.unpackWithBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 encodedString Lorg/jruby/util/ByteList;
0 1 2 formatString Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
runtime
encodedString
formatString
public static org.jruby.RubyArray unpack(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyArray;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
invokestatic org.jruby.util.Pack.unpackWithBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 encoded Lorg/jruby/RubyString;
0 1 2 formatString Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
context
encoded
formatString
public static org.jruby.RubyArray unpackWithBlock(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.util.ByteList, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 1
iconst_1
goto 2
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList org.jruby.runtime.Block
StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList
1: iconst_0
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList org.jruby.runtime.Block
StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList int
2: aload 3
invokestatic org.jruby.util.Pack.unpackInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;ILorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyArray
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lorg/jruby/runtime/ThreadContext;
0 3 1 encoded Lorg/jruby/RubyString;
0 3 2 formatString Lorg/jruby/util/ByteList;
0 3 3 block Lorg/jruby/runtime/Block;
MethodParameters:
Name Flags
context
encoded
formatString
block
private static org.jruby.RubyString unpackBase46Strict(org.jruby.Ruby, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=14, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_m1
istore 3
start local 3 2: iconst_m1
istore 4
start local 4 3: iconst_m1
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: aload 1
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
astore 7
start local 7 6: aload 1
invokevirtual org.jruby.util.ByteList.begin:()I
istore 8
start local 8 7: aload 1
invokevirtual org.jruby.util.ByteList.realSize:()I
istore 9
start local 9 8: iload 8
iload 9
iadd
istore 10
start local 10 9: iload 9
iconst_4
irem
ifeq 10
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
10: StackMap locals: org.jruby.Ruby org.jruby.util.ByteList int int int int int byte[] int int int
StackMap stack:
iload 8
istore 11
start local 11 11: iconst_3
iload 9
iconst_3
iadd
iconst_4
idiv
imul
newarray 8
astore 12
start local 12 12: goto 31
13: StackMap locals: int byte[]
StackMap stack:
aload 7
iload 11
iinc 11 1
baload
istore 3
14: getstatic org.jruby.util.Pack.b64_xtable:[I
iload 3
iaload
istore 4
15: iload 4
iconst_m1
if_icmpne 16
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
16: StackMap locals:
StackMap stack:
aload 7
iload 11
iinc 11 1
baload
istore 3
17: getstatic org.jruby.util.Pack.b64_xtable:[I
iload 3
iaload
istore 5
18: iload 5
iconst_m1
if_icmpne 19
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
19: StackMap locals:
StackMap stack:
aload 7
iload 11
iinc 11 1
baload
istore 3
20: getstatic org.jruby.util.Pack.b64_xtable:[I
iload 3
iaload
istore 6
21: iload 3
bipush 61
if_icmpne 23
22: aload 7
iload 11
iinc 11 1
baload
bipush 61
if_icmpeq 32
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
23: StackMap locals:
StackMap stack:
iload 6
iconst_m1
if_icmpne 24
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
24: StackMap locals:
StackMap stack:
aload 7
iload 11
iinc 11 1
baload
istore 3
25: getstatic org.jruby.util.Pack.b64_xtable:[I
iload 3
iaload
istore 13
start local 13 26: iload 3
bipush 61
if_icmpne 27
goto 32
27: StackMap locals: int
StackMap stack:
iload 13
iconst_m1
if_icmpne 28
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
28: StackMap locals:
StackMap stack:
aload 12
iload 2
iinc 2 1
iload 4
iconst_2
ishl
iload 5
iconst_4
ishr
ior
i2b
bastore
29: aload 12
iload 2
iinc 2 1
iload 5
iconst_4
ishl
iload 6
iconst_2
ishr
ior
i2b
bastore
30: aload 12
iload 2
iinc 2 1
iload 6
bipush 6
ishl
iload 13
ior
i2b
bastore
end local 13 31: StackMap locals:
StackMap stack:
iload 11
iload 10
if_icmpge 32
iload 3
bipush 61
if_icmpne 13
32: StackMap locals:
StackMap stack:
iload 11
iload 10
if_icmpge 33
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
33: StackMap locals:
StackMap stack:
iload 4
iconst_m1
if_icmpeq 42
iload 5
iconst_m1
if_icmpeq 42
34: iload 6
iconst_m1
if_icmpne 38
iload 3
bipush 61
if_icmpne 38
35: iload 5
bipush 15
iand
ifle 36
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
36: StackMap locals:
StackMap stack:
aload 12
iload 2
iinc 2 1
iload 4
iconst_2
ishl
iload 5
iconst_4
ishr
ior
sipush 255
iand
i2b
bastore
37: goto 42
StackMap locals:
StackMap stack:
38: iload 6
iconst_m1
if_icmpeq 42
iload 3
bipush 61
if_icmpne 42
39: iload 6
iconst_3
iand
ifle 40
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
40: StackMap locals:
StackMap stack:
aload 12
iload 2
iinc 2 1
iload 4
iconst_2
ishl
iload 5
iconst_4
ishr
ior
sipush 255
iand
i2b
bastore
41: aload 12
iload 2
iinc 2 1
iload 5
iconst_4
ishl
iload 6
iconst_2
ishr
ior
sipush 255
iand
i2b
bastore
42: StackMap locals:
StackMap stack:
aload 0
new org.jruby.util.ByteList
dup
aload 12
iconst_0
iload 2
invokespecial org.jruby.util.ByteList.<init>:([BII)V
invokevirtual org.jruby.Ruby.newString:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 runtime Lorg/jruby/Ruby;
0 43 1 input Lorg/jruby/util/ByteList;
1 43 2 index I
2 43 3 s I
3 43 4 a I
4 43 5 b I
5 43 6 c I
6 43 7 buf [B
7 43 8 begin I
8 43 9 length I
9 43 10 end I
11 43 11 p I
12 43 12 out [B
26 31 13 d I
MethodParameters:
Name Flags
runtime
input
public static org.jruby.runtime.builtin.IRubyObject unpack1WithBlock(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.util.ByteList, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.jruby.util.ByteList.realSize:()I
istore 4
start local 4 1: iload 4
iconst_1
if_icmplt 7
2: aload 2
iconst_0
invokevirtual org.jruby.util.ByteList.get:(I)I
sipush 255
iand
i2b
istore 5
start local 5 3: iload 5
bipush 109
if_icmpne 7
4: iload 4
iconst_2
if_icmpne 7
5: aload 2
iconst_1
invokevirtual org.jruby.util.ByteList.get:(I)I
sipush 255
iand
i2b
istore 6
start local 6 6: iload 6
bipush 48
if_icmpne 7
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 1
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokestatic org.jruby.util.Pack.unpackBase46Strict:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
areturn
end local 6 end local 5 7: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
iconst_2
aload 3
invokestatic org.jruby.util.Pack.unpackInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;ILorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 context Lorg/jruby/runtime/ThreadContext;
0 8 1 encoded Lorg/jruby/RubyString;
0 8 2 formatString Lorg/jruby/util/ByteList;
0 8 3 block Lorg/jruby/runtime/Block;
1 8 4 formatLength I
3 7 5 first B
6 7 6 second B
MethodParameters:
Name Flags
context
encoded
formatString
block
private static org.jruby.runtime.builtin.IRubyObject unpackInternal(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.util.ByteList, int, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;ILorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 5
start local 5 1: iload 3
iconst_1
if_icmpeq 2
iload 3
iconst_2
if_icmpne 3
StackMap locals: org.jruby.Ruby
StackMap stack:
2: aconst_null
goto 4
StackMap locals:
StackMap stack:
3: aload 5
invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
StackMap locals:
StackMap stack: org.jruby.RubyArray
4: astore 6
start local 6 5: aload 1
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 7
start local 7 6: aload 1
invokevirtual org.jruby.RubyString.isTaint:()Z
istore 8
start local 8 7: aload 2
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 2
invokevirtual org.jruby.util.ByteList.begin:()I
aload 2
invokevirtual org.jruby.util.ByteList.length:()I
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
astore 9
start local 9 8: aload 7
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 7
invokevirtual org.jruby.util.ByteList.begin:()I
aload 7
invokevirtual org.jruby.util.ByteList.length:()I
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
astore 10
start local 10 9: aload 9
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
start local 11 10: aconst_null
astore 12
start local 12 11: goto 93
12: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList int org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyArray org.jruby.util.ByteList int java.nio.ByteBuffer java.nio.ByteBuffer int org.jruby.runtime.builtin.IRubyObject
StackMap stack:
iload 11
istore 13
start local 13 13: aload 9
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
14: ldc "cC"
iload 13
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 16
iload 11
ifne 16
15: aload 9
invokestatic org.jruby.util.Pack.safeGetIgnoreNull:(Ljava/nio/ByteBuffer;)I
istore 11
16: StackMap locals: int
StackMap stack:
iload 13
bipush 35
if_icmpne 22
17: goto 21
18: StackMap locals:
StackMap stack:
iload 11
ifne 19
goto 94
19: StackMap locals:
StackMap stack:
iload 11
istore 13
20: aload 9
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
21: StackMap locals:
StackMap stack:
iload 13
bipush 10
if_icmpne 18
22: StackMap locals:
StackMap stack:
iload 11
bipush 95
if_icmpeq 23
iload 11
bipush 33
if_icmpne 28
23: StackMap locals:
StackMap stack:
ldc "sSiIlL"
iload 13
invokevirtual java.lang.String.indexOf:(I)I
istore 14
start local 14 24: iload 14
iconst_m1
if_icmpne 26
25: aload 5
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "' allowed only after types "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "sSiIlL"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
26: StackMap locals: int
StackMap stack:
ldc "sSiIqQ"
iload 14
invokevirtual java.lang.String.charAt:(I)C
istore 13
27: aload 9
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
end local 14 28: StackMap locals:
StackMap stack:
iload 11
bipush 62
if_icmpeq 29
iload 11
bipush 60
if_icmpne 39
29: StackMap locals:
StackMap stack:
iload 11
bipush 62
if_icmpne 30
bipush 61
goto 31
StackMap locals:
StackMap stack:
30: bipush 60
StackMap locals:
StackMap stack: int
31: istore 11
32: getstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
iload 13
iload 11
iadd
invokevirtual java.lang.String.indexOf:(I)I
istore 14
start local 14 33: iload 14
iconst_m1
if_icmpne 35
34: aload 5
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "' allowed only after types sSiIlLqQ"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
35: StackMap locals: int
StackMap stack:
getstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
iload 14
invokevirtual java.lang.String.charAt:(I)C
istore 13
36: aload 9
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
37: iload 11
bipush 95
if_icmpeq 38
iload 11
bipush 33
if_icmpne 39
StackMap locals:
StackMap stack:
38: aload 9
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
end local 14 39: StackMap locals:
StackMap stack:
iload 11
ifne 42
40: iconst_1
istore 14
start local 14 41: goto 55
end local 14 42: StackMap locals:
StackMap stack:
iload 11
bipush 42
if_icmpne 46
43: iconst_m1
istore 14
start local 14 44: aload 9
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
45: goto 55
end local 14 StackMap locals:
StackMap stack:
46: getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
iload 11
invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
ifeq 52
47: iconst_0
istore 14
start local 14 48: StackMap locals: int
StackMap stack:
iload 14
bipush 10
imul
iload 11
sipush 255
iand
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
iadd
istore 14
49: aload 9
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
50: iload 11
ifeq 55
getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
iload 11
invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
ifne 48
51: goto 55
end local 14 52: StackMap locals:
StackMap stack:
iload 13
bipush 64
if_icmpne 53
iconst_0
goto 54
StackMap locals:
StackMap stack:
53: iconst_1
StackMap locals:
StackMap stack: int
54: istore 14
start local 14 55: StackMap locals: int
StackMap stack:
getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
iload 13
aaload
astore 15
start local 15 56: aload 15
ifnull 60
57: aload 0
aload 5
aload 10
iload 14
aload 6
aload 4
aload 15
iload 3
invokestatic org.jruby.util.Pack.decode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;Lorg/jruby/util/Pack$Converter;I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
58: iload 3
iconst_2
if_icmpne 93
aload 12
ifnull 93
59: aload 12
areturn
60: StackMap locals: org.jruby.util.Pack$Converter
StackMap stack:
iload 13
lookupswitch { // 16
37: 63
64: 61
65: 64
66: 72
72: 76
77: 82
85: 84
88: 86
90: 66
97: 68
98: 70
104: 74
109: 80
117: 78
119: 90
120: 88
default: 91
}
61: StackMap locals:
StackMap stack:
aload 5
aload 7
aload 10
iload 14
invokestatic org.jruby.util.Pack.unpack_at:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/nio/ByteBuffer;I)V
62: goto 91
63: StackMap locals:
StackMap stack:
aload 5
ldc "% is not supported"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
64: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 6
iload 8
aload 10
iload 14
iload 3
invokestatic org.jruby.util.Pack.unpack_A:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
65: goto 91
66: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 6
iload 8
aload 10
iload 14
iload 3
invokestatic org.jruby.util.Pack.unpack_Z:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
67: goto 91
68: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 6
iload 8
aload 10
iload 14
iload 3
invokestatic org.jruby.util.Pack.unpack_a:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
69: goto 91
70: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 6
iload 8
aload 10
iload 14
iload 3
invokestatic org.jruby.util.Pack.unpack_b:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
71: goto 91
72: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 6
iload 8
aload 10
iload 14
iload 3
invokestatic org.jruby.util.Pack.unpack_B:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
73: goto 91
74: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 6
iload 8
aload 10
iload 14
iload 3
invokestatic org.jruby.util.Pack.unpack_h:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
75: goto 91
76: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 6
iload 8
aload 10
iload 14
iload 3
invokestatic org.jruby.util.Pack.unpack_H:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
77: goto 91
78: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 6
iload 8
aload 10
iload 3
invokestatic org.jruby.util.Pack.unpack_u:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
79: goto 91
80: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 5
aload 6
iload 8
aload 10
iload 14
iload 3
invokestatic org.jruby.util.Pack.unpack_m:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
81: goto 91
82: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 6
iload 8
aload 10
iload 3
invokestatic org.jruby.util.Pack.unpack_M:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
83: goto 91
84: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 5
aload 6
aload 10
iload 14
iload 3
invokestatic org.jruby.util.Pack.unpack_U:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Ljava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
85: goto 91
86: StackMap locals:
StackMap stack:
aload 5
aload 10
iload 14
invokestatic org.jruby.util.Pack.unpack_X:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)V
87: goto 91
88: StackMap locals:
StackMap stack:
aload 5
aload 10
iload 14
invokestatic org.jruby.util.Pack.unpack_x:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)V
89: goto 91
90: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 5
aload 6
aload 10
iload 14
iload 3
invokestatic org.jruby.util.Pack.unpack_w:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Ljava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
91: StackMap locals:
StackMap stack:
iload 3
iconst_2
if_icmpne 93
aload 12
ifnull 93
92: aload 12
areturn
end local 15 end local 14 end local 13 93: StackMap locals:
StackMap stack:
iload 11
ifne 12
94: StackMap locals:
StackMap stack:
aload 6
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 95 0 context Lorg/jruby/runtime/ThreadContext;
0 95 1 encoded Lorg/jruby/RubyString;
0 95 2 formatString Lorg/jruby/util/ByteList;
0 95 3 mode I
0 95 4 block Lorg/jruby/runtime/Block;
1 95 5 runtime Lorg/jruby/Ruby;
5 95 6 result Lorg/jruby/RubyArray;
6 95 7 encodedString Lorg/jruby/util/ByteList;
7 95 8 tainted Z
8 95 9 format Ljava/nio/ByteBuffer;
9 95 10 encode Ljava/nio/ByteBuffer;
10 95 11 next I
11 95 12 value Lorg/jruby/runtime/builtin/IRubyObject;
13 93 13 type I
24 28 14 index I
33 39 14 index I
41 42 14 occurrences I
44 46 14 occurrences I
48 52 14 occurrences I
55 93 14 occurrences I
56 93 15 converter Lorg/jruby/util/Pack$Converter;
MethodParameters:
Name Flags
context
encoded
formatString
mode
block
private static org.jruby.runtime.builtin.IRubyObject unpack_w(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.Ruby, org.jruby.RubyArray, java.nio.ByteBuffer, int, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Ljava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=17, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 5
iconst_m1
if_icmpeq 1
iload 5
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 2
1: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 5
2: StackMap locals:
StackMap stack:
lconst_0
lstore 7
start local 7 3: ldc -144115188075855872
lstore 9
start local 9 4: aload 2
ldc 128
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
astore 11
start local 11 5: aload 4
invokevirtual java.nio.ByteBuffer.position:()I
istore 12
start local 12 6: goto 38
7: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyArray java.nio.ByteBuffer int int long long org.jruby.RubyBignum int
StackMap stack:
lload 7
bipush 7
lshl
lstore 7
8: lload 7
aload 4
iload 12
invokevirtual java.nio.ByteBuffer.get:(I)B
bipush 127
iand
i2l
lor
lstore 7
9: aload 4
iload 12
iinc 12 1
invokevirtual java.nio.ByteBuffer.get:(I)B
sipush 128
iand
ifne 17
10: aload 2
lload 7
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
astore 13
start local 13 11: iload 6
iconst_2
if_icmpne 13
12: aload 13
areturn
13: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 1
aload 3
aload 13
iload 6
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
14: iinc 5 -1
15: lconst_0
lstore 7
end local 13 16: goto 38
StackMap locals:
StackMap stack:
17: lload 7
lload 9
land
lconst_0
lcmp
ifne 38
18: aload 2
lload 7
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
astore 13
start local 13 19: goto 37
20: StackMap locals: org.jruby.RubyBignum
StackMap stack:
aload 13
aload 2
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 11
invokevirtual org.jruby.RubyBignum.op_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 14
start local 14 21: aload 14
aload 2
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
ldc "+"
22: aload 2
aload 4
iload 12
invokevirtual java.nio.ByteBuffer.get:(I)B
bipush 127
iand
i2l
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
23: invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 15
start local 15 24: aload 15
instanceof org.jruby.RubyFixnum
ifeq 27
25: aload 2
aload 15
invokestatic org.jruby.RubyNumeric.fix2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
astore 13
26: goto 29
StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
27: aload 15
instanceof org.jruby.RubyBignum
ifeq 29
28: aload 15
checkcast org.jruby.RubyBignum
astore 13
29: StackMap locals:
StackMap stack:
aload 4
iload 12
iinc 12 1
invokevirtual java.nio.ByteBuffer.get:(I)B
sipush 128
iand
ifne 37
30: aload 2
aload 13
invokevirtual org.jruby.RubyBignum.getValue:()Ljava/math/BigInteger;
invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
astore 16
start local 16 31: iload 6
iconst_2
if_icmpne 33
32: aload 16
areturn
33: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 1
aload 3
aload 16
iload 6
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
34: iinc 5 -1
35: lconst_0
lstore 7
36: goto 38
end local 16 end local 15 end local 14 37: StackMap locals:
StackMap stack:
iload 5
ifle 38
iload 12
aload 4
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 20
end local 13 38: StackMap locals:
StackMap stack:
iload 5
ifle 39
iload 12
aload 4
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 7
39: StackMap locals:
StackMap stack:
aload 4
iload 12
invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
pop
40: goto 43
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
41: pop
42: aload 2
ldc "in `unpack': poorly encoded input"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
43: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 12 end local 11 end local 9 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 44 0 context Lorg/jruby/runtime/ThreadContext;
0 44 1 block Lorg/jruby/runtime/Block;
0 44 2 runtime Lorg/jruby/Ruby;
0 44 3 result Lorg/jruby/RubyArray;
0 44 4 encode Ljava/nio/ByteBuffer;
0 44 5 occurrences I
0 44 6 mode I
3 44 7 ul J
4 44 9 ulmask J
5 44 11 big128 Lorg/jruby/RubyBignum;
6 44 12 pos I
11 16 13 value Lorg/jruby/runtime/builtin/IRubyObject;
19 38 13 big Lorg/jruby/RubyBignum;
21 37 14 mulResult Lorg/jruby/runtime/builtin/IRubyObject;
24 37 15 v Lorg/jruby/runtime/builtin/IRubyObject;
31 37 16 value Lorg/jruby/runtime/builtin/IRubyObject;
Exception table:
from to target type
39 40 41 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
context
block
runtime
result
encode
occurrences
mode
private static void unpack_x(org.jruby.Ruby, java.nio.ByteBuffer, int);
descriptor: (Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_m1
if_icmpne 2
1: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 2
2: StackMap locals:
StackMap stack:
aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
iadd
invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
pop
3: goto 6
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
4: pop
5: aload 0
ldc "in `unpack': x outside of string"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 runtime Lorg/jruby/Ruby;
0 7 1 encode Ljava/nio/ByteBuffer;
0 7 2 occurrences I
Exception table:
from to target type
2 3 4 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
runtime
encode
occurrences
private static void unpack_X(org.jruby.Ruby, java.nio.ByteBuffer, int);
descriptor: (Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_m1
if_icmpne 2
1: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 2
2: StackMap locals:
StackMap stack:
aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
isub
invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
pop
3: goto 6
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
4: pop
5: aload 0
ldc "in `unpack': X outside of string"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 runtime Lorg/jruby/Ruby;
0 7 1 encode Ljava/nio/ByteBuffer;
0 7 2 occurrences I
Exception table:
from to target type
2 3 4 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
runtime
encode
occurrences
private static org.jruby.runtime.builtin.IRubyObject unpack_U(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.Ruby, org.jruby.RubyArray, java.nio.ByteBuffer, int, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Ljava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 5
iconst_m1
if_icmpeq 1
iload 5
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 11
1: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 5
2: goto 11
3: StackMap locals:
StackMap stack:
aload 2
aload 4
invokestatic org.jruby.util.Pack.utf8Decode:(Ljava/nio/ByteBuffer;)I
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
astore 7
start local 7 4: iload 6
iconst_2
if_icmpne 7
5: aload 7
6: areturn
7: StackMap locals: org.jruby.RubyFixnum
StackMap stack:
aload 0
aload 1
aload 3
aload 7
iload 6
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
end local 7 8: goto 11
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyArray java.nio.ByteBuffer int int
StackMap stack: java.lang.IllegalArgumentException
9: astore 7
start local 7 10: aload 2
aload 7
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 7 11: StackMap locals:
StackMap stack:
iload 5
iinc 5 -1
ifle 12
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
ifgt 3
12: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
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 13 0 context Lorg/jruby/runtime/ThreadContext;
0 13 1 block Lorg/jruby/runtime/Block;
0 13 2 runtime Lorg/jruby/Ruby;
0 13 3 result Lorg/jruby/RubyArray;
0 13 4 encode Ljava/nio/ByteBuffer;
0 13 5 occurrences I
0 13 6 mode I
4 8 7 item Lorg/jruby/RubyFixnum;
10 11 7 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
3 6 9 Class java.lang.IllegalArgumentException
7 8 9 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
context
block
runtime
result
encode
occurrences
mode
private static org.jruby.runtime.builtin.IRubyObject unpack_M(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;I)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_0
invokestatic java.lang.Math.max:(II)I
newarray 8
astore 6
start local 6 1: iconst_0
istore 7
start local 7 2: StackMap locals: byte[] int
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 3
goto 25
3: StackMap locals:
StackMap stack:
aload 4
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 8
start local 8 4: iload 8
bipush 61
if_icmpeq 7
5: aload 6
iload 7
iinc 7 1
iload 8
i2b
bastore
6: goto 2
7: StackMap locals: int
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 8
goto 25
8: StackMap locals:
StackMap stack:
aload 4
invokestatic com.headius.backport9.buffer.Buffers.markBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
pop
9: aload 4
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 9
start local 9 10: iload 9
bipush 10
if_icmpeq 2
iload 9
bipush 13
if_icmpne 11
aload 4
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
dup
istore 9
bipush 10
if_icmpne 11
goto 2
11: StackMap locals: int
StackMap stack:
iload 9
bipush 16
invokestatic java.lang.Character.digit:(II)I
istore 10
start local 10 12: iload 10
iconst_m1
if_icmpne 15
13: aload 4
invokevirtual java.nio.ByteBuffer.reset:()Ljava/nio/Buffer;
pop
14: goto 25
15: StackMap locals: int
StackMap stack:
aload 4
invokestatic com.headius.backport9.buffer.Buffers.markBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
pop
16: aload 4
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 17
goto 25
17: StackMap locals:
StackMap stack:
aload 4
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
start local 11 18: iload 11
bipush 16
invokestatic java.lang.Character.digit:(II)I
istore 12
start local 12 19: iload 12
iconst_m1
if_icmpne 22
20: aload 4
invokevirtual java.nio.ByteBuffer.reset:()Ljava/nio/Buffer;
pop
21: goto 25
22: StackMap locals: int int
StackMap stack:
iload 10
iconst_4
ishl
iload 12
ior
i2b
istore 13
start local 13 23: aload 6
iload 7
iinc 7 1
iload 13
bastore
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 24: goto 2
25: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int byte[] int
StackMap stack:
aload 0
aload 1
aload 2
new org.jruby.util.ByteList
dup
aload 6
iconst_0
iload 7
getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
iload 5
iload 3
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
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 26 0 context Lorg/jruby/runtime/ThreadContext;
0 26 1 block Lorg/jruby/runtime/Block;
0 26 2 result Lorg/jruby/RubyArray;
0 26 3 tainted Z
0 26 4 encode Ljava/nio/ByteBuffer;
0 26 5 mode I
1 26 6 lElem [B
2 26 7 index I
4 24 8 c I
10 24 9 c1 I
12 24 10 d1 I
18 24 11 c2 I
19 24 12 d2 I
23 24 13 value B
MethodParameters:
Name Flags
context
block
result
tainted
encode
mode
private static org.jruby.runtime.builtin.IRubyObject unpack_m(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.Ruby, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=15, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 5
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_3
imul
iconst_4
idiv
istore 8
start local 8 1: iload 8
newarray 8
astore 9
start local 9 2: iconst_m1
istore 10
start local 10 3: iconst_m1
istore 11
start local 11 4: iconst_0
istore 12
start local 12 5: iconst_0
istore 13
start local 13 6: iconst_m1
istore 14
start local 14 7: iload 6
ifne 10
8: aload 2
aload 5
aload 9
iload 10
iload 11
iload 12
iload 13
iload 14
invokestatic org.jruby.util.Pack.unpack_m_zeroOccurrences:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;[BIIIII)I
istore 13
9: goto 11
10: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int int int int int
StackMap stack:
aload 5
aload 9
iload 10
iload 11
iload 12
iload 13
invokestatic org.jruby.util.Pack.unpack_m_nonzeroOccurrences:(Ljava/nio/ByteBuffer;[BIIII)I
istore 13
11: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
new org.jruby.util.ByteList
dup
aload 9
iconst_0
iload 13
getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
iload 7
iload 4
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 context Lorg/jruby/runtime/ThreadContext;
0 12 1 block Lorg/jruby/runtime/Block;
0 12 2 runtime Lorg/jruby/Ruby;
0 12 3 result Lorg/jruby/RubyArray;
0 12 4 tainted Z
0 12 5 encode Ljava/nio/ByteBuffer;
0 12 6 occurrences I
0 12 7 mode I
1 12 8 length I
2 12 9 lElem [B
3 12 10 a I
4 12 11 b I
5 12 12 c I
6 12 13 index I
7 12 14 s I
MethodParameters:
Name Flags
context
block
runtime
result
tainted
encode
occurrences
mode
private static int unpack_m_nonzeroOccurrences(java.nio.ByteBuffer, byte[], int, int, int, int);
descriptor: (Ljava/nio/ByteBuffer;[BIIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: goto 35
1: StackMap locals:
StackMap stack:
iconst_m1
dup
istore 6
start local 6 2: dup
istore 4
dup
istore 3
istore 2
3: aload 0
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 7
start local 7 4: goto 6
5: StackMap locals: int int
StackMap stack:
aload 0
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 7
6: StackMap locals:
StackMap stack:
getstatic org.jruby.util.Pack.b64_xtable:[I
iload 7
iaload
dup
istore 2
iconst_m1
if_icmpne 7
aload 0
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 5
7: StackMap locals:
StackMap stack:
iload 2
iconst_m1
if_icmpne 8
goto 36
8: StackMap locals:
StackMap stack:
aload 0
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 7
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 7
11: StackMap locals:
StackMap stack:
getstatic org.jruby.util.Pack.b64_xtable:[I
iload 7
iaload
dup
istore 3
iconst_m1
if_icmpne 12
aload 0
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 10
12: StackMap locals:
StackMap stack:
iload 3
iconst_m1
if_icmpne 13
goto 36
13: StackMap locals:
StackMap stack:
aload 0
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 7
14: goto 17
15: StackMap locals:
StackMap stack:
iload 7
bipush 61
if_icmpne 16
goto 18
16: StackMap locals:
StackMap stack:
aload 0
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 7
17: StackMap locals:
StackMap stack:
getstatic org.jruby.util.Pack.b64_xtable:[I
iload 7
iaload
dup
istore 4
iconst_m1
if_icmpne 18
aload 0
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 15
18: StackMap locals:
StackMap stack:
iload 7
bipush 61
if_icmpeq 19
iload 4
iconst_m1
if_icmpne 22
19: StackMap locals:
StackMap stack:
iload 7
bipush 61
if_icmpne 36
20: aload 0
aload 0
invokevirtual java.nio.ByteBuffer.position:()I
iconst_1
isub
invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
pop
21: goto 36
22: StackMap locals:
StackMap stack:
aload 0
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 7
23: goto 26
24: StackMap locals:
StackMap stack:
iload 7
bipush 61
if_icmpne 25
goto 27
25: StackMap locals:
StackMap stack:
aload 0
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 7
26: StackMap locals:
StackMap stack:
getstatic org.jruby.util.Pack.b64_xtable:[I
iload 7
iaload
dup
istore 6
iconst_m1
if_icmpne 27
aload 0
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 24
27: StackMap locals:
StackMap stack:
iload 7
bipush 61
if_icmpeq 28
iload 6
iconst_m1
if_icmpne 31
28: StackMap locals:
StackMap stack:
iload 7
bipush 61
if_icmpne 36
29: aload 0
aload 0
invokevirtual java.nio.ByteBuffer.position:()I
iconst_1
isub
invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
pop
30: goto 36
31: StackMap locals:
StackMap stack:
aload 1
iload 5
iinc 5 1
iload 2
iconst_2
ishl
iload 3
iconst_4
ishr
ior
sipush 255
iand
i2b
bastore
32: aload 1
iload 5
iinc 5 1
iload 3
iconst_4
ishl
iload 4
iconst_2
ishr
ior
sipush 255
iand
i2b
bastore
33: aload 1
iload 5
iinc 5 1
iload 4
bipush 6
ishl
iload 6
ior
sipush 255
iand
i2b
bastore
34: iconst_m1
istore 2
end local 7 end local 6 35: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 1
36: StackMap locals:
StackMap stack:
iload 2
iconst_m1
if_icmpeq 42
iload 3
iconst_m1
if_icmpeq 42
37: iload 4
iconst_m1
if_icmpne 40
38: aload 1
iload 5
iinc 5 1
iload 2
iconst_2
ishl
iload 3
iconst_4
ishr
ior
sipush 255
iand
i2b
bastore
39: goto 42
40: StackMap locals:
StackMap stack:
aload 1
iload 5
iinc 5 1
iload 2
iconst_2
ishl
iload 3
iconst_4
ishr
ior
sipush 255
iand
i2b
bastore
41: aload 1
iload 5
iinc 5 1
iload 3
iconst_4
ishl
iload 4
iconst_2
ishr
ior
sipush 255
iand
i2b
bastore
42: StackMap locals:
StackMap stack:
iload 5
ireturn
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 43 0 encode Ljava/nio/ByteBuffer;
0 43 1 lElem [B
0 43 2 a I
0 43 3 b I
0 43 4 c I
0 43 5 index I
2 35 6 d I
4 35 7 s I
MethodParameters:
Name Flags
encode
lElem
a
b
c
index
private static int unpack_m_zeroOccurrences(org.jruby.Ruby, java.nio.ByteBuffer, byte[], int, int, int, int, int);
descriptor: (Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;[BIIIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_4
irem
ifeq 22
1: aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
iconst_m1
dup
istore 5
dup
istore 4
istore 3
3: bipush -2
istore 8
start local 8 4: aload 1
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 7
5: getstatic org.jruby.util.Pack.b64_xtable:[I
iload 7
iaload
istore 3
6: iload 3
iconst_m1
if_icmpne 7
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
7: StackMap locals: int
StackMap stack:
aload 1
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 7
8: getstatic org.jruby.util.Pack.b64_xtable:[I
iload 7
iaload
istore 4
9: iload 4
iconst_m1
if_icmpne 10
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
10: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 7
11: getstatic org.jruby.util.Pack.b64_xtable:[I
iload 7
iaload
istore 5
12: iload 7
bipush 61
if_icmpne 14
13: aload 1
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
bipush 61
if_icmpeq 23
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
14: StackMap locals:
StackMap stack:
iload 5
iconst_m1
if_icmpne 15
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
15: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 7
16: getstatic org.jruby.util.Pack.b64_xtable:[I
iload 7
iaload
istore 8
17: iload 7
bipush 61
if_icmpne 18
goto 23
18: StackMap locals:
StackMap stack:
iload 8
iconst_m1
if_icmpne 19
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
19: StackMap locals:
StackMap stack:
aload 2
iload 6
iinc 6 1
iload 3
iconst_2
ishl
iload 4
iconst_4
ishr
ior
sipush 255
iand
i2b
bastore
20: aload 2
iload 6
iinc 6 1
iload 4
iconst_4
ishl
iload 5
iconst_2
ishr
ior
sipush 255
iand
i2b
bastore
21: aload 2
iload 6
iinc 6 1
iload 5
bipush 6
ishl
iload 8
ior
sipush 255
iand
i2b
bastore
end local 8 22: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 23
iload 7
bipush 61
if_icmpne 2
23: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 24
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
24: StackMap locals:
StackMap stack:
iload 3
iconst_m1
if_icmpeq 33
iload 4
iconst_m1
if_icmpeq 33
25: iload 5
iconst_m1
if_icmpne 29
iload 7
bipush 61
if_icmpne 29
26: iload 4
bipush 15
iand
ifle 27
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
27: StackMap locals:
StackMap stack:
aload 2
iload 6
iinc 6 1
iload 3
iconst_2
ishl
iload 4
iconst_4
ishr
ior
sipush 255
iand
i2b
bastore
28: goto 33
StackMap locals:
StackMap stack:
29: iload 5
iconst_m1
if_icmpeq 33
iload 7
bipush 61
if_icmpne 33
30: iload 5
iconst_3
iand
ifle 31
aload 0
ldc "invalid base64"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
31: StackMap locals:
StackMap stack:
aload 2
iload 6
iinc 6 1
iload 3
iconst_2
ishl
iload 4
iconst_4
ishr
ior
sipush 255
iand
i2b
bastore
32: aload 2
iload 6
iinc 6 1
iload 4
iconst_4
ishl
iload 5
iconst_2
ishr
ior
sipush 255
iand
i2b
bastore
33: StackMap locals:
StackMap stack:
iload 6
ireturn
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 34 0 runtime Lorg/jruby/Ruby;
0 34 1 encode Ljava/nio/ByteBuffer;
0 34 2 lElem [B
0 34 3 a I
0 34 4 b I
0 34 5 c I
0 34 6 index I
0 34 7 s I
4 22 8 d I
MethodParameters:
Name Flags
runtime
encode
lElem
a
b
c
index
s
private static org.jruby.runtime.builtin.IRubyObject unpack_u(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;I)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=19, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_3
imul
iconst_4
idiv
istore 6
start local 6 1: iload 6
newarray 8
astore 7
start local 7 2: iconst_0
istore 8
start local 8 3: iconst_0
istore 9
start local 9 4: iconst_0
istore 10
start local 10 5: iload 6
ifle 58
aload 4
invokevirtual java.nio.ByteBuffer.get:()B
istore 9
6: goto 58
7: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int
StackMap stack:
iconst_3
newarray 8
astore 15
start local 15 8: iload 9
bipush 32
isub
bipush 63
iand
istore 16
start local 16 9: aload 4
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 9
10: iload 10
iload 16
iadd
istore 10
11: iload 10
iload 6
if_icmple 46
12: iload 16
iload 10
iload 6
isub
isub
istore 16
13: iload 6
istore 10
14: goto 46
15: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int top top top top byte[] int
StackMap stack:
iload 16
iconst_3
if_icmple 16
iconst_3
goto 17
StackMap locals:
StackMap stack:
16: iload 16
StackMap locals:
StackMap stack: int
17: istore 17
start local 17 18: aload 4
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 22
iload 9
bipush 32
if_icmplt 22
19: iload 9
bipush 32
isub
bipush 63
iand
istore 11
start local 11 20: aload 4
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 9
21: goto 23
end local 11 22: StackMap locals: int
StackMap stack:
iconst_0
istore 11
start local 11 23: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int int top top top byte[] int int
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 27
iload 9
bipush 32
if_icmplt 27
24: iload 9
bipush 32
isub
bipush 63
iand
istore 12
start local 12 25: aload 4
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 9
26: goto 28
end local 12 27: StackMap locals:
StackMap stack:
iconst_0
istore 12
start local 12 28: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int int int top top byte[] int int
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 32
iload 9
bipush 32
if_icmplt 32
29: iload 9
bipush 32
isub
bipush 63
iand
istore 13
start local 13 30: aload 4
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 9
31: goto 33
end local 13 32: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 33: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int int int int top byte[] int int
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 37
iload 9
bipush 32
if_icmplt 37
34: iload 9
bipush 32
isub
bipush 63
iand
istore 14
start local 14 35: aload 4
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 9
36: goto 38
end local 14 37: StackMap locals:
StackMap stack:
iconst_0
istore 14
start local 14 38: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int int int int int byte[] int int
StackMap stack:
aload 15
iconst_0
iload 11
iconst_2
ishl
iload 12
iconst_4
ishr
ior
sipush 255
iand
i2b
bastore
39: aload 15
iconst_1
iload 12
iconst_4
ishl
iload 13
iconst_2
ishr
ior
sipush 255
iand
i2b
bastore
40: aload 15
iconst_2
iload 13
bipush 6
ishl
iload 14
ior
sipush 255
iand
i2b
bastore
41: iconst_0
istore 18
start local 18 42: goto 44
StackMap locals: int
StackMap stack:
43: aload 7
iload 8
iinc 8 1
aload 15
iload 18
baload
bastore
iinc 18 1
StackMap locals:
StackMap stack:
44: iload 18
iload 17
if_icmplt 43
end local 18 45: iload 16
iload 17
isub
istore 16
end local 17 end local 14 end local 13 end local 12 end local 11 46: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int top top top top byte[] int
StackMap stack:
iload 16
ifgt 15
47: iload 9
bipush 13
if_icmpne 49
48: aload 4
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 9
49: StackMap locals:
StackMap stack:
iload 9
bipush 10
if_icmpne 52
50: aload 4
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 9
51: goto 58
52: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 58
53: aload 4
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
bipush 10
if_icmpne 56
54: aload 4
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
pop
55: goto 58
StackMap locals:
StackMap stack:
56: aload 4
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 58
57: aload 4
aload 4
invokevirtual java.nio.ByteBuffer.position:()I
iconst_1
isub
invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
pop
end local 16 end local 15 58: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 59
iload 9
bipush 32
if_icmple 59
iload 9
bipush 97
if_icmplt 7
59: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
new org.jruby.util.ByteList
dup
aload 7
iconst_0
iload 8
getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
iload 5
iload 3
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 context Lorg/jruby/runtime/ThreadContext;
0 60 1 block Lorg/jruby/runtime/Block;
0 60 2 result Lorg/jruby/RubyArray;
0 60 3 tainted Z
0 60 4 encode Ljava/nio/ByteBuffer;
0 60 5 mode I
1 60 6 length I
2 60 7 lElem [B
3 60 8 index I
4 60 9 s I
5 60 10 total I
20 22 11 a I
23 46 11 a I
25 27 12 b I
28 46 12 b I
30 32 13 c I
33 46 13 c I
35 37 14 d I
38 46 14 d I
8 58 15 hunk [B
9 58 16 len I
18 46 17 mlen I
42 45 18 i I
MethodParameters:
Name Flags
context
block
result
tainted
encode
mode
private static org.jruby.runtime.builtin.IRubyObject unpack_H(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 5
iconst_m1
if_icmpeq 1
iload 5
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_2
imul
if_icmple 2
1: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_2
imul
istore 5
2: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 3: iload 5
newarray 8
astore 8
start local 8 4: iconst_0
istore 9
start local 9 5: goto 12
6: StackMap locals: int byte[] int
StackMap stack:
iload 9
iconst_1
iand
ifeq 9
7: iload 7
iconst_4
ishl
istore 7
8: goto 10
9: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.get:()B
istore 7
10: StackMap locals:
StackMap stack:
aload 8
iload 9
getstatic org.jruby.util.Pack.sHexDigits:[B
iload 7
iconst_4
iushr
bipush 15
iand
baload
bastore
11: iinc 9 1
StackMap locals:
StackMap stack:
12: iload 9
iload 5
if_icmplt 6
end local 9 13: aload 0
aload 1
aload 2
new org.jruby.util.ByteList
dup
aload 8
getstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
iload 6
iload 3
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
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 14 0 context Lorg/jruby/runtime/ThreadContext;
0 14 1 block Lorg/jruby/runtime/Block;
0 14 2 result Lorg/jruby/RubyArray;
0 14 3 tainted Z
0 14 4 encode Ljava/nio/ByteBuffer;
0 14 5 occurrences I
0 14 6 mode I
3 14 7 bits I
4 14 8 lElem [B
5 13 9 lCurByte I
MethodParameters:
Name Flags
context
block
result
tainted
encode
occurrences
mode
private static org.jruby.runtime.builtin.IRubyObject unpack_h(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 5
iconst_m1
if_icmpeq 1
iload 5
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_2
imul
if_icmple 2
1: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_2
imul
istore 5
2: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 3: iload 5
newarray 8
astore 8
start local 8 4: iconst_0
istore 9
start local 9 5: goto 12
6: StackMap locals: int byte[] int
StackMap stack:
iload 9
iconst_1
iand
ifeq 9
7: iload 7
iconst_4
iushr
istore 7
8: goto 10
9: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.get:()B
istore 7
10: StackMap locals:
StackMap stack:
aload 8
iload 9
getstatic org.jruby.util.Pack.sHexDigits:[B
iload 7
bipush 15
iand
baload
bastore
11: iinc 9 1
StackMap locals:
StackMap stack:
12: iload 9
iload 5
if_icmplt 6
end local 9 13: aload 0
aload 1
aload 2
new org.jruby.util.ByteList
dup
aload 8
getstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
iload 6
iload 3
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
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 14 0 context Lorg/jruby/runtime/ThreadContext;
0 14 1 block Lorg/jruby/runtime/Block;
0 14 2 result Lorg/jruby/RubyArray;
0 14 3 tainted Z
0 14 4 encode Ljava/nio/ByteBuffer;
0 14 5 occurrences I
0 14 6 mode I
3 14 7 bits I
4 14 8 lElem [B
5 13 9 lCurByte I
MethodParameters:
Name Flags
context
block
result
tainted
encode
occurrences
mode
private static org.jruby.runtime.builtin.IRubyObject unpack_B(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 5
iconst_m1
if_icmpeq 1
iload 5
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
bipush 8
imul
if_icmple 2
1: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
bipush 8
imul
istore 5
2: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 3: iload 5
newarray 8
astore 8
start local 8 4: iconst_0
istore 9
start local 9 5: goto 14
6: StackMap locals: int byte[] int
StackMap stack:
iload 9
bipush 7
iand
ifeq 9
7: iload 7
iconst_1
ishl
istore 7
8: goto 10
9: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.get:()B
istore 7
10: StackMap locals:
StackMap stack:
aload 8
iload 9
iload 7
sipush 128
iand
ifeq 11
bipush 49
goto 12
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int
StackMap stack: byte[] int
11: bipush 48
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int
StackMap stack: byte[] int int
12: bastore
13: iinc 9 1
StackMap locals:
StackMap stack:
14: iload 9
iload 5
if_icmplt 6
end local 9 15: aload 0
aload 1
aload 2
new org.jruby.util.ByteList
dup
aload 8
getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
iload 6
iload 3
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
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 16 0 context Lorg/jruby/runtime/ThreadContext;
0 16 1 block Lorg/jruby/runtime/Block;
0 16 2 result Lorg/jruby/RubyArray;
0 16 3 tainted Z
0 16 4 encode Ljava/nio/ByteBuffer;
0 16 5 occurrences I
0 16 6 mode I
3 16 7 bits I
4 16 8 lElem [B
5 15 9 lCurByte I
MethodParameters:
Name Flags
context
block
result
tainted
encode
occurrences
mode
private static org.jruby.runtime.builtin.IRubyObject unpack_b(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 5
iconst_m1
if_icmpeq 1
iload 5
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
bipush 8
imul
if_icmple 2
1: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
bipush 8
imul
istore 5
2: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 3: iload 5
newarray 8
astore 8
start local 8 4: iconst_0
istore 9
start local 9 5: goto 14
6: StackMap locals: int byte[] int
StackMap stack:
iload 9
bipush 7
iand
ifeq 9
7: iload 7
iconst_1
iushr
istore 7
8: goto 10
9: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.get:()B
istore 7
10: StackMap locals:
StackMap stack:
aload 8
iload 9
iload 7
iconst_1
iand
ifeq 11
bipush 49
goto 12
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int
StackMap stack: byte[] int
11: bipush 48
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int
StackMap stack: byte[] int int
12: bastore
13: iinc 9 1
StackMap locals:
StackMap stack:
14: iload 9
iload 5
if_icmplt 6
end local 9 15: aload 0
aload 1
aload 2
new org.jruby.util.ByteList
dup
aload 8
getstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
iload 6
iload 3
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
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 16 0 context Lorg/jruby/runtime/ThreadContext;
0 16 1 block Lorg/jruby/runtime/Block;
0 16 2 result Lorg/jruby/RubyArray;
0 16 3 tainted Z
0 16 4 encode Ljava/nio/ByteBuffer;
0 16 5 occurrences I
0 16 6 mode I
3 16 7 bits I
4 16 8 lElem [B
5 15 9 lCurByte I
MethodParameters:
Name Flags
context
block
result
tainted
encode
occurrences
mode
private static org.jruby.runtime.builtin.IRubyObject unpack_a(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 5
iconst_m1
if_icmpeq 1
iload 5
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 2
1: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 5
2: StackMap locals:
StackMap stack:
iload 5
newarray 8
astore 7
start local 7 3: aload 4
aload 7
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
4: aload 0
aload 1
aload 2
new org.jruby.util.ByteList
dup
aload 7
getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
iload 6
iload 3
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
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 5 0 context Lorg/jruby/runtime/ThreadContext;
0 5 1 block Lorg/jruby/runtime/Block;
0 5 2 result Lorg/jruby/RubyArray;
0 5 3 tainted Z
0 5 4 encode Ljava/nio/ByteBuffer;
0 5 5 occurrences I
0 5 6 mode I
3 5 7 potential [B
MethodParameters:
Name Flags
context
block
result
tainted
encode
occurrences
mode
private static org.jruby.runtime.builtin.IRubyObject unpack_Z(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=11, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 5
iconst_m1
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 7
start local 7 3: iload 5
iconst_m1
if_icmpeq 4
iload 5
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 5
4: StackMap locals: int
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 5
5: StackMap locals:
StackMap stack:
iload 5
newarray 8
astore 8
start local 8 6: iconst_0
istore 9
start local 9 7: goto 13
8: StackMap locals: byte[] int
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.get:()B
istore 10
start local 10 9: iload 10
ifne 11
10: goto 14
11: StackMap locals: int
StackMap stack:
aload 8
iload 9
iload 10
bastore
12: iinc 9 1
end local 10 13: StackMap locals:
StackMap stack:
iload 9
iload 5
if_icmplt 8
14: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
new org.jruby.util.ByteList
dup
aload 8
iconst_0
iload 9
getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
iload 6
iload 3
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
astore 10
start local 10 15: iload 6
iconst_2
if_icmpne 17
16: aload 10
areturn
17: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
iload 7
ifne 24
18: iload 9
iload 5
if_icmpge 23
19: iinc 9 1
20: goto 23
21: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.get:()B
pop
22: iinc 9 1
23: StackMap locals:
StackMap stack:
iload 9
iload 5
if_icmplt 21
24: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 context Lorg/jruby/runtime/ThreadContext;
0 25 1 block Lorg/jruby/runtime/Block;
0 25 2 result Lorg/jruby/RubyArray;
0 25 3 tainted Z
0 25 4 encode Ljava/nio/ByteBuffer;
0 25 5 occurrences I
0 25 6 mode I
3 25 7 isStar Z
6 25 8 potential [B
7 25 9 t I
9 13 10 b B
15 25 10 value Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
block
result
tainted
encode
occurrences
mode
private static org.jruby.runtime.builtin.IRubyObject unpack_A(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 5
iconst_m1
if_icmpeq 1
iload 5
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 2
1: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 5
2: StackMap locals:
StackMap stack:
iload 5
newarray 8
astore 7
start local 7 3: aload 4
aload 7
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
4: iload 5
iconst_1
isub
istore 8
start local 8 5: goto 10
6: StackMap locals: byte[] int
StackMap stack:
aload 7
iload 8
baload
istore 9
start local 9 7: iload 9
ifeq 9
iload 9
bipush 32
if_icmpeq 9
8: goto 11
end local 9 9: StackMap locals:
StackMap stack:
iinc 5 -1
iinc 8 -1
StackMap locals:
StackMap stack:
10: iload 5
ifgt 6
end local 8 11: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
new org.jruby.util.ByteList
dup
aload 7
iconst_0
iload 5
getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
iload 6
iload 3
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
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 12 0 context Lorg/jruby/runtime/ThreadContext;
0 12 1 block Lorg/jruby/runtime/Block;
0 12 2 result Lorg/jruby/RubyArray;
0 12 3 tainted Z
0 12 4 encode Ljava/nio/ByteBuffer;
0 12 5 occurrences I
0 12 6 mode I
3 12 7 potential [B
5 11 8 t I
7 9 9 c B
MethodParameters:
Name Flags
context
block
result
tainted
encode
occurrences
mode
private static void unpack_at(org.jruby.Ruby, org.jruby.util.ByteList, java.nio.ByteBuffer, int);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/nio/ByteBuffer;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
iconst_m1
if_icmpne 3
1: aload 0
aload 2
aload 1
invokevirtual org.jruby.util.ByteList.begin:()I
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
invokestatic org.jruby.util.Pack.checkLimit:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)I
istore 4
start local 4 2: goto 4
end local 4 3: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual org.jruby.util.ByteList.begin:()I
iload 3
iadd
invokestatic org.jruby.util.Pack.checkLimit:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)I
istore 4
start local 4 4: StackMap locals: int
StackMap stack:
aload 2
iload 4
invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
pop
end local 4 5: goto 8
StackMap locals: org.jruby.Ruby org.jruby.util.ByteList java.nio.ByteBuffer int
StackMap stack: java.lang.IllegalArgumentException
6: pop
7: aload 0
ldc "@ outside of string"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 runtime Lorg/jruby/Ruby;
0 9 1 encodedString Lorg/jruby/util/ByteList;
0 9 2 encode Ljava/nio/ByteBuffer;
0 9 3 occurrences I
2 3 4 limit I
4 5 4 limit I
Exception table:
from to target type
0 5 6 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
runtime
encodedString
encode
occurrences
private static int checkLimit(org.jruby.Ruby, java.nio.ByteBuffer, int);
descriptor: (Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
aload 1
invokevirtual java.nio.ByteBuffer.capacity:()I
if_icmpge 1
iload 2
ifge 2
1: StackMap locals:
StackMap stack:
aload 0
ldc "pack length too big"
invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 runtime Lorg/jruby/Ruby;
0 3 1 encode Ljava/nio/ByteBuffer;
0 3 2 limit I
MethodParameters:
Name Flags
runtime
encode
limit
public static org.jruby.RubyArray unpackWithBlock(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.ByteList, org.jruby.util.ByteList, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
aload 3
aload 4
invokestatic org.jruby.util.Pack.unpackWithBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 runtime Lorg/jruby/Ruby;
0 1 2 encodedString Lorg/jruby/util/ByteList;
0 1 3 formatString Lorg/jruby/util/ByteList;
0 1 4 block Lorg/jruby/runtime/Block;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
runtime
encodedString
formatString
block
private static void appendOrYield(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, org.jruby.runtime.builtin.IRubyObject, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
iconst_1
if_icmpne 3
1: aload 1
aload 0
aload 3
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
2: goto 5
StackMap locals:
StackMap stack:
3: iload 4
ifne 5
4: aload 2
aload 3
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
5: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 context Lorg/jruby/runtime/ThreadContext;
0 6 1 block Lorg/jruby/runtime/Block;
0 6 2 result Lorg/jruby/RubyArray;
0 6 3 item Lorg/jruby/runtime/builtin/IRubyObject;
0 6 4 mode I
MethodParameters:
Name Flags
context
block
result
item
mode
private static org.jruby.runtime.builtin.IRubyObject appendOrYield(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, org.jruby.util.ByteList, int, boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
astore 6
start local 6 1: iload 5
ifeq 2
aload 6
iconst_1
invokevirtual org.jruby.RubyString.setTaint:(Z)V
2: StackMap locals: org.jruby.RubyString
StackMap stack:
iload 4
iconst_2
if_icmpne 4
3: aload 6
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 6
iload 4
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
5: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
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 6 0 context Lorg/jruby/runtime/ThreadContext;
0 6 1 block Lorg/jruby/runtime/Block;
0 6 2 result Lorg/jruby/RubyArray;
0 6 3 item Lorg/jruby/util/ByteList;
0 6 4 mode I
0 6 5 taint Z
1 6 6 itemStr Lorg/jruby/RubyString;
MethodParameters:
Name Flags
context
block
result
item
mode
taint
public static int utf8Decode(org.jruby.Ruby, byte[], int, int);
descriptor: (Lorg/jruby/Ruby;[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
bipush 127
if_icmpgt 3
1: aload 1
iload 2
iload 3
i2b
bastore
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iload 3
sipush 2047
if_icmpgt 7
4: aload 1
iload 2
iconst_0
iadd
iload 3
bipush 6
iushr
sipush 255
iand
sipush 192
ior
i2b
bastore
5: aload 1
iload 2
iconst_1
iadd
iload 3
bipush 63
iand
sipush 128
ior
i2b
bastore
6: iconst_2
ireturn
7: StackMap locals:
StackMap stack:
iload 3
ldc 65535
if_icmpgt 12
8: aload 1
iload 2
iconst_0
iadd
iload 3
bipush 12
iushr
sipush 255
iand
sipush 224
ior
i2b
bastore
9: aload 1
iload 2
iconst_1
iadd
iload 3
bipush 6
iushr
bipush 63
iand
sipush 128
ior
i2b
bastore
10: aload 1
iload 2
iconst_2
iadd
iload 3
bipush 63
iand
sipush 128
ior
i2b
bastore
11: iconst_3
ireturn
12: StackMap locals:
StackMap stack:
iload 3
ldc 2097151
if_icmpgt 18
13: aload 1
iload 2
iconst_0
iadd
iload 3
bipush 18
iushr
sipush 255
iand
sipush 240
ior
i2b
bastore
14: aload 1
iload 2
iconst_1
iadd
iload 3
bipush 12
iushr
bipush 63
iand
sipush 128
ior
i2b
bastore
15: aload 1
iload 2
iconst_2
iadd
iload 3
bipush 6
iushr
bipush 63
iand
sipush 128
ior
i2b
bastore
16: aload 1
iload 2
iconst_3
iadd
iload 3
bipush 63
iand
sipush 128
ior
i2b
bastore
17: iconst_4
ireturn
18: StackMap locals:
StackMap stack:
iload 3
ldc 67108863
if_icmpgt 25
19: aload 1
iload 2
iconst_0
iadd
iload 3
bipush 24
iushr
sipush 255
iand
sipush 248
ior
i2b
bastore
20: aload 1
iload 2
iconst_1
iadd
iload 3
bipush 18
iushr
bipush 63
iand
sipush 128
ior
i2b
bastore
21: aload 1
iload 2
iconst_2
iadd
iload 3
bipush 12
iushr
bipush 63
iand
sipush 128
ior
i2b
bastore
22: aload 1
iload 2
iconst_3
iadd
iload 3
bipush 6
iushr
bipush 63
iand
sipush 128
ior
i2b
bastore
23: aload 1
iload 2
iconst_4
iadd
iload 3
bipush 63
iand
sipush 128
ior
i2b
bastore
24: iconst_5
ireturn
25: StackMap locals:
StackMap stack:
iload 3
ldc 2147483647
if_icmpgt 33
26: aload 1
iload 2
iconst_0
iadd
iload 3
bipush 30
iushr
sipush 255
iand
sipush 252
ior
i2b
bastore
27: aload 1
iload 2
iconst_1
iadd
iload 3
bipush 24
iushr
bipush 63
iand
sipush 128
ior
i2b
bastore
28: aload 1
iload 2
iconst_2
iadd
iload 3
bipush 18
iushr
bipush 63
iand
sipush 128
ior
i2b
bastore
29: aload 1
iload 2
iconst_3
iadd
iload 3
bipush 12
iushr
bipush 63
iand
sipush 128
ior
i2b
bastore
30: aload 1
iload 2
iconst_4
iadd
iload 3
bipush 6
iushr
bipush 63
iand
sipush 128
ior
i2b
bastore
31: aload 1
iload 2
iconst_5
iadd
iload 3
bipush 63
iand
sipush 128
ior
i2b
bastore
32: bipush 6
ireturn
33: StackMap locals:
StackMap stack:
aload 0
ldc "pack(U): value out of range"
invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 runtime Lorg/jruby/Ruby;
0 34 1 to [B
0 34 2 p I
0 34 3 code I
MethodParameters:
Name Flags
runtime
to
p
code
private static int utf8Decode(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 1
start local 1 1: iload 1
istore 2
start local 2 2: iload 1
sipush 128
iand
ifne 4
3: iload 1
ireturn
4: StackMap locals: int int
StackMap stack:
iload 1
bipush 64
iand
ifne 6
5: new java.lang.IllegalArgumentException
dup
ldc "malformed UTF-8 character"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iload 2
bipush 32
iand
ifne 8
iconst_2
istore 3
start local 3 7: iload 2
bipush 31
iand
istore 2
goto 17
end local 3 8: StackMap locals:
StackMap stack:
iload 2
bipush 16
iand
ifne 10
iconst_3
istore 3
start local 3 9: iload 2
bipush 15
iand
istore 2
goto 17
end local 3 10: StackMap locals:
StackMap stack:
iload 2
bipush 8
iand
ifne 12
iconst_4
istore 3
start local 3 11: iload 2
bipush 7
iand
istore 2
goto 17
end local 3 12: StackMap locals:
StackMap stack:
iload 2
iconst_4
iand
ifne 14
iconst_5
istore 3
start local 3 13: iload 2
iconst_3
iand
istore 2
goto 17
end local 3 14: StackMap locals:
StackMap stack:
iload 2
iconst_2
iand
ifne 16
bipush 6
istore 3
start local 3 15: iload 2
iconst_1
iand
istore 2
goto 17
end local 3 16: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "malformed UTF-8 character"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 3 17: StackMap locals: int
StackMap stack:
iload 3
aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_1
iadd
if_icmple 23
18: new java.lang.IllegalArgumentException
dup
19: new java.lang.StringBuilder
dup
ldc "malformed UTF-8 character (expected "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: ldc "given "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
iload 3
iconst_1
isub
istore 4
start local 4 24: iinc 3 -1
25: iload 3
ifeq 33
26: goto 32
27: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 1
28: iload 1
sipush 192
iand
sipush 128
if_icmpeq 30
29: new java.lang.IllegalArgumentException
dup
ldc "malformed UTF-8 character"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
iload 1
bipush 63
iand
istore 1
31: iload 2
bipush 6
ishl
iload 1
ior
istore 2
32: StackMap locals:
StackMap stack:
iload 3
iinc 3 -1
ifne 27
33: StackMap locals:
StackMap stack:
iload 2
i2l
getstatic org.jruby.util.Pack.utf8_limits:[J
iload 4
laload
lcmp
ifge 35
34: new java.lang.IllegalArgumentException
dup
ldc "redundant UTF-8 sequence"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 buffer Ljava/nio/ByteBuffer;
1 36 1 c I
2 36 2 uv I
7 8 3 n I
9 10 3 n I
11 12 3 n I
13 14 3 n I
15 16 3 n I
17 36 3 n I
24 36 4 limit I
MethodParameters:
Name Flags
buffer
public static int safeGet(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: goto 3
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 1
start local 1 2: iload 1
ifeq 3
iload 1
ireturn
end local 1 3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 1
4: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 encode Ljava/nio/ByteBuffer;
2 3 1 got I
MethodParameters:
Name Flags
encode
private static int safeGetIgnoreNull(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 3
2: StackMap locals: int
StackMap stack:
aload 0
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 1
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 4
iload 1
ifeq 2
4: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 encode Ljava/nio/ByteBuffer;
1 5 1 next I
MethodParameters:
Name Flags
encode
public static org.jruby.runtime.builtin.IRubyObject decode(org.jruby.runtime.ThreadContext, org.jruby.Ruby, java.nio.ByteBuffer, int, org.jruby.RubyArray, org.jruby.runtime.Block, org.jruby.util.Pack$Converter, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;Lorg/jruby/util/Pack$Converter;I)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=10, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: iconst_0
istore 8
start local 8 1: iload 3
iconst_m1
if_icmpne 4
2: aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 6
getfield org.jruby.util.Pack$Converter.size:I
idiv
istore 3
3: goto 12
StackMap locals: int
StackMap stack:
4: iload 3
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 6
getfield org.jruby.util.Pack$Converter.size:I
idiv
if_icmple 12
5: iload 3
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 6
getfield org.jruby.util.Pack$Converter.size:I
idiv
isub
istore 8
6: aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 6
getfield org.jruby.util.Pack$Converter.size:I
idiv
istore 3
7: goto 12
8: StackMap locals:
StackMap stack:
aload 6
aload 1
aload 2
invokevirtual org.jruby.util.Pack$Converter.decode:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
start local 9 9: iload 7
iconst_2
if_icmpne 11
10: aload 9
areturn
11: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 5
aload 4
aload 9
iload 7
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
end local 9 12: StackMap locals:
StackMap stack:
iload 3
iinc 3 -1
ifgt 8
13: goto 17
14: StackMap locals:
StackMap stack:
iload 7
iconst_2
if_icmpne 16
15: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
16: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 4
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
iload 7
invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
17: StackMap locals:
StackMap stack:
iload 8
iinc 8 -1
ifgt 14
18: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
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 19 0 context Lorg/jruby/runtime/ThreadContext;
0 19 1 runtime Lorg/jruby/Ruby;
0 19 2 encode Ljava/nio/ByteBuffer;
0 19 3 occurrences I
0 19 4 result Lorg/jruby/RubyArray;
0 19 5 block Lorg/jruby/runtime/Block;
0 19 6 converter Lorg/jruby/util/Pack$Converter;
0 19 7 mode I
1 19 8 lPadLength I
9 12 9 value Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
runtime
encode
occurrences
result
block
converter
mode
public static int encode(org.jruby.Ruby, int, org.jruby.util.ByteList, org.jruby.RubyArray, int, org.jruby.util.Pack$ConverterExecutor);
descriptor: (Lorg/jruby/Ruby;ILorg/jruby/util/ByteList;Lorg/jruby/RubyArray;ILorg/jruby/util/Pack$ConverterExecutor;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 3
invokevirtual org.jruby.RubyArray.size:()I
istore 6
start local 6 1: goto 6
2: StackMap locals: int
StackMap stack:
iload 6
iinc 6 -1
ifle 3
iload 4
aload 3
invokevirtual org.jruby.RubyArray.size:()I
if_icmplt 4
3: StackMap locals:
StackMap stack:
aload 0
ldc "too few arguments"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
4: StackMap locals:
StackMap stack:
aload 3
iload 4
iinc 4 1
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 5: aload 5
aload 0
aload 7
aload 2
invokevirtual org.jruby.util.Pack$ConverterExecutor.encode:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/ByteList;)V
end local 7 6: StackMap locals:
StackMap stack:
iload 1
iinc 1 -1
ifgt 2
7: iload 4
ireturn
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 runtime Lorg/jruby/Ruby;
0 8 1 occurrences I
0 8 2 result Lorg/jruby/util/ByteList;
0 8 3 list Lorg/jruby/RubyArray;
0 8 4 index I
0 8 5 converter Lorg/jruby/util/Pack$ConverterExecutor;
1 8 6 listSize I
5 6 7 from Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime
occurrences
result
list
index
converter
private static org.jruby.util.Pack$ConverterExecutor executor();
descriptor: ()Lorg/jruby/util/Pack$ConverterExecutor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.jruby.util.Pack$27
dup
invokespecial org.jruby.util.Pack$27.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static final org.jruby.util.ByteList shrink(org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.util.ByteList.length:()I
iload 1
isub
istore 1
1: iload 1
ifge 3
2: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual org.jruby.util.ByteList.length:(I)V
4: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 i2Shrink Lorg/jruby/util/ByteList;
0 5 1 iLength I
MethodParameters:
Name Flags
i2Shrink
iLength
private static final org.jruby.util.ByteList grow(org.jruby.util.ByteList, byte[], int);
descriptor: (Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
arraylength
istore 3
start local 3 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.util.ByteList.append:([B)V
3: iload 2
iload 3
isub
istore 2
4: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmpge 2
5: aload 0
aload 1
iconst_0
iload 2
invokevirtual org.jruby.util.ByteList.append:([BII)V
6: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 i2Grow Lorg/jruby/util/ByteList;
0 7 1 iPads [B
0 7 2 iLength I
1 7 3 lPadLength I
MethodParameters:
Name Flags
i2Grow
iPads
iLength
public static org.jruby.RubyString pack(org.jruby.Ruby, org.jruby.RubyArray, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.Ruby.newString:()Lorg/jruby/RubyString;
astore 3
start local 3 1: aload 0
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 1
aload 2
iconst_0
invokestatic org.jruby.util.Pack.executor:()Lorg/jruby/util/Pack$ConverterExecutor;
aload 3
invokestatic org.jruby.util.Pack.packCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$ConverterExecutor;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 runtime Lorg/jruby/Ruby;
0 2 1 list Lorg/jruby/RubyArray;
0 2 2 formatString Lorg/jruby/util/ByteList;
1 2 3 buffer Lorg/jruby/RubyString;
MethodParameters:
Name Flags
runtime
list
formatString
public static org.jruby.RubyString pack(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.RubyArray, org.jruby.RubyString);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.jruby.Ruby.newString:()Lorg/jruby/RubyString;
astore 4
start local 4 1: aload 0
aload 2
aload 3
aload 4
invokestatic org.jruby.util.Pack.pack:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/RubyString;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 runtime Lorg/jruby/Ruby;
0 2 2 list Lorg/jruby/RubyArray;
0 2 3 formatString Lorg/jruby/RubyString;
1 2 4 buffer Lorg/jruby/RubyString;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
runtime
list
formatString
public static void decode(org.jruby.runtime.ThreadContext, org.jruby.Ruby, java.nio.ByteBuffer, int, org.jruby.RubyArray, org.jruby.runtime.Block, org.jruby.util.Pack$Converter);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;Lorg/jruby/util/Pack$Converter;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
iload 3
1: aload 4
aload 5
aload 6
aload 5
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 2
iconst_1
goto 3
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby java.nio.ByteBuffer int org.jruby.RubyArray org.jruby.runtime.Block org.jruby.util.Pack$Converter
StackMap stack: org.jruby.runtime.ThreadContext org.jruby.Ruby java.nio.ByteBuffer int org.jruby.RubyArray org.jruby.runtime.Block org.jruby.util.Pack$Converter
2: iconst_0
3: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby java.nio.ByteBuffer int org.jruby.RubyArray org.jruby.runtime.Block org.jruby.util.Pack$Converter
StackMap stack: org.jruby.runtime.ThreadContext org.jruby.Ruby java.nio.ByteBuffer int org.jruby.RubyArray org.jruby.runtime.Block org.jruby.util.Pack$Converter int
invokestatic org.jruby.util.Pack.decode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;Lorg/jruby/util/Pack$Converter;I)Lorg/jruby/runtime/builtin/IRubyObject;
pop
4: return
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 5 0 context Lorg/jruby/runtime/ThreadContext;
0 5 1 runtime Lorg/jruby/Ruby;
0 5 2 encode Ljava/nio/ByteBuffer;
0 5 3 occurrences I
0 5 4 result Lorg/jruby/RubyArray;
0 5 5 block Lorg/jruby/runtime/Block;
0 5 6 converter Lorg/jruby/util/Pack$Converter;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
runtime
encode
occurrences
result
block
converter
public static org.jruby.RubyString pack(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.RubyString, org.jruby.RubyString);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/RubyString;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
aload 2
invokevirtual org.jruby.RubyString.isTaint:()Z
invokestatic org.jruby.util.Pack.executor:()Lorg/jruby/util/Pack$ConverterExecutor;
aload 3
invokestatic org.jruby.util.Pack.packCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$ConverterExecutor;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
astore 4
start local 4 1: aload 4
aload 2
invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 list Lorg/jruby/RubyArray;
0 2 2 formatString Lorg/jruby/RubyString;
0 2 3 buffer Lorg/jruby/RubyString;
1 2 4 pack Lorg/jruby/RubyString;
MethodParameters:
Name Flags
context
list
formatString
buffer
private static org.jruby.RubyString packCommon(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, boolean, org.jruby.util.Pack$ConverterExecutor, org.jruby.RubyString);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$ConverterExecutor;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=17, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 2
invokevirtual org.jruby.util.ByteList.begin:()I
aload 2
invokevirtual org.jruby.util.ByteList.length:()I
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
astore 6
start local 6 1: aload 5
invokevirtual org.jruby.RubyString.modify:()V
2: aload 5
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 7
start local 7 3: iload 3
istore 8
start local 8 4: new org.jruby.util.Pack$PackInts
dup
aload 1
invokevirtual org.jruby.RubyArray.size:()I
iconst_0
invokespecial org.jruby.util.Pack$PackInts.<init>:(II)V
astore 9
start local 9 5: aload 6
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
start local 11 6: iconst_1
istore 12
start local 12 7: goto 82
8: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$ConverterExecutor org.jruby.RubyString java.nio.ByteBuffer org.jruby.util.ByteList int org.jruby.util.Pack$PackInts top int int
StackMap stack:
iload 11
istore 10
start local 10 9: aload 6
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
10: ldc "cCiIlLnNqQsSvV"
iload 10
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 16
iload 11
ifne 16
11: aload 6
invokestatic org.jruby.util.Pack.safeGetIgnoreNull:(Ljava/nio/ByteBuffer;)I
istore 11
12: goto 16
13: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$ConverterExecutor org.jruby.RubyString java.nio.ByteBuffer org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int
StackMap stack:
iload 11
ifne 14
goto 83
14: StackMap locals:
StackMap stack:
iload 11
istore 10
15: aload 6
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
16: StackMap locals:
StackMap stack:
getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
iload 10
invokevirtual org.jcodings.specific.ASCIIEncoding.isSpace:(I)Z
ifne 13
17: iload 10
bipush 35
if_icmpne 23
18: goto 22
19: StackMap locals:
StackMap stack:
iload 11
ifne 20
goto 83
20: StackMap locals:
StackMap stack:
iload 11
istore 10
21: aload 6
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
22: StackMap locals:
StackMap stack:
iload 10
bipush 10
if_icmpne 19
23: StackMap locals:
StackMap stack:
iload 11
bipush 33
if_icmpeq 24
iload 11
bipush 95
if_icmpne 32
24: StackMap locals:
StackMap stack:
ldc "sSiIlL"
iload 10
invokevirtual java.lang.String.indexOf:(I)I
istore 13
start local 13 25: iload 13
iconst_m1
if_icmpne 27
26: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "' allowed only after types "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "sSiIlL"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
27: StackMap locals: int
StackMap stack:
iload 10
istore 14
start local 14 28: ldc "sSiIqQ"
iload 13
invokevirtual java.lang.String.charAt:(I)C
istore 10
29: aload 6
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
30: ldc "lLsS"
iload 14
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 32
iload 11
ifne 32
31: aload 6
invokestatic org.jruby.util.Pack.safeGetIgnoreNull:(Ljava/nio/ByteBuffer;)I
istore 11
end local 14 end local 13 32: StackMap locals:
StackMap stack:
iload 11
bipush 62
if_icmpeq 33
iload 11
bipush 60
if_icmpne 41
33: StackMap locals:
StackMap stack:
iload 11
bipush 62
if_icmpne 34
bipush 61
goto 35
StackMap locals:
StackMap stack:
34: bipush 60
StackMap locals:
StackMap stack: int
35: istore 11
36: getstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
iload 10
iload 11
iadd
invokevirtual java.lang.String.indexOf:(I)I
istore 13
start local 13 37: iload 13
iconst_m1
if_icmpne 39
38: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "' allowed only after types sSiIlLqQ"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
39: StackMap locals: int
StackMap stack:
getstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
iload 13
invokevirtual java.lang.String.charAt:(I)C
istore 10
40: aload 6
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
end local 13 41: StackMap locals:
StackMap stack:
iconst_1
istore 13
start local 13 42: iconst_0
istore 14
start local 14 43: iconst_0
istore 15
start local 15 44: iload 11
ifeq 59
45: iload 11
bipush 42
if_icmpne 54
46: ldc "@XxumM"
iload 10
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 50
47: iconst_0
istore 13
48: iconst_1
istore 15
49: goto 52
50: StackMap locals: int int int
StackMap stack:
aload 1
invokevirtual org.jruby.RubyArray.size:()I
aload 9
getfield org.jruby.util.Pack$PackInts.idx:I
isub
istore 13
51: iconst_1
istore 14
52: StackMap locals:
StackMap stack:
aload 6
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
53: goto 59
StackMap locals:
StackMap stack:
54: getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
iload 11
invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
ifeq 59
55: iconst_0
istore 13
56: StackMap locals:
StackMap stack:
iload 13
bipush 10
imul
iload 11
sipush 255
iand
i2c
bipush 10
invokestatic java.lang.Character.digit:(CI)I
iadd
istore 13
57: aload 6
invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
istore 11
58: iload 11
ifeq 59
getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
iload 11
invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
ifne 56
59: StackMap locals:
StackMap stack:
iload 10
iload 12
invokestatic org.jruby.util.Pack.adjustEncInfo:(II)I
istore 12
60: getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
iload 10
aaload
astore 16
start local 16 61: aload 16
ifnull 65
62: aload 4
aload 16
invokevirtual org.jruby.util.Pack$ConverterExecutor.setConverter:(Lorg/jruby/util/Pack$Converter;)V
63: aload 9
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
iload 13
aload 7
aload 1
aload 9
getfield org.jruby.util.Pack$PackInts.idx:I
aload 4
invokestatic org.jruby.util.Pack.encode:(Lorg/jruby/Ruby;ILorg/jruby/util/ByteList;Lorg/jruby/RubyArray;ILorg/jruby/util/Pack$ConverterExecutor;)I
putfield org.jruby.util.Pack$PackInts.idx:I
64: goto 82
65: StackMap locals: org.jruby.util.Pack$Converter
StackMap stack:
iload 10
lookupswitch { // 16
37: 66
64: 73
65: 67
66: 67
72: 67
77: 77
85: 79
88: 71
90: 67
97: 67
98: 67
104: 67
109: 75
117: 75
119: 81
120: 69
default: 82
}
66: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "% is not supported"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
67: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 7
iload 8
aload 9
iload 10
iload 13
iload 14
invokestatic org.jruby.util.Pack.pack_h:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;IIZ)Z
istore 8
68: goto 82
69: StackMap locals:
StackMap stack:
aload 7
getstatic org.jruby.util.Pack.sNil10:[B
iload 13
invokestatic org.jruby.util.Pack.grow:(Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
pop
70: goto 82
71: StackMap locals:
StackMap stack:
aload 0
aload 7
iload 13
invokestatic org.jruby.util.Pack.pack_X:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/ByteList;I)V
72: goto 82
73: StackMap locals:
StackMap stack:
aload 7
iload 13
invokestatic org.jruby.util.Pack.pack_at:(Lorg/jruby/util/ByteList;I)V
74: goto 82
75: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 7
iload 8
aload 9
iload 10
i2c
iload 13
iload 15
invokestatic org.jruby.util.Pack.pack_m:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;CIZ)Z
istore 8
76: goto 82
77: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 7
iload 8
aload 9
iload 13
invokestatic org.jruby.util.Pack.pack_M:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;I)Z
istore 8
78: goto 82
79: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 7
aload 9
iload 13
invokestatic org.jruby.util.Pack.pack_U:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;Lorg/jruby/util/Pack$PackInts;I)V
80: goto 82
81: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 7
aload 9
iload 13
invokestatic org.jruby.util.Pack.pack_w:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;Lorg/jruby/util/Pack$PackInts;I)V
end local 16 end local 15 end local 14 end local 13 end local 10 82: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$ConverterExecutor org.jruby.RubyString java.nio.ByteBuffer org.jruby.util.ByteList int org.jruby.util.Pack$PackInts top int int
StackMap stack:
iload 11
ifne 8
83: StackMap locals:
StackMap stack:
iload 8
ifeq 84
aload 5
iconst_1
invokevirtual org.jruby.RubyString.setTaint:(Z)V
84: StackMap locals:
StackMap stack:
iload 12
tableswitch { // 1 - 2
1: 85
2: 87
default: 88
}
85: StackMap locals:
StackMap stack:
aload 5
getstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
bipush 16
invokevirtual org.jruby.RubyString.setEncodingAndCodeRange:(Lorg/jcodings/Encoding;I)V
86: goto 88
87: StackMap locals:
StackMap stack:
aload 5
getstatic org.jruby.util.Pack.UTF8:Lorg/jcodings/specific/UTF8Encoding;
invokevirtual org.jruby.RubyString.associateEncoding:(Lorg/jcodings/Encoding;)V
88: StackMap locals:
StackMap stack:
aload 5
areturn
end local 12 end local 11 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 89 0 context Lorg/jruby/runtime/ThreadContext;
0 89 1 list Lorg/jruby/RubyArray;
0 89 2 formatString Lorg/jruby/util/ByteList;
0 89 3 tainted Z
0 89 4 executor Lorg/jruby/util/Pack$ConverterExecutor;
0 89 5 buffer Lorg/jruby/RubyString;
1 89 6 format Ljava/nio/ByteBuffer;
3 89 7 result Lorg/jruby/util/ByteList;
4 89 8 taintOutput Z
5 89 9 packInts Lorg/jruby/util/Pack$PackInts;
9 82 10 type I
6 89 11 next I
7 89 12 enc_info I
25 32 13 index I
28 32 14 typeBeforeMap I
37 41 13 index I
42 82 13 occurrences I
43 82 14 isStar Z
44 82 15 ignoreStar Z
61 82 16 converter Lorg/jruby/util/Pack$Converter;
MethodParameters:
Name Flags
context
list
formatString
tainted
executor
buffer
private static void pack_w(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, org.jruby.util.Pack$PackInts, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;Lorg/jruby/util/Pack$PackInts;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: goto 34
1: StackMap locals:
StackMap stack:
aload 3
dup
getfield org.jruby.util.Pack$PackInts.listSize:I
dup_x1
iconst_1
isub
putfield org.jruby.util.Pack$PackInts.listSize:I
ifgt 2
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "too few arguments"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 3
dup
getfield org.jruby.util.Pack$PackInts.idx:I
dup_x1
iconst_1
iadd
putfield org.jruby.util.Pack$PackInts.idx:I
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 3: aload 5
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpne 4
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "pack('w') does not take nil"
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
4: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
new org.jruby.util.ByteList
dup
invokespecial org.jruby.util.ByteList.<init>:()V
astore 6
start local 6 5: aload 5
instanceof org.jruby.RubyBignum
ifeq 12
6: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc 128
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
astore 7
start local 7 7: goto 11
8: StackMap locals: org.jruby.util.ByteList org.jruby.RubyBignum
StackMap stack:
aload 5
checkcast org.jruby.RubyBignum
aload 0
aload 7
invokevirtual org.jruby.RubyBignum.divmod:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyArray
astore 8
start local 8 9: aload 6
aload 8
iconst_1
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
sipush 128
ior
i2b
sipush 255
iand
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
10: aload 8
iconst_0
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
end local 8 11: StackMap locals:
StackMap stack:
aload 5
instanceof org.jruby.RubyBignum
ifne 8
end local 7 12: StackMap locals:
StackMap stack:
aload 5
invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
lstore 7
start local 7 13: lload 7
lconst_0
lcmp
iflt 33
14: goto 17
15: StackMap locals: long
StackMap stack:
aload 6
lload 7
ldc 127
land
ldc 128
lor
ldc 255
land
l2i
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
16: lload 7
bipush 7
lshr
lstore 7
17: StackMap locals:
StackMap stack:
lload 7
lconst_0
lcmp
ifne 15
18: iconst_0
istore 9
start local 9 19: aload 6
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iconst_1
isub
istore 10
start local 10 20: iload 10
iflt 23
21: aload 6
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iconst_0
dup2
baload
bipush 127
iand
i2b
bastore
22: goto 30
23: StackMap locals: int int
StackMap stack:
aload 6
iconst_0
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
24: goto 30
25: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iload 9
baload
istore 11
start local 11 26: aload 6
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iload 9
aload 6
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iload 10
baload
bastore
27: aload 6
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iload 10
iload 11
bastore
28: iinc 9 1
29: iinc 10 -1
end local 11 30: StackMap locals:
StackMap stack:
iload 9
iload 10
if_icmplt 25
31: aload 2
aload 6
invokevirtual org.jruby.util.ByteList.append:(Lorg/jruby/util/ByteList;)V
end local 10 end local 9 32: goto 34
33: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "can't compress negative numbers"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 7 end local 6 end local 5 34: StackMap locals:
StackMap stack:
iload 4
iinc 4 -1
ifgt 1
35: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 context Lorg/jruby/runtime/ThreadContext;
0 36 1 list Lorg/jruby/RubyArray;
0 36 2 result Lorg/jruby/util/ByteList;
0 36 3 packInts Lorg/jruby/util/Pack$PackInts;
0 36 4 occurrences I
3 34 5 from Lorg/jruby/runtime/builtin/IRubyObject;
5 34 6 buf Lorg/jruby/util/ByteList;
7 12 7 big128 Lorg/jruby/RubyBignum;
9 11 8 ary Lorg/jruby/RubyArray;
13 34 7 l J
19 32 9 left I
20 32 10 right I
26 30 11 tmp B
MethodParameters:
Name Flags
context
list
result
packInts
occurrences
private static void pack_U(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, org.jruby.util.Pack$PackInts, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;Lorg/jruby/util/Pack$PackInts;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: goto 10
1: StackMap locals:
StackMap stack:
aload 3
dup
getfield org.jruby.util.Pack$PackInts.listSize:I
dup_x1
iconst_1
isub
putfield org.jruby.util.Pack$PackInts.listSize:I
ifgt 2
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "too few arguments"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 3
dup
getfield org.jruby.util.Pack$PackInts.idx:I
dup_x1
iconst_1
iadd
putfield org.jruby.util.Pack$PackInts.idx:I
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 3: aload 5
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpne 4
iconst_0
goto 5
StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
4: aload 5
invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
StackMap locals:
StackMap stack: int
5: istore 6
start local 6 6: iload 6
ifge 7
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "pack(U): value out of range"
invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
7: StackMap locals: int
StackMap stack:
aload 2
invokevirtual org.jruby.util.ByteList.getRealSize:()I
istore 7
start local 7 8: aload 2
iload 7
bipush 6
iadd
invokevirtual org.jruby.util.ByteList.ensure:(I)V
9: aload 2
iload 7
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 2
invokevirtual org.jruby.util.ByteList.getBegin:()I
iload 7
iadd
iload 6
invokestatic org.jruby.util.Pack.utf8Decode:(Lorg/jruby/Ruby;[BII)I
iadd
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
end local 7 end local 6 end local 5 10: StackMap locals:
StackMap stack:
iload 4
iinc 4 -1
ifgt 1
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 context Lorg/jruby/runtime/ThreadContext;
0 12 1 list Lorg/jruby/RubyArray;
0 12 2 result Lorg/jruby/util/ByteList;
0 12 3 packInts Lorg/jruby/util/Pack$PackInts;
0 12 4 occurrences I
3 10 5 from Lorg/jruby/runtime/builtin/IRubyObject;
6 10 6 code I
8 10 7 len I
MethodParameters:
Name Flags
context
list
result
packInts
occurrences
private static boolean pack_M(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, boolean, org.jruby.util.Pack$PackInts, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
dup
getfield org.jruby.util.Pack$PackInts.listSize:I
dup_x1
iconst_1
isub
putfield org.jruby.util.Pack$PackInts.listSize:I
ifgt 1
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "too few arguments"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
1: StackMap locals:
StackMap stack:
aload 1
aload 4
dup
getfield org.jruby.util.Pack$PackInts.idx:I
dup_x1
iconst_1
iadd
putfield org.jruby.util.Pack$PackInts.idx:I
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 2: aload 7
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
ifeq 3
iconst_1
istore 3
3: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int top org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 7
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpne 4
getstatic org.jruby.util.ByteList.EMPTY_BYTELIST:Lorg/jruby/util/ByteList;
goto 5
StackMap locals:
StackMap stack:
4: aload 7
invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
StackMap locals:
StackMap stack: org.jruby.util.ByteList
5: astore 6
start local 6 6: iload 5
iconst_1
if_icmpgt 8
7: bipush 72
istore 5
8: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
aload 6
iload 5
invokestatic org.jruby.util.PackUtils.qpencode:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
pop
9: iload 3
ireturn
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 10 0 context Lorg/jruby/runtime/ThreadContext;
0 10 1 list Lorg/jruby/RubyArray;
0 10 2 result Lorg/jruby/util/ByteList;
0 10 3 taintOutput Z
0 10 4 packInts Lorg/jruby/util/Pack$PackInts;
0 10 5 occurrences I
6 10 6 lCurElemString Lorg/jruby/util/ByteList;
2 10 7 from Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
list
result
taintOutput
packInts
occurrences
private static boolean pack_h(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, boolean, org.jruby.util.Pack$PackInts, int, int, boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;IIZ)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 4
dup
getfield org.jruby.util.Pack$PackInts.listSize:I
dup_x1
iconst_1
isub
putfield org.jruby.util.Pack$PackInts.listSize:I
ifgt 2
1: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "too few arguments"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 4
dup
getfield org.jruby.util.Pack$PackInts.idx:I
dup_x1
iconst_1
iadd
putfield org.jruby.util.Pack$PackInts.idx:I
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
start local 9 3: aload 9
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpne 4
getstatic org.jruby.util.ByteList.EMPTY_BYTELIST:Lorg/jruby/util/ByteList;
goto 5
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int top org.jruby.runtime.builtin.IRubyObject
StackMap stack:
4: aload 9
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
StackMap locals:
StackMap stack: org.jruby.util.ByteList
5: astore 8
start local 8 6: aload 9
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
ifeq 7
iconst_1
istore 3
7: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject
StackMap stack:
iload 7
ifeq 10
8: aload 8
invokevirtual org.jruby.util.ByteList.length:()I
istore 6
9: iload 5
bipush 90
if_icmpne 10
iinc 6 1
10: StackMap locals:
StackMap stack:
aload 2
iload 5
aload 8
iload 6
invokestatic org.jruby.util.Pack.pack_h_inner:(Lorg/jruby/util/ByteList;ILorg/jruby/util/ByteList;I)V
11: iload 3
ireturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 context Lorg/jruby/runtime/ThreadContext;
0 12 1 list Lorg/jruby/RubyArray;
0 12 2 result Lorg/jruby/util/ByteList;
0 12 3 taintOutput Z
0 12 4 packInts Lorg/jruby/util/Pack$PackInts;
0 12 5 type I
0 12 6 occurrences I
0 12 7 isStar Z
6 12 8 lCurElemString Lorg/jruby/util/ByteList;
3 12 9 from Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
list
result
taintOutput
packInts
type
occurrences
isStar
private static boolean pack_m(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, boolean, org.jruby.util.Pack$PackInts, char, int, boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;CIZ)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 4
dup
getfield org.jruby.util.Pack$PackInts.listSize:I
dup_x1
iconst_1
isub
putfield org.jruby.util.Pack$PackInts.listSize:I
ifgt 1
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "too few arguments"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
1: StackMap locals:
StackMap stack:
aload 1
aload 4
dup
getfield org.jruby.util.Pack$PackInts.idx:I
dup_x1
iconst_1
iadd
putfield org.jruby.util.Pack$PackInts.idx:I
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
start local 9 2: aload 9
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpne 3
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 9
ldc "Integer"
invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int top org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 9
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 8
start local 8 4: aload 9
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
ifeq 5
iconst_1
istore 3
5: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 8
iload 6
iload 7
iload 5
aload 2
invokestatic org.jruby.util.Pack.encodeUM:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;IZCLorg/jruby/util/ByteList;)V
6: iload 3
ireturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 context Lorg/jruby/runtime/ThreadContext;
0 7 1 list Lorg/jruby/RubyArray;
0 7 2 result Lorg/jruby/util/ByteList;
0 7 3 taintOutput Z
0 7 4 packInts Lorg/jruby/util/Pack$PackInts;
0 7 5 type C
0 7 6 occurrences I
0 7 7 ignoreStar Z
4 7 8 lCurElemString Lorg/jruby/util/ByteList;
2 7 9 from Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
list
result
taintOutput
packInts
type
occurrences
ignoreStar
private static void pack_at(org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
invokevirtual org.jruby.util.ByteList.length:()I
isub
istore 1
1: iload 1
ifle 3
2: aload 0
getstatic org.jruby.util.Pack.sNil10:[B
iload 1
invokestatic org.jruby.util.Pack.grow:(Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
pop
3: StackMap locals:
StackMap stack:
iload 1
ineg
istore 1
4: iload 1
ifle 6
5: aload 0
iload 1
invokestatic org.jruby.util.Pack.shrink:(Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
pop
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 result Lorg/jruby/util/ByteList;
0 7 1 occurrences I
MethodParameters:
Name Flags
result
occurrences
private static void pack_X(org.jruby.runtime.ThreadContext, org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/ByteList;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic org.jruby.util.Pack.shrink:(Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
pop
1: goto 4
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
2: pop
3: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "in `pack': X outside of string"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 context Lorg/jruby/runtime/ThreadContext;
0 5 1 result Lorg/jruby/util/ByteList;
0 5 2 occurrences I
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
context
result
occurrences
private static void pack_h_inner(org.jruby.util.ByteList, int, org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;ILorg/jruby/util/ByteList;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
lookupswitch { // 7
65: 1
66: 5
72: 9
90: 1
97: 1
98: 3
104: 7
default: 10
}
1: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
iload 3
invokestatic org.jruby.util.Pack.pack_h_aAZ:(Lorg/jruby/util/ByteList;ILorg/jruby/util/ByteList;I)V
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
invokestatic org.jruby.util.Pack.pack_h_b:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
4: goto 10
5: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
invokestatic org.jruby.util.Pack.pack_h_B:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
6: goto 10
7: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
invokestatic org.jruby.util.Pack.pack_h_h:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
invokestatic org.jruby.util.Pack.pack_h_H:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 result Lorg/jruby/util/ByteList;
0 11 1 type I
0 11 2 lCurElemString Lorg/jruby/util/ByteList;
0 11 3 occurrences I
MethodParameters:
Name Flags
result
type
lCurElemString
occurrences
private static void pack_h_H(org.jruby.util.ByteList, org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iload 2
aload 1
invokevirtual org.jruby.util.ByteList.length:()I
if_icmple 5
3: iload 2
aload 1
invokevirtual org.jruby.util.ByteList.length:()I
isub
iconst_1
iadd
istore 4
4: aload 1
invokevirtual org.jruby.util.ByteList.length:()I
istore 2
5: StackMap locals: int int
StackMap stack:
iconst_0
istore 5
start local 5 6: goto 17
7: StackMap locals: int
StackMap stack:
aload 1
iload 5
iinc 5 1
invokevirtual org.jruby.util.ByteList.charAt:(I)C
i2b
istore 6
start local 6 8: iload 6
invokestatic java.lang.Character.isJavaIdentifierStart:(I)Z
ifeq 11
9: iload 3
iload 6
bipush 15
iand
bipush 9
iadd
bipush 15
iand
ior
istore 3
10: goto 12
11: StackMap locals: int
StackMap stack:
iload 3
iload 6
bipush 15
iand
ior
istore 3
12: StackMap locals:
StackMap stack:
iload 5
iconst_1
iand
ifeq 15
13: iload 3
iconst_4
ishl
istore 3
14: goto 17
15: StackMap locals:
StackMap stack:
aload 0
iload 3
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
16: iconst_0
istore 3
end local 6 17: StackMap locals:
StackMap stack:
iload 5
iload 2
if_icmplt 7
end local 5 18: iload 2
iconst_1
iand
ifeq 21
19: aload 0
iload 3
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
20: iload 4
ifle 21
iinc 4 -1
21: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.jruby.util.ByteList.length:()I
iload 4
iconst_2
idiv
iadd
invokevirtual org.jruby.util.ByteList.length:(I)V
22: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 result Lorg/jruby/util/ByteList;
0 23 1 lCurElemString Lorg/jruby/util/ByteList;
0 23 2 occurrences I
1 23 3 currentByte I
2 23 4 padLength I
6 18 5 i I
8 17 6 currentChar B
MethodParameters:
Name Flags
result
lCurElemString
occurrences
private static void pack_h_h(org.jruby.util.ByteList, org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iload 2
aload 1
invokevirtual org.jruby.util.ByteList.length:()I
if_icmple 5
3: iload 2
aload 1
invokevirtual org.jruby.util.ByteList.length:()I
isub
iconst_1
iadd
istore 4
4: aload 1
invokevirtual org.jruby.util.ByteList.length:()I
istore 2
5: StackMap locals: int int
StackMap stack:
iconst_0
istore 5
start local 5 6: goto 17
7: StackMap locals: int
StackMap stack:
aload 1
iload 5
iinc 5 1
invokevirtual org.jruby.util.ByteList.charAt:(I)C
i2b
istore 6
start local 6 8: iload 6
invokestatic java.lang.Character.isJavaIdentifierStart:(I)Z
ifeq 11
9: iload 3
iload 6
bipush 15
iand
bipush 9
iadd
bipush 15
iand
iconst_4
ishl
ior
istore 3
10: goto 12
11: StackMap locals: int
StackMap stack:
iload 3
iload 6
bipush 15
iand
iconst_4
ishl
ior
istore 3
12: StackMap locals:
StackMap stack:
iload 5
iconst_1
iand
ifeq 15
13: iload 3
iconst_4
ishr
istore 3
14: goto 17
15: StackMap locals:
StackMap stack:
aload 0
iload 3
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
16: iconst_0
istore 3
end local 6 17: StackMap locals:
StackMap stack:
iload 5
iload 2
if_icmplt 7
end local 5 18: iload 2
iconst_1
iand
ifeq 21
19: aload 0
iload 3
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
20: iload 4
ifle 21
iinc 4 -1
21: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.jruby.util.ByteList.length:()I
iload 4
iconst_2
idiv
iadd
invokevirtual org.jruby.util.ByteList.length:(I)V
22: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 result Lorg/jruby/util/ByteList;
0 23 1 lCurElemString Lorg/jruby/util/ByteList;
0 23 2 occurrences I
1 23 3 currentByte I
2 23 4 padLength I
6 18 5 i I
8 17 6 currentChar B
MethodParameters:
Name Flags
result
lCurElemString
occurrences
private static void pack_h_B(org.jruby.util.ByteList, org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iload 2
aload 1
invokevirtual org.jruby.util.ByteList.length:()I
if_icmple 5
3: iload 2
aload 1
invokevirtual org.jruby.util.ByteList.length:()I
isub
iconst_2
idiv
iload 2
aload 1
invokevirtual org.jruby.util.ByteList.length:()I
iadd
iconst_2
irem
iadd
istore 4
4: aload 1
invokevirtual org.jruby.util.ByteList.length:()I
istore 2
5: StackMap locals: int int
StackMap stack:
iconst_0
istore 5
start local 5 6: goto 13
7: StackMap locals: int
StackMap stack:
iload 3
aload 1
iload 5
iinc 5 1
invokevirtual org.jruby.util.ByteList.charAt:(I)C
iconst_1
iand
ior
istore 3
8: iload 5
bipush 7
iand
ifne 12
9: aload 0
iload 3
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
10: iconst_0
istore 3
11: goto 13
12: StackMap locals:
StackMap stack:
iload 3
iconst_1
ishl
istore 3
13: StackMap locals:
StackMap stack:
iload 5
iload 2
if_icmplt 7
end local 5 14: iload 2
bipush 7
iand
ifeq 17
15: iload 3
bipush 7
iload 2
bipush 7
iand
isub
ishl
istore 3
16: aload 0
iload 3
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
17: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.jruby.util.ByteList.length:()I
iload 4
iadd
invokevirtual org.jruby.util.ByteList.length:(I)V
18: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 result Lorg/jruby/util/ByteList;
0 19 1 lCurElemString Lorg/jruby/util/ByteList;
0 19 2 occurrences I
1 19 3 currentByte I
2 19 4 padLength I
6 14 5 i I
MethodParameters:
Name Flags
result
lCurElemString
occurrences
private static void pack_h_b(org.jruby.util.ByteList, org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iload 2
aload 1
invokevirtual org.jruby.util.ByteList.length:()I
if_icmple 5
3: iload 2
aload 1
invokevirtual org.jruby.util.ByteList.length:()I
isub
iconst_2
idiv
iload 2
aload 1
invokevirtual org.jruby.util.ByteList.length:()I
iadd
iconst_2
irem
iadd
istore 4
4: aload 1
invokevirtual org.jruby.util.ByteList.length:()I
istore 2
5: StackMap locals: int int
StackMap stack:
iconst_0
istore 5
start local 5 6: goto 14
7: StackMap locals: int
StackMap stack:
aload 1
iload 5
iinc 5 1
invokevirtual org.jruby.util.ByteList.charAt:(I)C
iconst_1
iand
ifeq 9
8: iload 3
sipush 128
ior
istore 3
9: StackMap locals:
StackMap stack:
iload 5
bipush 7
iand
ifne 13
10: aload 0
iload 3
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
11: iconst_0
istore 3
12: goto 14
13: StackMap locals:
StackMap stack:
iload 3
iconst_1
ishr
istore 3
14: StackMap locals:
StackMap stack:
iload 5
iload 2
if_icmplt 7
end local 5 15: iload 2
bipush 7
iand
ifeq 18
16: iload 3
bipush 7
iload 2
bipush 7
iand
isub
ishr
istore 3
17: aload 0
iload 3
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
18: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.jruby.util.ByteList.length:()I
iload 4
iadd
invokevirtual org.jruby.util.ByteList.length:(I)V
19: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 result Lorg/jruby/util/ByteList;
0 20 1 lCurElemString Lorg/jruby/util/ByteList;
0 20 2 occurrences I
1 20 3 currentByte I
2 20 4 padLength I
6 15 5 i I
MethodParameters:
Name Flags
result
lCurElemString
occurrences
private static void pack_h_aAZ(org.jruby.util.ByteList, int, org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;ILorg/jruby/util/ByteList;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.jruby.util.ByteList.length:()I
iload 3
if_icmplt 3
1: aload 0
aload 2
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 2
invokevirtual org.jruby.util.ByteList.getBegin:()I
iload 3
invokevirtual org.jruby.util.ByteList.append:([BII)V
2: goto 9
3: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.util.ByteList.append:(Lorg/jruby/util/ByteList;)V
4: iload 3
aload 2
invokevirtual org.jruby.util.ByteList.length:()I
isub
istore 3
5: iload 1
lookupswitch { // 2
90: 6
97: 6
default: 8
}
6: StackMap locals:
StackMap stack:
aload 0
getstatic org.jruby.util.Pack.sNil10:[B
iload 3
invokestatic org.jruby.util.Pack.grow:(Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
pop
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
getstatic org.jruby.util.Pack.sSp10:[B
iload 3
invokestatic org.jruby.util.Pack.grow:(Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
pop
9: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 result Lorg/jruby/util/ByteList;
0 10 1 type I
0 10 2 lCurElemString Lorg/jruby/util/ByteList;
0 10 3 occurrences I
MethodParameters:
Name Flags
result
type
lCurElemString
occurrences
private static int adjustEncInfo(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
lookupswitch { // 4
77: 3
85: 1
109: 3
117: 3
default: 4
}
1: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpne 5
iconst_2
istore 1
2: goto 5
3: StackMap locals:
StackMap stack:
goto 5
4: StackMap locals:
StackMap stack:
iconst_0
istore 1
5: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 type I
0 6 1 enc_info I
MethodParameters:
Name Flags
type
enc_info
private static int decodeIntLittleEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
1: aload 0
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 1
start local 1 2: aload 0
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
3: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 encode Ljava/nio/ByteBuffer;
2 4 1 value I
MethodParameters:
Name Flags
encode
private static int decodeIntBigEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.nio.ByteBuffer.getInt:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 encode Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
encode
private static long decodeIntUnsignedBigEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.nio.ByteBuffer.getInt:()I
i2l
ldc 4294967295
land
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 encode Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
encode
private static long decodeIntUnsignedLittleEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
1: aload 0
invokevirtual java.nio.ByteBuffer.getInt:()I
i2l
ldc 4294967295
land
lstore 1
start local 1 2: aload 0
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
3: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 encode Ljava/nio/ByteBuffer;
2 4 1 value J
MethodParameters:
Name Flags
encode
private static void encodeIntLittleEndian(org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
iload 1
bipush 8
ishr
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
1: aload 0
iload 1
bipush 16
ishr
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
iload 1
bipush 24
ishr
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 result Lorg/jruby/util/ByteList;
0 3 1 s I
MethodParameters:
Name Flags
result
s
private static void encodeIntBigEndian(org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
bipush 24
ishr
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
iload 1
bipush 16
ishr
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
1: aload 0
iload 1
bipush 8
ishr
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
iload 1
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 result Lorg/jruby/util/ByteList;
0 3 1 s I
MethodParameters:
Name Flags
result
s
private static long decodeLongBigEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.util.Pack.decodeIntBigEndian:(Ljava/nio/ByteBuffer;)I
istore 1
start local 1 1: aload 0
invokestatic org.jruby.util.Pack.decodeIntBigEndian:(Ljava/nio/ByteBuffer;)I
istore 2
start local 2 2: iload 1
i2l
bipush 32
lshl
iload 2
i2l
ldc 4294967295
land
ladd
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 encode Ljava/nio/ByteBuffer;
1 3 1 c1 I
2 3 2 c2 I
MethodParameters:
Name Flags
encode
private static long decodeLongLittleEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.util.Pack.decodeIntLittleEndian:(Ljava/nio/ByteBuffer;)I
istore 1
start local 1 1: aload 0
invokestatic org.jruby.util.Pack.decodeIntLittleEndian:(Ljava/nio/ByteBuffer;)I
istore 2
start local 2 2: iload 2
i2l
bipush 32
lshl
iload 1
i2l
ldc 4294967295
land
ladd
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 encode Ljava/nio/ByteBuffer;
1 3 1 c1 I
2 3 2 c2 I
MethodParameters:
Name Flags
encode
private static void encodeLongLittleEndian(org.jruby.util.ByteList, long);
descriptor: (Lorg/jruby/util/ByteList;J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
ldc -1
land
l2i
invokestatic org.jruby.util.Pack.encodeIntLittleEndian:(Lorg/jruby/util/ByteList;I)V
1: aload 0
lload 1
bipush 32
lushr
l2i
invokestatic org.jruby.util.Pack.encodeIntLittleEndian:(Lorg/jruby/util/ByteList;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 result Lorg/jruby/util/ByteList;
0 3 1 l J
MethodParameters:
Name Flags
result
l
private static void encodeLongBigEndian(org.jruby.util.ByteList, long);
descriptor: (Lorg/jruby/util/ByteList;J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
bipush 32
lushr
l2i
invokestatic org.jruby.util.Pack.encodeIntBigEndian:(Lorg/jruby/util/ByteList;I)V
1: aload 0
lload 1
ldc -1
land
l2i
invokestatic org.jruby.util.Pack.encodeIntBigEndian:(Lorg/jruby/util/ByteList;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 result Lorg/jruby/util/ByteList;
0 3 1 l J
MethodParameters:
Name Flags
result
l
private static double decodeDoubleLittleEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.util.Pack.decodeLongLittleEndian:(Ljava/nio/ByteBuffer;)J
invokestatic java.lang.Double.longBitsToDouble:(J)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 encode Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
encode
private static double decodeDoubleBigEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.util.Pack.decodeLongBigEndian:(Ljava/nio/ByteBuffer;)J
invokestatic java.lang.Double.longBitsToDouble:(J)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 encode Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
encode
private static void encodeDoubleLittleEndian(org.jruby.util.ByteList, double);
descriptor: (Lorg/jruby/util/ByteList;D)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dload 1
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
invokestatic org.jruby.util.Pack.encodeLongLittleEndian:(Lorg/jruby/util/ByteList;J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 result Lorg/jruby/util/ByteList;
0 2 1 d D
MethodParameters:
Name Flags
result
d
private static void encodeDoubleBigEndian(org.jruby.util.ByteList, double);
descriptor: (Lorg/jruby/util/ByteList;D)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dload 1
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
invokestatic org.jruby.util.Pack.encodeLongBigEndian:(Lorg/jruby/util/ByteList;J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 result Lorg/jruby/util/ByteList;
0 2 1 d D
MethodParameters:
Name Flags
result
d
private static float decodeFloatBigEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.util.Pack.decodeIntBigEndian:(Ljava/nio/ByteBuffer;)I
invokestatic java.lang.Float.intBitsToFloat:(I)F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 encode Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
encode
private static float decodeFloatLittleEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.util.Pack.decodeIntLittleEndian:(Ljava/nio/ByteBuffer;)I
invokestatic java.lang.Float.intBitsToFloat:(I)F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 encode Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
encode
private static void encodeFloatLittleEndian(org.jruby.util.ByteList, float);
descriptor: (Lorg/jruby/util/ByteList;F)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
fload 1
invokestatic java.lang.Float.floatToRawIntBits:(F)I
invokestatic org.jruby.util.Pack.encodeIntLittleEndian:(Lorg/jruby/util/ByteList;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 result Lorg/jruby/util/ByteList;
0 2 1 f F
MethodParameters:
Name Flags
result
f
private static void encodeFloatBigEndian(org.jruby.util.ByteList, float);
descriptor: (Lorg/jruby/util/ByteList;F)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
fload 1
invokestatic java.lang.Float.floatToRawIntBits:(F)I
invokestatic org.jruby.util.Pack.encodeIntBigEndian:(Lorg/jruby/util/ByteList;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 result Lorg/jruby/util/ByteList;
0 2 1 f F
MethodParameters:
Name Flags
result
f
private static int decodeShortUnsignedLittleEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
1: aload 0
invokevirtual java.nio.ByteBuffer.getShort:()S
ldc 65535
iand
istore 1
start local 1 2: aload 0
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
3: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 encode Ljava/nio/ByteBuffer;
2 4 1 value I
MethodParameters:
Name Flags
encode
private static int decodeShortUnsignedBigEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.nio.ByteBuffer.getShort:()S
ldc 65535
iand
istore 1
start local 1 1: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 encode Ljava/nio/ByteBuffer;
1 2 1 value I
MethodParameters:
Name Flags
encode
private static int decodeShortLittleEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
1: aload 0
invokevirtual java.nio.ByteBuffer.getShort:()S
istore 1
start local 1 2: aload 0
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
3: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 encode Ljava/nio/ByteBuffer;
2 4 1 value I
MethodParameters:
Name Flags
encode
private static short decodeShortBigEndian(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)S
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.nio.ByteBuffer.getShort:()S
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 encode Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
encode
private static void encodeShortLittleEndian(org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
iload 1
ldc 65280
iand
bipush 8
ishr
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 result Lorg/jruby/util/ByteList;
0 2 1 s I
MethodParameters:
Name Flags
result
s
private static void encodeShortBigEndian(org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ldc 65280
iand
bipush 8
ishr
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
iload 1
sipush 255
iand
i2b
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 result Lorg/jruby/util/ByteList;
0 2 1 s I
MethodParameters:
Name Flags
result
s
}
SourceFile: "Pack.java"
NestMembers:
org.jruby.util.Pack$1 org.jruby.util.Pack$10 org.jruby.util.Pack$11 org.jruby.util.Pack$12 org.jruby.util.Pack$13 org.jruby.util.Pack$14 org.jruby.util.Pack$15 org.jruby.util.Pack$16 org.jruby.util.Pack$17 org.jruby.util.Pack$18 org.jruby.util.Pack$19 org.jruby.util.Pack$2 org.jruby.util.Pack$20 org.jruby.util.Pack$21 org.jruby.util.Pack$22 org.jruby.util.Pack$23 org.jruby.util.Pack$24 org.jruby.util.Pack$25 org.jruby.util.Pack$26 org.jruby.util.Pack$27 org.jruby.util.Pack$3 org.jruby.util.Pack$4 org.jruby.util.Pack$5 org.jruby.util.Pack$6 org.jruby.util.Pack$7 org.jruby.util.Pack$8 org.jruby.util.Pack$9 org.jruby.util.Pack$Converter org.jruby.util.Pack$ConverterExecutor org.jruby.util.Pack$PackInts org.jruby.util.Pack$QuadConverter
InnerClasses:
org.jruby.util.Pack$1
org.jruby.util.Pack$10
org.jruby.util.Pack$11
org.jruby.util.Pack$12
org.jruby.util.Pack$13
org.jruby.util.Pack$14
org.jruby.util.Pack$15
org.jruby.util.Pack$16
org.jruby.util.Pack$17
org.jruby.util.Pack$18
org.jruby.util.Pack$19
org.jruby.util.Pack$2
org.jruby.util.Pack$20
org.jruby.util.Pack$21
org.jruby.util.Pack$22
org.jruby.util.Pack$23
org.jruby.util.Pack$24
org.jruby.util.Pack$25
org.jruby.util.Pack$26
org.jruby.util.Pack$27
org.jruby.util.Pack$3
org.jruby.util.Pack$4
org.jruby.util.Pack$5
org.jruby.util.Pack$6
org.jruby.util.Pack$7
org.jruby.util.Pack$8
org.jruby.util.Pack$9
public abstract Converter = org.jruby.util.Pack$Converter of org.jruby.util.Pack
private abstract ConverterExecutor = org.jruby.util.Pack$ConverterExecutor of org.jruby.util.Pack
private PackInts = org.jruby.util.Pack$PackInts of org.jruby.util.Pack
private abstract QuadConverter = org.jruby.util.Pack$QuadConverter of org.jruby.util.Pack