public class org.jruby.ext.digest.BubbleBabble implements org.jruby.runtime.load.Library
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.ext.digest.BubbleBabble
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.jruby.ext.digest.BubbleBabble this
0: .line 38
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.jruby.ext.digest.BubbleBabble this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/digest/BubbleBabble;
public void load(org.jruby.Ruby, boolean);
descriptor: (Lorg/jruby/Ruby;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 // org.jruby.ext.digest.BubbleBabble this
start local 1 // org.jruby.Ruby runtime
start local 2 // boolean wrap
0: .line 41
aload 1 /* runtime */
invokestatic org.jruby.ext.digest.RubyDigest.createDigestBubbleBabble:(Lorg/jruby/Ruby;)V
1: .line 42
return
end local 2 // boolean wrap
end local 1 // org.jruby.Ruby runtime
end local 0 // org.jruby.ext.digest.BubbleBabble this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/digest/BubbleBabble;
0 2 1 runtime Lorg/jruby/Ruby;
0 2 2 wrap Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
runtime final
wrap
public static org.jruby.util.ByteList bubblebabble(byte[], int, int);
descriptor: ([BII)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=19, args_size=3
start local 0 // byte[] message
start local 1 // int begin
start local 2 // int length
0: .line 74
bipush 6
newarray 5
dup
iconst_0
bipush 97
castore
dup
iconst_1
bipush 101
castore
dup
iconst_2
bipush 105
castore
dup
iconst_3
bipush 111
castore
dup
iconst_4
bipush 117
castore
dup
iconst_5
bipush 121
castore
astore 3 /* vowels */
start local 3 // char[] vowels
1: .line 75
bipush 17
newarray 5
dup
iconst_0
bipush 98
castore
dup
iconst_1
bipush 99
castore
dup
iconst_2
bipush 100
castore
dup
iconst_3
bipush 102
castore
dup
iconst_4
bipush 103
castore
dup
iconst_5
bipush 104
castore
dup
bipush 6
bipush 107
castore
dup
bipush 7
bipush 108
castore
dup
bipush 8
bipush 109
castore
dup
bipush 9
2: .line 76
bipush 110
castore
dup
bipush 10
bipush 112
castore
dup
bipush 11
bipush 114
castore
dup
bipush 12
bipush 115
castore
dup
bipush 13
bipush 116
castore
dup
bipush 14
bipush 118
castore
dup
bipush 15
bipush 122
castore
dup
bipush 16
bipush 120
castore
3: .line 75
astore 4 /* consonants */
start local 4 // char[] consonants
4: .line 78
lconst_1
lstore 5 /* seed */
start local 5 // long seed
5: .line 80
new org.jruby.util.ByteList
dup
invokespecial org.jruby.util.ByteList.<init>:()V
astore 7 /* retval */
start local 7 // org.jruby.util.ByteList retval
6: .line 82
iload 2 /* length */
iconst_2
idiv
iconst_1
iadd
istore 8 /* rounds */
start local 8 // int rounds
7: .line 83
aload 7 /* retval */
bipush 120
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
8: .line 84
iconst_0
istore 9 /* i */
start local 9 // int i
9: goto 40
10: .line 87
StackMap locals: byte[] int int char[] char[] long org.jruby.util.ByteList int int
StackMap stack:
iload 9 /* i */
iconst_1
iadd
iload 8 /* rounds */
if_icmplt 11
iload 2 /* length */
iconst_2
irem
ifeq 33
11: .line 88
StackMap locals:
StackMap stack:
aload 0 /* message */
iload 1 /* begin */
iconst_2
iload 9 /* i */
imul
iadd
baload
sipush 255
iand
i2l
lstore 15 /* b */
start local 15 // long b
12: .line 89
lload 15 /* b */
bipush 6
lshr
ldc 3
land
lload 5 /* seed */
ladd
ldc 6
lrem
l2i
iconst_m1
iand
istore 10 /* idx0 */
start local 10 // int idx0
13: .line 90
lload 15 /* b */
iconst_2
lshr
ldc 15
land
l2i
iconst_m1
iand
istore 11 /* idx1 */
start local 11 // int idx1
14: .line 91
lload 15 /* b */
ldc 3
land
lload 5 /* seed */
ldc 6
ldiv
ladd
ldc 6
lrem
l2i
iconst_m1
iand
istore 12 /* idx2 */
start local 12 // int idx2
15: .line 92
aload 7 /* retval */
aload 3 /* vowels */
iload 10 /* idx0 */
caload
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
16: .line 93
aload 7 /* retval */
aload 4 /* consonants */
iload 11 /* idx1 */
caload
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
17: .line 94
aload 7 /* retval */
aload 3 /* vowels */
iload 12 /* idx2 */
caload
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
18: .line 95
iload 9 /* i */
iconst_1
iadd
iload 8 /* rounds */
if_icmpge 39
19: .line 96
aload 0 /* message */
iload 1 /* begin */
iconst_2
iload 9 /* i */
imul
iadd
iconst_1
iadd
baload
sipush 255
iand
i2l
lstore 17 /* b2 */
start local 17 // long b2
20: .line 97
lload 17 /* b2 */
iconst_4
lshr
ldc 15
land
l2i
iconst_m1
iand
istore 13 /* idx3 */
start local 13 // int idx3
21: .line 98
lload 17 /* b2 */
ldc 15
land
l2i
iconst_m1
iand
istore 14 /* idx4 */
start local 14 // int idx4
22: .line 99
aload 7 /* retval */
aload 4 /* consonants */
iload 13 /* idx3 */
caload
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
23: .line 100
aload 7 /* retval */
bipush 45
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
24: .line 101
aload 7 /* retval */
aload 4 /* consonants */
iload 14 /* idx4 */
caload
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
25: .line 102
lload 5 /* seed */
ldc 5
lmul
26: .line 103
lload 15 /* b */
ldc 7
lmul
27: .line 104
lload 17 /* b2 */
28: .line 103
ladd
29: .line 102
ladd
30: .line 104
ldc 36
31: .line 102
lrem
lstore 5 /* seed */
end local 17 // long b2
end local 15 // long b
end local 14 // int idx4
end local 13 // int idx3
32: .line 106
goto 39
end local 12 // int idx2
end local 11 // int idx1
end local 10 // int idx0
33: .line 107
StackMap locals:
StackMap stack:
lload 5 /* seed */
ldc 6
lrem
l2i
iconst_m1
iand
istore 10 /* idx0 */
start local 10 // int idx0
34: .line 108
bipush 16
istore 11 /* idx1 */
start local 11 // int idx1
35: .line 109
lload 5 /* seed */
ldc 6
ldiv
l2i
iconst_m1
iand
istore 12 /* idx2 */
start local 12 // int idx2
36: .line 110
aload 7 /* retval */
aload 3 /* vowels */
iload 10 /* idx0 */
caload
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
37: .line 111
aload 7 /* retval */
aload 4 /* consonants */
iload 11 /* idx1 */
caload
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
38: .line 112
aload 7 /* retval */
aload 3 /* vowels */
iload 12 /* idx2 */
caload
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
end local 12 // int idx2
end local 11 // int idx1
end local 10 // int idx0
39: .line 84
StackMap locals:
StackMap stack:
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
40: iload 9 /* i */
iload 8 /* rounds */
if_icmplt 10
end local 9 // int i
41: .line 115
aload 7 /* retval */
bipush 120
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
42: .line 117
aload 7 /* retval */
areturn
end local 8 // int rounds
end local 7 // org.jruby.util.ByteList retval
end local 5 // long seed
end local 4 // char[] consonants
end local 3 // char[] vowels
end local 2 // int length
end local 1 // int begin
end local 0 // byte[] message
LocalVariableTable:
Start End Slot Name Signature
0 43 0 message [B
0 43 1 begin I
0 43 2 length I
1 43 3 vowels [C
4 43 4 consonants [C
5 43 5 seed J
6 43 7 retval Lorg/jruby/util/ByteList;
7 43 8 rounds I
9 41 9 i I
13 33 10 idx0 I
34 39 10 idx0 I
14 33 11 idx1 I
35 39 11 idx1 I
15 33 12 idx2 I
36 39 12 idx2 I
21 32 13 idx3 I
22 32 14 idx4 I
12 32 15 b J
20 32 17 b2 J
MethodParameters:
Name Flags
message
begin
length
}
SourceFile: "BubbleBabble.java"