public final class org.jruby.util.StringSupport
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.jruby.util.StringSupport
super_class: java.lang.Object
{
public static final int CR_7BIT_F;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int CR_VALID_F;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int CR_UNKNOWN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int CR_7BIT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16
public static final int CR_VALID;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32
public static final int CR_BROKEN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 48
public static final int CR_MASK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 48
static final int ARRAY_BYTE_BASE_OFFSET;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
public static final int TRANS_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 256
public static final org.jruby.util.ByteList[] EMPTY_BYTELIST_ARRAY;
descriptor: [Lorg/jruby/util/ByteList;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String[] EMPTY_STRING_ARRAY;
descriptor: [Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final long NONASCII_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -9187201950435737472
private static final int LONG_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int LOWBITS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final java.lang.Object DUMMY_VALUE;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int NULL_POINTER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int CASE_MAPPING_ADDITIONAL_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$jruby$util$StringSupport$NeighborChar;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=1, args_size=0
0: ldc Lorg/jruby/util/StringSupport;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.jruby.util.StringSupport.$assertionsDisabled:Z
3: getstatic org.jruby.ObjectFlags.CR_7BIT_F:I
putstatic org.jruby.util.StringSupport.CR_7BIT_F:I
4: getstatic org.jruby.ObjectFlags.CR_VALID_F:I
putstatic org.jruby.util.StringSupport.CR_VALID_F:I
5: getstatic org.jruby.util.StringSupport.$assertionsDisabled:Z
ifne 6
bipush 16
getstatic org.jruby.util.StringSupport.CR_7BIT_F:I
if_icmpeq 6
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "CR_7BIT = 16 but should be "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.jruby.util.StringSupport.CR_7BIT_F:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
getstatic org.jruby.util.StringSupport.$assertionsDisabled:Z
ifne 7
bipush 32
getstatic org.jruby.util.StringSupport.CR_VALID_F:I
if_icmpeq 7
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "CR_VALID = 32 but should be "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.jruby.util.StringSupport.CR_VALID_F:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
getstatic org.jruby.util.unsafe.UnsafeHolder.U:Lsun/misc/Unsafe;
astore 0
start local 0 8: aload 0
ifnull 9
aload 0
ldc [B
invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
goto 10
StackMap locals: sun.misc.Unsafe
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: putstatic org.jruby.util.StringSupport.ARRAY_BYTE_BASE_OFFSET:I
end local 0 11: iconst_0
anewarray org.jruby.util.ByteList
putstatic org.jruby.util.StringSupport.EMPTY_BYTELIST_ARRAY:[Lorg/jruby/util/ByteList;
12: iconst_0
anewarray java.lang.String
putstatic org.jruby.util.StringSupport.EMPTY_STRING_ARRAY:[Ljava/lang/String;
13: ldc ""
putstatic org.jruby.util.StringSupport.DUMMY_VALUE:Ljava/lang/Object;
14: return
LocalVariableTable:
Start End Slot Name Signature
8 11 0 unsafe Lsun/misc/Unsafe;
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/StringSupport;
public static java.util.List<java.lang.String> split(java.lang.String, char);
descriptor: (Ljava/lang/String;C)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
invokestatic org.jruby.util.StringSupport.split:(Ljava/lang/String;CI)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Ljava/lang/String;
0 1 1 sep C
Signature: (Ljava/lang/String;C)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
str final
sep final
public static java.util.List<java.lang.String> split(java.lang.String, char, int);
descriptor: (Ljava/lang/String;CI)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.String.length:()I
istore 3
start local 3 1: iload 3
ifne 2
aload 0
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
2: StackMap locals: int
StackMap stack:
new java.util.ArrayList
dup
iload 2
ifgt 3
bipush 8
goto 4
StackMap locals: java.lang.String int int int
StackMap stack: new 2 new 2
3: iload 2
StackMap locals: java.lang.String int int int
StackMap stack: new 2 new 2 int
4: invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 5: iconst_0
istore 6
start local 6 6: iconst_0
istore 7
start local 7 7: goto 13
start local 5 8: StackMap locals: java.lang.String int int int java.util.ArrayList int int int
StackMap stack:
iload 2
iinc 7 1
iload 7
if_icmpne 11
9: aload 4
aload 0
iload 6
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
10: aload 4
areturn
11: StackMap locals:
StackMap stack:
aload 4
aload 0
iload 6
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
12: iload 5
iconst_1
iadd
istore 6
end local 5 13: StackMap locals: java.lang.String int int int java.util.ArrayList top int int
StackMap stack:
aload 0
iload 1
iload 6
invokevirtual java.lang.String.indexOf:(II)I
dup
istore 5
start local 5 14: iconst_m1
if_icmpne 8
15: iload 6
iload 3
if_icmplt 16
iload 6
iload 3
if_icmpne 17
iload 2
ifle 17
StackMap locals: java.lang.String int int int java.util.ArrayList int int int
StackMap stack:
16: aload 4
aload 0
iload 6
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
17: StackMap locals:
StackMap stack:
aload 4
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 18 0 str Ljava/lang/String;
0 18 1 sep C
0 18 2 lim I
1 18 3 len I
5 18 4 result Ljava/util/ArrayList<Ljava/lang/String;>;
8 13 5 e I
14 18 5 e I
6 18 6 s I
7 18 7 count I
Signature: (Ljava/lang/String;CI)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
str final
sep final
lim final
public static boolean startsWith(java.lang.CharSequence, java.lang.String);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 1: iload 2
aload 0
invokeinterface java.lang.CharSequence.length:()I
if_icmple 2
iconst_0
ireturn
2: StackMap locals: int
StackMap stack:
iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: int
StackMap stack:
aload 0
iload 3
invokeinterface java.lang.CharSequence.charAt:(I)C
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
if_icmpeq 5
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iinc 3 1
6: StackMap locals:
StackMap stack:
iinc 2 -1
iload 2
ifge 4
7: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 str Ljava/lang/CharSequence;
0 8 1 prefix Ljava/lang/String;
1 8 2 p I
3 8 3 i I
MethodParameters:
Name Flags
str final
prefix final
public static boolean startsWith(java.lang.CharSequence, char);
descriptor: (Ljava/lang/CharSequence;C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.lang.CharSequence.length:()I
iconst_1
if_icmplt 1
aload 0
iconst_0
invokeinterface java.lang.CharSequence.charAt:(I)C
iload 1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 str Ljava/lang/CharSequence;
0 2 1 c C
MethodParameters:
Name Flags
str final
c final
public static boolean startsWith(java.lang.CharSequence, char, char);
descriptor: (Ljava/lang/CharSequence;CC)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface java.lang.CharSequence.length:()I
iconst_2
if_icmplt 1
aload 0
iconst_0
invokeinterface java.lang.CharSequence.charAt:(I)C
iload 1
if_icmpne 1
aload 0
iconst_1
invokeinterface java.lang.CharSequence.charAt:(I)C
iload 2
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 str Ljava/lang/CharSequence;
0 2 1 c1 C
0 2 2 c2 C
MethodParameters:
Name Flags
str final
c1 final
c2 final
public static int lastIndexOf(java.lang.CharSequence, char, int);
descriptor: (Ljava/lang/CharSequence;CI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 3
1: StackMap locals:
StackMap stack:
aload 0
iload 2
invokeinterface java.lang.CharSequence.charAt:(I)C
iload 1
if_icmpne 2
iload 2
ireturn
2: StackMap locals:
StackMap stack:
iinc 2 -1
3: StackMap locals:
StackMap stack:
iload 2
ifge 1
4: iconst_m1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 str Ljava/lang/CharSequence;
0 5 1 c C
0 5 2 index I
MethodParameters:
Name Flags
str final
c final
index
public static boolean contentEquals(java.lang.CharSequence, int);
descriptor: (Ljava/lang/CharSequence;I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.lang.CharSequence.length:()I
iconst_1
if_icmpne 1
aload 0
iconst_0
invokeinterface java.lang.CharSequence.charAt:(I)C
iload 1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 str Ljava/lang/CharSequence;
0 2 1 chr I
MethodParameters:
Name Flags
str final
chr final
public static boolean contentEquals(java.lang.CharSequence, int, int);
descriptor: (Ljava/lang/CharSequence;II)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface java.lang.CharSequence.length:()I
iconst_2
if_icmpne 1
aload 0
iconst_0
invokeinterface java.lang.CharSequence.charAt:(I)C
iload 1
if_icmpne 1
aload 0
iconst_1
invokeinterface java.lang.CharSequence.charAt:(I)C
iload 2
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 str Ljava/lang/CharSequence;
0 2 1 chr1 I
0 2 2 chr2 I
MethodParameters:
Name Flags
str final
chr1 final
chr2 final
public static java.lang.CharSequence concat(java.lang.CharSequence, java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 0
invokeinterface java.lang.CharSequence.length:()I
aload 1
invokeinterface java.lang.CharSequence.length:()I
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str1 Ljava/lang/CharSequence;
0 1 1 str2 Ljava/lang/CharSequence;
MethodParameters:
Name Flags
str1 final
str2 final
public static java.lang.String delete(java.lang.String, char);
descriptor: (Ljava/lang/String;C)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 11
5: StackMap locals: java.lang.String int char[] int int int
StackMap stack:
aload 0
iload 5
invokevirtual java.lang.String.charAt:(I)C
iload 1
if_icmpne 10
6: aload 2
ifnonnull 8
7: aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
newarray 5
astore 2
8: StackMap locals:
StackMap stack:
aload 0
iload 4
iload 5
iload 4
isub
aload 2
iload 3
invokestatic org.jruby.util.StringSupport.copy:(Ljava/lang/String;II[CI)I
istore 3
9: iload 5
iconst_1
iadd
istore 4
10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 5
end local 5 12: aload 2
ifnonnull 13
aload 0
goto 14
StackMap locals:
StackMap stack:
13: new java.lang.String
dup
aload 2
iconst_0
iload 3
invokespecial java.lang.String.<init>:([CII)V
StackMap locals:
StackMap stack: java.lang.String
14: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 str Ljava/lang/String;
0 15 1 c C
1 15 2 ary [C
2 15 3 end I
3 15 4 s I
4 12 5 i I
MethodParameters:
Name Flags
str final
c final
public static java.lang.CharSequence replaceFirst(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/CharSequence;
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
aload 1
aload 2
iconst_1
iconst_0
invokestatic org.jruby.util.StringSupport.replaceImpl:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZ)Ljava/lang/CharSequence;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Ljava/lang/String;
0 1 1 sub Ljava/lang/String;
0 1 2 repl Ljava/lang/String;
MethodParameters:
Name Flags
str final
sub final
repl final
public static java.lang.CharSequence replaceAll(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/CharSequence;
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
aload 1
aload 2
iconst_m1
iconst_0
invokestatic org.jruby.util.StringSupport.replaceImpl:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZ)Ljava/lang/CharSequence;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Ljava/lang/String;
0 1 1 sub Ljava/lang/String;
0 1 2 repl Ljava/lang/String;
MethodParameters:
Name Flags
str final
sub final
repl final
private static java.lang.CharSequence replaceImpl(java.lang.String, java.lang.String, java.lang.String, int, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZ)Ljava/lang/CharSequence;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual java.lang.String.length:()I
ifeq 1
aload 1
invokevirtual java.lang.String.length:()I
ifne 2
StackMap locals:
StackMap stack:
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
astore 5
start local 5 3: iload 4
ifeq 6
4: aload 0
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 5
5: aload 1
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 1
6: StackMap locals: java.lang.String
StackMap stack:
iconst_0
istore 6
start local 6 7: aload 5
aload 1
iload 6
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 7
start local 7 8: iload 7
iconst_m1
if_icmpne 9
aload 0
areturn
9: StackMap locals: int int
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
istore 8
start local 8 10: aload 2
invokevirtual java.lang.String.length:()I
iload 8
isub
istore 9
start local 9 11: iload 9
ifge 12
iconst_0
goto 13
StackMap locals: int int
StackMap stack:
12: iload 9
StackMap locals:
StackMap stack: int
13: istore 9
14: iload 9
iload 3
ifge 15
bipush 16
goto 17
StackMap locals:
StackMap stack: int
15: iload 3
bipush 64
if_icmple 16
bipush 64
goto 17
StackMap locals:
StackMap stack: int
16: iload 3
StackMap locals: java.lang.String java.lang.String java.lang.String int int java.lang.String int int int int
StackMap stack: int int
17: imul
istore 9
18: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.String.length:()I
iload 9
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 10
start local 10 19: goto 24
20: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 10
aload 0
iload 6
iload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: iload 7
iload 8
iadd
istore 6
22: iinc 3 -1
iload 3
ifne 23
goto 25
23: StackMap locals:
StackMap stack:
aload 5
aload 1
iload 6
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 7
24: StackMap locals:
StackMap stack:
iload 7
iconst_m1
if_icmpne 20
25: StackMap locals:
StackMap stack:
aload 10
aload 0
iload 6
aload 0
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
26: aload 10
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 27 0 str Ljava/lang/String;
0 27 1 sub Ljava/lang/String;
0 27 2 repl Ljava/lang/String;
0 27 3 max I
0 27 4 ignoreCase Z
3 27 5 search Ljava/lang/String;
7 27 6 start I
8 27 7 end I
10 27 8 replLength I
11 27 9 increase I
19 27 10 buf Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
str final
sub
repl final
max
ignoreCase final
private static int copy(java.lang.String, int, int, char[], int);
descriptor: (Ljava/lang/String;II[CI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
tableswitch { // 0 - 3
0: 1
1: 2
2: 4
3: 7
default: 11
}
1: StackMap locals:
StackMap stack:
goto 15
2: StackMap locals:
StackMap stack:
aload 3
iload 4
iinc 4 1
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
castore
3: goto 15
4: StackMap locals:
StackMap stack:
aload 3
iload 4
iinc 4 1
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
castore
5: aload 3
iload 4
iinc 4 1
aload 0
iload 1
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
castore
6: goto 15
7: StackMap locals:
StackMap stack:
aload 3
iload 4
iinc 4 1
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
castore
8: aload 3
iload 4
iinc 4 1
aload 0
iload 1
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
castore
9: aload 3
iload 4
iinc 4 1
aload 0
iload 1
iconst_2
iadd
invokevirtual java.lang.String.charAt:(I)C
castore
10: goto 15
11: StackMap locals:
StackMap stack:
iload 1
istore 5
start local 5 12: goto 14
StackMap locals: int
StackMap stack:
13: aload 3
iload 4
iinc 4 1
aload 0
iload 5
invokevirtual java.lang.String.charAt:(I)C
castore
iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
iload 2
if_icmplt 13
end local 5 15: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 str Ljava/lang/String;
0 16 1 soff I
0 16 2 slen I
0 16 3 dest [C
0 16 4 doff I
12 15 5 s I
MethodParameters:
Name Flags
str final
soff final
slen final
dest final
doff
public static java.lang.String codeRangeAsString(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
lookupswitch { // 4
0: 1
16: 2
32: 3
48: 4
default: 5
}
1: StackMap locals:
StackMap stack:
ldc "unknown"
areturn
2: StackMap locals:
StackMap stack:
ldc "7bit"
areturn
3: StackMap locals:
StackMap stack:
ldc "valid"
areturn
4: StackMap locals:
StackMap stack:
ldc "broken"
areturn
5: StackMap locals:
StackMap stack:
ldc "???"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 codeRange I
MethodParameters:
Name Flags
codeRange
public static int encFastMBCLen(byte[], int, int, org.jcodings.Encoding);
descriptor: ([BIILorg/jcodings/Encoding;)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: aload 3
aload 0
iload 1
iload 2
invokevirtual org.jcodings.Encoding.length:([BII)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bytes [B
0 1 1 p I
0 1 2 e I
0 1 3 enc Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
bytes
p
e
enc
public static int length(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokevirtual org.jcodings.Encoding.length:([BII)I
istore 4
start local 4 1: iload 4
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
ifeq 2
iload 4
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
iload 3
iload 2
isub
if_icmpgt 2
iload 4
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
ireturn
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.jcodings.Encoding.minLength:()I
istore 5
start local 5 3: iload 5
iload 3
iload 2
isub
if_icmpgt 4
iload 5
goto 5
StackMap locals: int
StackMap stack:
4: iload 3
iload 2
isub
StackMap locals:
StackMap stack: int
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 6 0 enc Lorg/jcodings/Encoding;
0 6 1 bytes [B
0 6 2 p I
0 6 3 end I
1 6 4 n I
3 6 5 min I
MethodParameters:
Name Flags
enc
bytes
p
end
public static int preciseLength(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)I
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: iload 2
iload 3
if_icmplt 1
iconst_1
invokestatic org.jruby.util.StringSupport.MBCLEN_NEEDMORE:(I)I
ireturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual org.jcodings.Encoding.length:([BII)I
istore 4
start local 4 2: iload 4
iload 3
iload 2
isub
if_icmple 3
iload 4
iload 3
iload 2
isub
isub
invokestatic org.jruby.util.StringSupport.MBCLEN_NEEDMORE:(I)I
ireturn
3: StackMap locals: int
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 enc Lorg/jcodings/Encoding;
0 4 1 bytes [B
0 4 2 p I
0 4 3 end I
2 4 4 n I
MethodParameters:
Name Flags
enc
bytes
p
end
public static boolean MBCLEN_NEEDMORE_P(int);
descriptor: (I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_m1
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 r I
MethodParameters:
Name Flags
r
public static int MBCLEN_NEEDMORE(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iconst_m1
iload 0
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 n I
MethodParameters:
Name Flags
n
public static int MBCLEN_NEEDMORE_LEN(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iconst_m1
iload 0
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 r I
MethodParameters:
Name Flags
r
public static boolean MBCLEN_INVALID_P(int);
descriptor: (I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_m1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 r I
MethodParameters:
Name Flags
r
public static int MBCLEN_CHARFOUND_LEN(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 r I
MethodParameters:
Name Flags
r
public static boolean MBCLEN_CHARFOUND_P(int);
descriptor: (I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 r I
MethodParameters:
Name Flags
r
public static int CONSTRUCT_MBCLEN_CHARFOUND(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 n I
MethodParameters:
Name Flags
n
public static int searchNonAscii(byte[], int, int);
descriptor: ([BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 3
1: StackMap locals:
StackMap stack:
aload 0
iload 1
baload
invokestatic org.jcodings.Encoding.isAscii:(B)Z
ifne 2
iload 1
ireturn
2: StackMap locals:
StackMap stack:
iinc 1 1
3: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmplt 1
4: iconst_m1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 bytes [B
0 5 1 p I
0 5 2 end I
MethodParameters:
Name Flags
bytes
p
end
public static int searchNonAscii(org.jruby.util.ByteList);
descriptor: (Lorg/jruby/util/ByteList;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
invokestatic org.jruby.util.StringSupport.searchNonAscii:([BII)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bytes Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
bytes
public static int codeRangeScan(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[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: aload 0
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
if_acmpne 4
1: aload 1
iload 2
iload 2
iload 3
iadd
invokestatic org.jruby.util.StringSupport.searchNonAscii:([BII)I
iconst_m1
if_icmpeq 2
bipush 32
goto 3
StackMap locals:
StackMap stack:
2: bipush 16
StackMap locals:
StackMap stack: int
3: ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 6
5: aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.codeRangeScanAsciiCompatible:(Lorg/jcodings/Encoding;[BII)I
ireturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.codeRangeScanNonAsciiCompatible:(Lorg/jcodings/Encoding;[BII)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 enc Lorg/jcodings/Encoding;
0 7 1 bytes [B
0 7 2 p I
0 7 3 len I
MethodParameters:
Name Flags
enc
bytes
p
len
private static int codeRangeScanAsciiCompatible(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
iadd
istore 4
start local 4 1: aload 1
iload 2
iload 4
invokestatic org.jruby.util.StringSupport.searchNonAscii:([BII)I
istore 2
2: iload 2
iconst_m1
if_icmpne 9
bipush 16
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
iload 4
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 5
start local 5 4: iload 5
ifgt 5
bipush 48
ireturn
5: StackMap locals: int
StackMap stack:
iload 2
iload 5
iadd
istore 2
6: iload 2
iload 4
if_icmpge 9
7: aload 1
iload 2
iload 4
invokestatic org.jruby.util.StringSupport.searchNonAscii:([BII)I
istore 2
8: iload 2
iconst_m1
if_icmpne 9
bipush 32
ireturn
end local 5 9: StackMap locals:
StackMap stack:
iload 2
iload 4
if_icmplt 3
10: iload 2
iload 4
if_icmple 11
bipush 48
goto 12
StackMap locals:
StackMap stack:
11: bipush 32
StackMap locals:
StackMap stack: int
12: ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 enc Lorg/jcodings/Encoding;
0 13 1 bytes [B
0 13 2 p I
0 13 3 len I
1 13 4 end I
4 9 5 cl I
MethodParameters:
Name Flags
enc
bytes
p
len
private static int codeRangeScanNonAsciiCompatible(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
iadd
istore 4
start local 4 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
iload 4
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 5
start local 5 3: iload 5
ifgt 4
bipush 48
ireturn
4: StackMap locals: int
StackMap stack:
iload 2
iload 5
iadd
istore 2
end local 5 5: StackMap locals:
StackMap stack:
iload 2
iload 4
if_icmplt 2
6: iload 2
iload 4
if_icmple 7
bipush 48
goto 8
StackMap locals:
StackMap stack:
7: bipush 32
StackMap locals:
StackMap stack: int
8: ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 enc Lorg/jcodings/Encoding;
0 9 1 bytes [B
0 9 2 p I
0 9 3 len I
1 9 4 end I
3 5 5 cl I
MethodParameters:
Name Flags
enc
bytes
p
len
public static int codeRangeScan(org.jcodings.Encoding, org.jruby.util.ByteList);
descriptor: (Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 1
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
invokestatic org.jruby.util.StringSupport.codeRangeScan:(Lorg/jcodings/Encoding;[BII)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 enc Lorg/jcodings/Encoding;
0 1 1 bytes Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
enc
bytes
public static long codeRangeScanRestartable(org.jcodings.Encoding, byte[], int, int, int);
descriptor: (Lorg/jcodings/Encoding;[BIII)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
bipush 48
if_icmpne 1
iload 3
iload 2
isub
iload 4
invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
1: StackMap locals:
StackMap stack:
iload 2
istore 5
start local 5 2: aload 0
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
if_acmpne 6
3: iload 3
iload 2
isub
aload 1
iload 5
iload 3
invokestatic org.jruby.util.StringSupport.searchNonAscii:([BII)I
iconst_m1
if_icmpne 4
iload 4
bipush 32
if_icmpeq 4
bipush 16
goto 5
StackMap locals: org.jcodings.Encoding byte[] int int int int
StackMap stack: int
4: bipush 32
StackMap locals: org.jcodings.Encoding byte[] int int int int
StackMap stack: int int
5: invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 26
7: aload 1
iload 5
iload 3
invokestatic org.jruby.util.StringSupport.searchNonAscii:([BII)I
istore 5
8: iload 5
iconst_m1
if_icmpne 19
iload 3
iload 2
isub
iload 4
bipush 32
if_icmpeq 9
bipush 16
goto 10
StackMap locals:
StackMap stack: int
9: iload 4
StackMap locals: org.jcodings.Encoding byte[] int int int int
StackMap stack: int int
10: invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
11: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 5
iload 3
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 6
start local 6 12: iload 6
ifgt 15
iload 5
iload 2
isub
iload 6
iconst_m1
if_icmpne 13
bipush 48
goto 14
StackMap locals: org.jcodings.Encoding byte[] int int int int int
StackMap stack: int
13: iconst_0
StackMap locals: org.jcodings.Encoding byte[] int int int int int
StackMap stack: int int
14: invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
15: StackMap locals:
StackMap stack:
iload 5
iload 6
iadd
istore 5
16: iload 5
iload 3
if_icmpge 19
17: aload 1
iload 5
iload 3
invokestatic org.jruby.util.StringSupport.searchNonAscii:([BII)I
istore 5
18: iload 5
iconst_m1
if_icmpne 19
iload 3
iload 2
isub
bipush 32
invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
end local 6 19: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmplt 11
20: goto 27
21: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 5
iload 3
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 6
start local 6 22: iload 6
ifgt 25
iload 5
iload 2
isub
iload 6
iconst_m1
if_icmpne 23
bipush 48
goto 24
StackMap locals: org.jcodings.Encoding byte[] int int int int int
StackMap stack: int
23: iconst_0
StackMap locals: org.jcodings.Encoding byte[] int int int int int
StackMap stack: int int
24: invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
25: StackMap locals:
StackMap stack:
iload 5
iload 6
iadd
istore 5
end local 6 26: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmplt 21
27: StackMap locals:
StackMap stack:
iload 5
iload 2
isub
iload 5
iload 3
if_icmple 28
bipush 48
goto 29
StackMap locals:
StackMap stack: int
28: bipush 32
StackMap locals: org.jcodings.Encoding byte[] int int int int
StackMap stack: int int
29: invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
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 30 0 enc Lorg/jcodings/Encoding;
0 30 1 bytes [B
0 30 2 s I
0 30 3 end I
0 30 4 cr I
2 30 5 p I
12 19 6 cl I
22 26 6 cl I
MethodParameters:
Name Flags
enc
bytes
s
end
cr
private static int countUtf8LeadBytes(long);
descriptor: (J)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: lload 0
lload 0
iconst_1
lushr
ldc -1
lxor
lor
lstore 0
1: lload 0
bipush 6
lushr
lstore 0
2: lload 0
ldc 72340172838076673
land
lstore 0
3: lload 0
lload 0
bipush 8
lushr
ladd
lstore 0
4: lload 0
lload 0
bipush 16
lushr
ladd
lstore 0
5: lload 0
lload 0
bipush 32
lushr
ladd
lstore 0
6: lload 0
ldc 15
land
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 d J
MethodParameters:
Name Flags
d
public static int utf8Length(byte[], int, int);
descriptor: ([BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: getstatic org.jruby.util.StringSupport.ARRAY_BYTE_BASE_OFFSET:I
ifle 15
2: iload 2
iload 1
isub
bipush 16
if_icmple 15
3: bipush -8
iload 1
bipush 7
iadd
iand
istore 4
start local 4 4: goto 6
5: StackMap locals: int int
StackMap stack:
aload 0
iload 1
iinc 1 1
baload
sipush 192
iand
sipush 128
if_icmpeq 6
iinc 3 1
6: StackMap locals:
StackMap stack:
iload 1
iload 4
if_icmplt 5
7: getstatic org.jruby.util.unsafe.UnsafeHolder.U:Lsun/misc/Unsafe;
astore 5
start local 5 8: bipush -8
iload 2
iand
istore 6
start local 6 9: goto 12
10: StackMap locals: sun.misc.Unsafe int
StackMap stack:
iload 3
aload 5
aload 0
getstatic org.jruby.util.StringSupport.ARRAY_BYTE_BASE_OFFSET:I
iload 1
iadd
i2l
invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
invokestatic org.jruby.util.StringSupport.countUtf8LeadBytes:(J)I
iadd
istore 3
11: iinc 1 8
12: StackMap locals:
StackMap stack:
iload 1
iload 6
if_icmplt 10
end local 6 end local 5 end local 4 13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
iload 1
iinc 1 1
baload
sipush 192
iand
sipush 128
if_icmpeq 15
iinc 3 1
15: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmplt 14
16: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 bytes [B
0 17 1 p I
0 17 2 end I
1 17 3 len I
4 13 4 ep I
8 13 5 unsafe Lsun/misc/Unsafe;
9 13 6 eend I
MethodParameters:
Name Flags
bytes
p
end
public static int utf8Length(org.jruby.util.ByteList);
descriptor: (Lorg/jruby/util/ByteList;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
invokestatic org.jruby.util.StringSupport.utf8Length:([BII)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bytes Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
bytes
public static int strLength(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)I
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
iload 2
iload 3
iconst_0
invokestatic org.jruby.util.StringSupport.strLength:(Lorg/jcodings/Encoding;[BIII)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 enc Lorg/jcodings/Encoding;
0 1 1 bytes [B
0 1 2 p I
0 1 3 end I
MethodParameters:
Name Flags
enc
bytes
p
end
public static int strLength(org.jcodings.Encoding, byte[], int, int, int);
descriptor: (Lorg/jcodings/Encoding;[BIII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.jcodings.Encoding.isFixedWidth:()Z
ifeq 2
1: iload 3
iload 2
isub
aload 0
invokevirtual org.jcodings.Encoding.minLength:()I
iadd
iconst_1
isub
aload 0
invokevirtual org.jcodings.Encoding.minLength:()I
idiv
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 24
3: iconst_0
istore 5
start local 5 4: iload 4
bipush 16
if_icmpeq 13
iload 4
bipush 32
if_icmpne 22
5: goto 13
6: StackMap locals: int
StackMap stack:
aload 1
iload 2
baload
invokestatic org.jcodings.Encoding.isAscii:(B)Z
ifeq 11
7: aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.searchNonAscii:([BII)I
istore 6
start local 6 8: iload 6
iconst_m1
if_icmpne 9
iload 5
iload 3
iload 2
isub
iadd
ireturn
9: StackMap locals: int
StackMap stack:
iload 5
iload 6
iload 2
isub
iadd
istore 5
10: iload 6
istore 2
end local 6 11: StackMap locals:
StackMap stack:
iload 2
aload 1
iload 2
iload 3
aload 0
invokestatic org.jruby.util.StringSupport.encFastMBCLen:([BIILorg/jcodings/Encoding;)I
iadd
istore 2
12: iinc 5 1
13: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmplt 6
14: goto 23
15: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
invokestatic org.jcodings.Encoding.isAscii:(B)Z
ifeq 20
16: aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.searchNonAscii:([BII)I
istore 6
start local 6 17: iload 6
iconst_m1
if_icmpne 18
iload 5
iload 3
iload 2
isub
iadd
ireturn
18: StackMap locals: int
StackMap stack:
iload 5
iload 6
iload 2
isub
iadd
istore 5
19: iload 6
istore 2
end local 6 20: StackMap locals:
StackMap stack:
iload 2
aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
iadd
istore 2
21: iinc 5 1
22: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmplt 15
23: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 5 24: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 25: goto 28
26: StackMap locals: int
StackMap stack:
iload 2
aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
iadd
istore 2
27: iinc 5 1
StackMap locals:
StackMap stack:
28: iload 2
iload 3
if_icmplt 26
29: 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 30 0 enc Lorg/jcodings/Encoding;
0 30 1 bytes [B
0 30 2 p I
0 30 3 e I
0 30 4 cr I
4 24 5 c I
25 30 5 c I
8 11 6 q I
17 20 6 q I
MethodParameters:
Name Flags
enc
bytes
p
e
cr
public static int strLength(org.jruby.util.ByteList);
descriptor: (Lorg/jruby/util/ByteList;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
aload 0
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
invokestatic org.jruby.util.StringSupport.strLength:(Lorg/jcodings/Encoding;[BII)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bytes Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
bytes
public static long strLengthWithCodeRange(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)J
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: aload 0
invokevirtual org.jcodings.Encoding.isFixedWidth:()Z
ifeq 2
1: iload 3
iload 2
isub
aload 0
invokevirtual org.jcodings.Encoding.minLength:()I
iadd
iconst_1
isub
aload 0
invokevirtual org.jcodings.Encoding.minLength:()I
idiv
i2l
lreturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 4
3: aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.strLengthWithCodeRangeAsciiCompatible:(Lorg/jcodings/Encoding;[BII)J
lreturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.strLengthWithCodeRangeNonAsciiCompatible:(Lorg/jcodings/Encoding;[BII)J
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 enc Lorg/jcodings/Encoding;
0 5 1 bytes [B
0 5 2 p I
0 5 3 end I
MethodParameters:
Name Flags
enc
bytes
p
end
public static long strLengthWithCodeRangeAsciiCompatible(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 18
3: StackMap locals: int int
StackMap stack:
aload 1
iload 2
baload
invokestatic org.jcodings.Encoding.isAscii:(B)Z
ifeq 10
4: aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.searchNonAscii:([BII)I
istore 6
start local 6 5: iload 6
iconst_m1
if_icmpne 8
iload 5
iload 3
iload 2
isub
iadd
iload 4
ifne 6
bipush 16
goto 7
StackMap locals: org.jcodings.Encoding byte[] int int int int int
StackMap stack: int
6: iload 4
StackMap locals: org.jcodings.Encoding byte[] int int int int int
StackMap stack: int int
7: invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
8: StackMap locals:
StackMap stack:
iload 5
iload 6
iload 2
isub
iadd
istore 5
9: iload 6
istore 2
end local 6 10: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 6
start local 6 11: iload 6
ifle 15
12: iload 4
bipush 32
ior
istore 4
13: iload 2
iload 6
iadd
istore 2
14: goto 17
15: StackMap locals: int
StackMap stack:
bipush 48
istore 4
16: iinc 2 1
17: StackMap locals:
StackMap stack:
iinc 5 1
end local 6 18: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmplt 3
19: iload 5
iload 4
ifne 20
bipush 16
goto 21
StackMap locals:
StackMap stack: int
20: iload 4
StackMap locals: org.jcodings.Encoding byte[] int int int int
StackMap stack: int int
21: invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
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 22 0 enc Lorg/jcodings/Encoding;
0 22 1 bytes [B
0 22 2 p I
0 22 3 end I
1 22 4 cr I
2 22 5 c I
5 10 6 q I
11 18 6 cl I
MethodParameters:
Name Flags
enc
bytes
p
end
public static long strLengthWithCodeRangeNonAsciiCompatible(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 11
3: StackMap locals: int int
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 6
start local 6 4: iload 6
ifle 8
5: iload 4
bipush 32
ior
istore 4
6: iload 2
iload 6
iadd
istore 2
7: goto 10
8: StackMap locals: int
StackMap stack:
bipush 48
istore 4
9: iinc 2 1
end local 6 10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 2
iload 3
if_icmplt 3
12: iload 5
iload 4
ifne 13
bipush 16
goto 14
StackMap locals:
StackMap stack: int
13: iload 4
StackMap locals: org.jcodings.Encoding byte[] int int int int
StackMap stack: int int
14: invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
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 15 0 enc Lorg/jcodings/Encoding;
0 15 1 bytes [B
0 15 2 p I
0 15 3 end I
1 15 4 cr I
2 15 5 c I
4 10 6 cl I
MethodParameters:
Name Flags
enc
bytes
p
end
public static long strLengthWithCodeRange(org.jruby.util.ByteList);
descriptor: (Lorg/jruby/util/ByteList;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
aload 0
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
invokestatic org.jruby.util.StringSupport.strLengthWithCodeRange:(Lorg/jcodings/Encoding;[BII)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bytes Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
bytes
public static long strLengthWithCodeRange(org.jruby.util.ByteList, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
invokestatic org.jruby.util.StringSupport.strLengthWithCodeRange:(Lorg/jcodings/Encoding;[BII)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bytes Lorg/jruby/util/ByteList;
0 1 1 enc Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
bytes
enc
public static long pack(int, int);
descriptor: (II)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 1
i2l
bipush 31
lshl
iload 0
i2l
lor
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 result I
0 1 1 arg I
MethodParameters:
Name Flags
result
arg
public static int unpackResult(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
l2i
ldc 2147483647
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 len J
MethodParameters:
Name Flags
len
public static int unpackArg(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: lload 0
bipush 31
lushr
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cr J
MethodParameters:
Name Flags
cr
public static int codePoint(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
if_icmplt 1
new java.lang.IllegalArgumentException
dup
ldc "empty string"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 4
start local 4 2: iload 4
ifgt 3
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "invalid byte sequence in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 enc Lorg/jcodings/Encoding;
0 4 1 bytes [B
0 4 2 p I
0 4 3 end I
2 4 4 cl I
MethodParameters:
Name Flags
enc
bytes
p
end
public static int codePoint(org.jruby.Ruby, org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jruby/Ruby;Lorg/jcodings/Encoding;[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
iload 3
iload 4
invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jcodings/Encoding;[BII)I
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 5
start local 5 3: aload 0
aload 5
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
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 4 0 runtime Lorg/jruby/Ruby;
0 4 1 enc Lorg/jcodings/Encoding;
0 4 2 bytes [B
0 4 3 p I
0 4 4 end I
3 4 5 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
runtime
enc
bytes
p
end
public static int codePoint(org.jruby.Ruby, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.jruby.util.io.EncodingUtils.getEncoding:(Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
1: aload 1
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 1
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 1
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
2: invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;[BII)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 runtime Lorg/jruby/Ruby;
0 3 1 value Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
runtime final
value final
public static int codeLength(org.jcodings.Encoding, int);
descriptor: (Lorg/jcodings/Encoding;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual org.jcodings.Encoding.codeToMbcLength:(I)I
istore 2
start local 2 1: iload 2
invokestatic org.jruby.util.StringSupport.checkCodepointError:(I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 enc Lorg/jcodings/Encoding;
0 2 1 c I
1 2 2 i I
MethodParameters:
Name Flags
enc
c
public static int checkCodepointError(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
ifge 2
1: new org.jcodings.exception.EncodingException
dup
iload 0
invokestatic org.jcodings.exception.EncodingError.fromCode:(I)Lorg/jcodings/exception/EncodingError;
invokespecial org.jcodings.exception.EncodingException.<init>:(Lorg/jcodings/exception/EncodingError;)V
athrow
2: StackMap locals:
StackMap stack:
iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 i I
MethodParameters:
Name Flags
i
public static long getAscii(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)J
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
iload 2
iload 3
iconst_0
invokestatic org.jruby.util.StringSupport.getAscii:(Lorg/jcodings/Encoding;[BIII)J
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 enc Lorg/jcodings/Encoding;
0 1 1 bytes [B
0 1 2 p I
0 1 3 end I
MethodParameters:
Name Flags
enc
bytes
p
end
public static long getAscii(org.jcodings.Encoding, byte[], int, int, int);
descriptor: (Lorg/jcodings/Encoding;[BIII)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
iload 3
if_icmplt 1
iconst_m1
iload 4
invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 7
2: aload 1
iload 2
baload
sipush 255
iand
istore 5
start local 5 3: iload 5
invokestatic org.jcodings.Encoding.isAscii:(I)Z
ifne 4
iconst_m1
iload 4
invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
4: StackMap locals: int
StackMap stack:
iload 5
iload 4
ifne 5
iconst_0
goto 6
StackMap locals:
StackMap stack: int
5: iconst_1
StackMap locals: org.jcodings.Encoding byte[] int int int int
StackMap stack: int int
6: invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
end local 5 7: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 5
start local 5 8: iload 5
ifgt 9
iconst_m1
iload 4
invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
9: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
istore 6
start local 6 10: iload 6
invokestatic org.jcodings.Encoding.isAscii:(I)Z
ifne 11
iconst_m1
iload 4
invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
11: StackMap locals: int
StackMap stack:
iload 6
iload 4
ifne 12
iconst_0
goto 13
StackMap locals:
StackMap stack: int
12: iload 5
StackMap locals: org.jcodings.Encoding byte[] int int int int int
StackMap stack: int int
13: invokestatic org.jruby.util.StringSupport.pack:(II)J
lreturn
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 enc Lorg/jcodings/Encoding;
0 14 1 bytes [B
0 14 2 p I
0 14 3 end I
0 14 4 len I
3 7 5 c I
8 14 5 cl I
10 14 6 c I
MethodParameters:
Name Flags
enc
bytes
p
end
len
public static int preciseCodePoint(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)I
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 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 4
start local 4 1: iload 4
ifle 2
aload 0
aload 1
iload 2
iload 3
invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
ireturn
2: StackMap locals: int
StackMap stack:
iconst_m1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 enc Lorg/jcodings/Encoding;
0 3 1 bytes [B
0 3 2 p I
0 3 3 end I
1 3 4 l I
MethodParameters:
Name Flags
enc
bytes
p
end
public static int utf8Nth(byte[], int, int, int);
descriptor: ([BIII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: goto 5
1: StackMap locals:
StackMap stack:
aload 0
iload 1
baload
sipush 192
iand
sipush 128
if_icmpeq 4
2: iload 3
ifne 3
goto 6
3: StackMap locals:
StackMap stack:
iinc 3 -1
4: StackMap locals:
StackMap stack:
iinc 1 1
5: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmplt 1
6: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 bytes [B
0 7 1 p I
0 7 2 e I
0 7 3 nth I
MethodParameters:
Name Flags
bytes
p
e
nth
public static int nth(org.jcodings.Encoding, byte[], int, int, int);
descriptor: (Lorg/jcodings/Encoding;[BIII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, 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
iload 2
iload 3
iload 4
aload 0
invokevirtual org.jcodings.Encoding.isSingleByte:()Z
invokestatic org.jruby.util.StringSupport.nth:(Lorg/jcodings/Encoding;[BIIIZ)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 enc Lorg/jcodings/Encoding;
0 1 1 bytes [B
0 1 2 p I
0 1 3 end I
0 1 4 n I
MethodParameters:
Name Flags
enc
bytes
p
end
n
public static int nth(org.jcodings.Encoding, byte[], int, int, int, boolean);
descriptor: (Lorg/jcodings/Encoding;[BIIIZ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 5
ifeq 3
1: iload 2
iload 4
iadd
istore 2
2: goto 10
StackMap locals:
StackMap stack:
3: aload 0
invokevirtual org.jcodings.Encoding.isFixedWidth:()Z
ifeq 6
4: iload 2
iload 4
aload 0
invokevirtual org.jcodings.Encoding.maxLength:()I
imul
iadd
istore 2
5: goto 10
StackMap locals:
StackMap stack:
6: aload 0
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 9
7: aload 0
aload 1
iload 2
iload 3
iload 4
invokestatic org.jruby.util.StringSupport.nthAsciiCompatible:(Lorg/jcodings/Encoding;[BIII)I
istore 2
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
iload 4
invokestatic org.jruby.util.StringSupport.nthNonAsciiCompatible:(Lorg/jcodings/Encoding;[BIII)I
istore 2
10: StackMap locals:
StackMap stack:
iload 2
ifge 11
iconst_m1
ireturn
11: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmple 12
iload 3
goto 13
StackMap locals:
StackMap stack:
12: iload 2
StackMap locals:
StackMap stack: int
13: 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 14 0 enc Lorg/jcodings/Encoding;
0 14 1 bytes [B
0 14 2 p I
0 14 3 end I
0 14 4 n I
0 14 5 singlebyte Z
MethodParameters:
Name Flags
enc
bytes
p
end
n
singlebyte
private static int nthAsciiCompatible(org.jcodings.Encoding, byte[], int, int, int);
descriptor: (Lorg/jcodings/Encoding;[BIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: goto 11
1: StackMap locals:
StackMap stack:
iload 2
iload 4
iadd
istore 5
start local 5 2: iload 3
iload 5
if_icmpge 3
iload 3
ireturn
3: StackMap locals: int
StackMap stack:
aload 1
iload 2
baload
invokestatic org.jcodings.Encoding.isAscii:(B)Z
ifeq 8
4: aload 1
iload 2
iload 5
invokestatic org.jruby.util.StringSupport.searchNonAscii:([BII)I
istore 6
start local 6 5: iload 6
iconst_m1
if_icmpne 6
iload 5
ireturn
6: StackMap locals: int
StackMap stack:
iload 4
iload 6
iload 2
isub
isub
istore 4
7: iload 6
istore 2
end local 6 8: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
istore 6
start local 6 9: iload 2
iload 6
iadd
istore 2
10: iinc 4 -1
end local 6 end local 5 11: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmpge 12
iload 4
ifgt 1
12: StackMap locals:
StackMap stack:
iload 4
ifeq 13
iload 3
goto 14
StackMap locals:
StackMap stack:
13: iload 2
StackMap locals:
StackMap stack: int
14: ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 enc Lorg/jcodings/Encoding;
0 15 1 bytes [B
0 15 2 p I
0 15 3 end I
0 15 4 n I
2 11 5 end2 I
5 8 6 p2 I
9 11 6 cl I
MethodParameters:
Name Flags
enc
bytes
p
end
n
private static int nthNonAsciiCompatible(org.jcodings.Encoding, byte[], int, int, int);
descriptor: (Lorg/jcodings/Encoding;[BIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: goto 2
1: StackMap locals:
StackMap stack:
iload 2
aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
iadd
istore 2
2: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmpge 3
iload 4
iinc 4 -1
ifne 1
3: 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 4 0 enc Lorg/jcodings/Encoding;
0 4 1 bytes [B
0 4 2 p I
0 4 3 end I
0 4 4 n I
MethodParameters:
Name Flags
enc
bytes
p
end
n
public static int utf8Offset(byte[], int, int, int);
descriptor: ([BIII)I
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 0
iload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.utf8Nth:([BIII)I
istore 4
start local 4 1: iload 4
iconst_m1
if_icmpne 2
iload 2
iload 1
isub
goto 3
StackMap locals: int
StackMap stack:
2: iload 4
iload 1
isub
StackMap locals:
StackMap stack: int
3: ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 bytes [B
0 4 1 p I
0 4 2 end I
0 4 3 n I
1 4 4 pp I
MethodParameters:
Name Flags
bytes
p
end
n
public static int offset(org.jcodings.Encoding, byte[], int, int, int);
descriptor: (Lorg/jcodings/Encoding;[BIII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
iload 3
iload 4
invokestatic org.jruby.util.StringSupport.nth:(Lorg/jcodings/Encoding;[BIII)I
istore 5
start local 5 1: iload 5
iconst_m1
if_icmpne 2
iload 3
iload 2
isub
goto 3
StackMap locals: int
StackMap stack:
2: iload 5
iload 2
isub
StackMap locals:
StackMap stack: int
3: 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 4 0 enc Lorg/jcodings/Encoding;
0 4 1 bytes [B
0 4 2 p I
0 4 3 end I
0 4 4 n I
1 4 5 pp I
MethodParameters:
Name Flags
enc
bytes
p
end
n
public static int offset(org.jcodings.Encoding, byte[], int, int, int, boolean);
descriptor: (Lorg/jcodings/Encoding;[BIIIZ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, 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
aload 1
iload 2
iload 3
iload 4
iload 5
invokestatic org.jruby.util.StringSupport.nth:(Lorg/jcodings/Encoding;[BIIIZ)I
istore 6
start local 6 1: iload 6
iconst_m1
if_icmpne 2
iload 3
iload 2
isub
goto 3
StackMap locals: int
StackMap stack:
2: iload 6
iload 2
isub
StackMap locals:
StackMap stack: int
3: 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 4 0 enc Lorg/jcodings/Encoding;
0 4 1 bytes [B
0 4 2 p I
0 4 3 end I
0 4 4 n I
0 4 5 singlebyte Z
1 4 6 pp I
MethodParameters:
Name Flags
enc
bytes
p
end
n
singlebyte
public static int offset(org.jruby.RubyString, int);
descriptor: (Lorg/jruby/RubyString;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 2
start local 2 1: aload 0
invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
aload 2
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 2
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 2
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 2
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
iload 1
invokestatic org.jruby.util.StringSupport.offset:(Lorg/jcodings/Encoding;[BIII)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 str Lorg/jruby/RubyString;
0 2 1 pos I
1 2 2 value Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
str
pos
public static int toLower(org.jcodings.Encoding, int);
descriptor: (Lorg/jcodings/Encoding;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
invokestatic org.jcodings.Encoding.isAscii:(I)Z
ifeq 1
getstatic org.jcodings.ascii.AsciiTables.ToLowerCaseTable:[B
iload 1
baload
goto 2
StackMap locals:
StackMap stack:
1: iload 1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 enc Lorg/jcodings/Encoding;
0 3 1 c I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
enc
c
public static int toUpper(org.jcodings.Encoding, int);
descriptor: (Lorg/jcodings/Encoding;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
invokestatic org.jcodings.Encoding.isAscii:(I)Z
ifeq 1
getstatic org.jcodings.ascii.AsciiTables.ToUpperCaseTable:[B
iload 1
baload
goto 2
StackMap locals:
StackMap stack:
1: iload 1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 enc Lorg/jcodings/Encoding;
0 3 1 c I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
enc
c
public static int caseCmp(byte[], int, byte[], int, int);
descriptor: ([BI[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_m1
istore 5
start local 5 1: StackMap locals: int
StackMap stack:
iinc 5 1
iload 5
iload 4
if_icmpge 2
aload 0
iload 1
iload 5
iadd
baload
aload 2
iload 3
iload 5
iadd
baload
if_icmpeq 1
2: StackMap locals:
StackMap stack:
iload 5
iload 4
if_icmpge 5
aload 0
iload 1
iload 5
iadd
baload
sipush 255
iand
aload 2
iload 3
iload 5
iadd
baload
sipush 255
iand
if_icmple 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_m1
StackMap locals:
StackMap stack: int
4: ireturn
5: StackMap locals:
StackMap stack:
iconst_0
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 6 0 bytes1 [B
0 6 1 p1 I
0 6 2 bytes2 [B
0 6 3 p2 I
0 6 4 len I
1 6 5 i I
MethodParameters:
Name Flags
bytes1
p1
bytes2
p2
len
public static int scanHex(byte[], int, int);
descriptor: ([BII)I
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
iload 1
iload 2
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
invokestatic org.jruby.util.StringSupport.scanHex:([BIILorg/jcodings/Encoding;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bytes [B
0 1 1 p I
0 1 2 len I
MethodParameters:
Name Flags
bytes
p
len
public static int scanHex(byte[], int, int, org.jcodings.Encoding);
descriptor: ([BIILorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 3
start local 5 2: StackMap locals: int int
StackMap stack:
iload 4
iconst_4
ishl
aload 3
iload 5
invokevirtual org.jcodings.Encoding.xdigitVal:(I)I
iadd
istore 4
end local 5 3: StackMap locals:
StackMap stack:
iload 2
iinc 2 -1
ifle 5
aload 3
aload 0
iload 1
iinc 1 1
baload
sipush 255
iand
dup
istore 5
start local 5 4: invokevirtual org.jcodings.Encoding.isXDigit:(I)Z
ifne 2
end local 5 5: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 bytes [B
0 6 1 p I
0 6 2 len I
0 6 3 enc Lorg/jcodings/Encoding;
1 6 4 v I
2 3 5 c I
4 5 5 c I
MethodParameters:
Name Flags
bytes
p
len
enc
public static int hexLength(byte[], int, int);
descriptor: ([BII)I
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
iload 1
iload 2
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
invokestatic org.jruby.util.StringSupport.hexLength:([BIILorg/jcodings/Encoding;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bytes [B
0 1 1 p I
0 1 2 len I
MethodParameters:
Name Flags
bytes
p
len
public static int hexLength(byte[], int, int, org.jcodings.Encoding);
descriptor: ([BIILorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 3
StackMap locals: int
StackMap stack:
2: iinc 4 1
StackMap locals:
StackMap stack:
3: iload 2
iinc 2 -1
ifle 4
aload 3
aload 0
iload 1
iinc 1 1
baload
sipush 255
iand
invokevirtual org.jcodings.Encoding.isXDigit:(I)Z
ifne 2
4: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 bytes [B
0 5 1 p I
0 5 2 len I
0 5 3 enc Lorg/jcodings/Encoding;
1 5 4 hlen I
MethodParameters:
Name Flags
bytes
p
len
enc
public static int scanOct(byte[], int, int);
descriptor: ([BII)I
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
iload 1
iload 2
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
invokestatic org.jruby.util.StringSupport.scanOct:([BIILorg/jcodings/Encoding;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bytes [B
0 1 1 p I
0 1 2 len I
MethodParameters:
Name Flags
bytes
p
len
public static int scanOct(byte[], int, int, org.jcodings.Encoding);
descriptor: ([BIILorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 3
start local 5 2: StackMap locals: int int
StackMap stack:
iload 4
iconst_3
ishl
iload 5
invokestatic org.jcodings.Encoding.digitVal:(I)I
iadd
istore 4
end local 5 3: StackMap locals:
StackMap stack:
iload 2
iinc 2 -1
ifle 5
aload 3
aload 0
iload 1
iinc 1 1
baload
sipush 255
iand
dup
istore 5
start local 5 4: invokevirtual org.jcodings.Encoding.isDigit:(I)Z
ifeq 5
iload 5
bipush 56
if_icmplt 2
end local 5 5: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 bytes [B
0 6 1 p I
0 6 2 len I
0 6 3 enc Lorg/jcodings/Encoding;
1 6 4 v I
2 3 5 c I
4 5 5 c I
MethodParameters:
Name Flags
bytes
p
len
enc
public static int octLength(byte[], int, int);
descriptor: ([BII)I
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
iload 1
iload 2
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
invokestatic org.jruby.util.StringSupport.octLength:([BIILorg/jcodings/Encoding;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bytes [B
0 1 1 p I
0 1 2 len I
MethodParameters:
Name Flags
bytes
p
len
public static int octLength(byte[], int, int, org.jcodings.Encoding);
descriptor: ([BIILorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 3
start local 5 StackMap locals: int int
StackMap stack:
2: iinc 4 1
end local 5 StackMap locals:
StackMap stack:
3: iload 2
iinc 2 -1
ifle 5
aload 3
aload 0
iload 1
iinc 1 1
baload
sipush 255
iand
dup
istore 5
start local 5 4: invokevirtual org.jcodings.Encoding.isDigit:(I)Z
ifeq 5
iload 5
bipush 56
if_icmplt 2
end local 5 5: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 bytes [B
0 6 1 p I
0 6 2 len I
0 6 3 enc Lorg/jcodings/Encoding;
1 6 4 olen I
2 3 5 c I
4 5 5 c I
MethodParameters:
Name Flags
bytes
p
len
enc
public static final void checkStringSafety(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
astore 2
start local 2 1: aload 2
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 3
start local 3 2: aload 3
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 4
start local 4 3: aload 3
invokevirtual org.jruby.util.ByteList.length:()I
istore 5
start local 5 4: aload 3
invokevirtual org.jruby.util.ByteList.begin:()I
istore 6
start local 6 5: goto 9
6: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jruby.util.ByteList byte[] int int
StackMap stack:
aload 4
iload 6
baload
ifne 8
7: aload 0
ldc "string contains null byte"
invokevirtual org.jruby.Ruby.newSecurityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
8: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
iload 5
if_icmplt 6
end local 6 10: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 runtime Lorg/jruby/Ruby;
0 11 1 value Lorg/jruby/runtime/builtin/IRubyObject;
1 11 2 s Lorg/jruby/RubyString;
2 11 3 bl Lorg/jruby/util/ByteList;
3 11 4 array [B
4 11 5 end I
5 10 6 i I
MethodParameters:
Name Flags
runtime
value
public static java.lang.String escapedCharFormat(int, boolean);
descriptor: (IZ)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifeq 9
1: iload 0
i2l
ldc 4294967295
land
ldc 127
lcmp
ifge 4
iload 0
invokestatic org.jcodings.Encoding.isAscii:(I)Z
ifeq 4
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
iload 0
invokevirtual org.jcodings.specific.ASCIIEncoding.isPrint:(I)Z
ifeq 4
2: ldc "%c"
astore 2
start local 2 3: goto 13
end local 2 StackMap locals:
StackMap stack:
4: iload 0
ldc 65536
if_icmpge 7
5: ldc "\\u%04X"
astore 2
start local 2 6: goto 13
end local 2 7: StackMap locals:
StackMap stack:
ldc "\\u{%X}"
astore 2
start local 2 8: goto 13
end local 2 9: StackMap locals:
StackMap stack:
iload 0
i2l
ldc 4294967295
land
ldc 256
lcmp
ifge 12
10: ldc "\\x%02X"
astore 2
start local 2 11: goto 13
end local 2 12: StackMap locals:
StackMap stack:
ldc "\\x{%X}"
astore 2
start local 2 13: StackMap locals: java.lang.String
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 c I
0 14 1 isUnicode Z
3 4 2 format Ljava/lang/String;
6 7 2 format Ljava/lang/String;
8 9 2 format Ljava/lang/String;
11 12 2 format Ljava/lang/String;
13 14 2 format Ljava/lang/String;
MethodParameters:
Name Flags
c
isUnicode
public static boolean isIncompleteChar(int);
descriptor: (I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_m1
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 b I
MethodParameters:
Name Flags
b
public static int bytesToFixBrokenTrailingCharacter(org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/util/ByteList;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
aload 0
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
iload 1
invokestatic org.jruby.util.StringSupport.bytesToFixBrokenTrailingCharacter:([BIILorg/jcodings/Encoding;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 val Lorg/jruby/util/ByteList;
0 1 1 usingLength I
MethodParameters:
Name Flags
val
usingLength
public static int bytesToFixBrokenTrailingCharacter(byte[], int, int, org.jcodings.Encoding, int);
descriptor: ([BIILorg/jcodings/Encoding;I)I
flags: (0x0009) ACC_PUBLIC, 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: iload 2
ifle 12
1: aload 3
2: aload 0
3: iload 1
4: iload 1
iload 4
iadd
iconst_1
isub
5: iload 1
iload 4
iadd
6: invokevirtual org.jcodings.Encoding.leftAdjustCharHead:([BIII)I
istore 5
start local 5 7: iload 5
iload 1
isub
istore 5
8: aload 0
iload 1
iload 5
iadd
baload
sipush 255
iand
i2b
istore 6
start local 6 9: aload 3
iload 6
invokevirtual org.jcodings.Encoding.length:(B)I
istore 7
start local 7 10: iload 7
iload 4
iload 5
isub
isub
istore 7
11: iload 7
ireturn
end local 7 end local 6 end local 5 12: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 bytes [B
0 13 1 begin I
0 13 2 byteSize I
0 13 3 encoding Lorg/jcodings/Encoding;
0 13 4 usingLength I
7 12 5 charHead I
9 12 6 byteHead B
10 12 7 extra I
MethodParameters:
Name Flags
bytes
begin
byteSize
encoding
usingLength
public static int memchr(byte[], int, int, int);
descriptor: ([BIII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
istore 4
start local 4 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
iload 4
baload
iload 2
if_icmpne 3
iload 4
ireturn
3: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
4: iload 4
iload 1
iload 3
iadd
if_icmplt 2
end local 4 5: iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 ptr [B
0 6 1 start I
0 6 2 find I
0 6 3 len I
1 5 4 i I
MethodParameters:
Name Flags
ptr
start
find final
len
public static org.jruby.RubyString checkEmbeddedNulls(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
astore 2
start local 2 1: aload 2
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 3
start local 3 2: aload 3
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
astore 4
start local 4 3: aload 3
invokevirtual org.jruby.util.ByteList.begin:()I
istore 5
start local 5 4: aload 3
invokevirtual org.jruby.util.ByteList.length:()I
istore 6
start local 6 5: aload 2
invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
astore 7
start local 7 6: aload 7
invokevirtual org.jcodings.Encoding.minLength:()I
istore 8
start local 8 7: iload 8
iconst_1
if_icmple 11
8: aload 4
iload 5
iload 6
iload 8
aload 7
invokestatic org.jruby.util.StringSupport.strNullChar:([BIIILorg/jcodings/Encoding;)I
iconst_m1
if_icmpeq 10
9: aload 0
ldc "string contains null char"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
10: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jruby.util.ByteList byte[] int int org.jcodings.Encoding int
StackMap stack:
aload 2
aload 4
iload 5
iload 6
iload 8
invokestatic org.jruby.util.StringSupport.strFillTerm:(Lorg/jruby/RubyString;[BIII)Lorg/jruby/RubyString;
areturn
11: StackMap locals:
StackMap stack:
aload 4
iload 5
iconst_0
iload 6
invokestatic org.jruby.util.StringSupport.memchr:([BIII)I
iconst_m1
if_icmpeq 13
12: aload 0
ldc "string contains null byte"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
13: StackMap locals:
StackMap stack:
aload 2
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 runtime Lorg/jruby/Ruby;
0 14 1 ptr Lorg/jruby/runtime/builtin/IRubyObject;
1 14 2 s Lorg/jruby/RubyString;
2 14 3 sByteList Lorg/jruby/util/ByteList;
3 14 4 sBytes [B
4 14 5 beg I
5 14 6 len I
6 14 7 enc Lorg/jcodings/Encoding;
7 14 8 minlen I
MethodParameters:
Name Flags
runtime
ptr
private static int strNullChar(byte[], int, int, int, org.jcodings.Encoding);
descriptor: ([BIIILorg/jcodings/Encoding;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 1
iload 2
iadd
istore 5
start local 5 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 3
invokestatic org.jruby.util.StringSupport.zeroFilled:([BII)Z
ifeq 3
iload 1
ireturn
3: StackMap locals:
StackMap stack:
iload 1
aload 4
aload 0
iload 1
iload 5
invokevirtual org.jcodings.Encoding.length:([BII)I
iadd
istore 1
StackMap locals:
StackMap stack:
4: iload 1
iload 3
iadd
iload 5
if_icmple 2
5: iconst_m1
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 6 0 sBytes [B
0 6 1 s I
0 6 2 len I
0 6 3 minlen I
0 6 4 enc Lorg/jcodings/Encoding;
1 6 5 e I
MethodParameters:
Name Flags
sBytes
s
len
minlen final
enc
private static boolean zeroFilled(byte[], int, int);
descriptor: ([BII)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 3
1: StackMap locals:
StackMap stack:
aload 0
iload 1
iinc 1 1
baload
ifeq 2
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
3: iload 2
ifgt 1
4: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 sBytes [B
0 5 1 s I
0 5 2 n I
MethodParameters:
Name Flags
sBytes
s
n
private static org.jruby.RubyString strFillTerm(org.jruby.RubyString, byte[], int, int, int);
descriptor: (Lorg/jruby/RubyString;[BIII)Lorg/jruby/RubyString;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
arraylength
iload 2
isub
istore 5
start local 5 1: iload 5
iload 3
iload 4
iadd
if_icmpge 6
2: aload 0
iload 3
iload 4
iadd
invokevirtual org.jruby.RubyString.makeIndependent:(I)Lorg/jruby/RubyString;
astore 0
3: aload 0
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
astore 1
4: aload 0
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.begin:()I
istore 2
5: goto 11
6: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.jruby.RubyString.independent:()Z
ifne 11
7: aload 1
iload 2
iload 3
iadd
iload 4
invokestatic org.jruby.util.StringSupport.zeroFilled:([BII)Z
ifne 11
8: aload 0
iload 3
iload 4
iadd
invokevirtual org.jruby.RubyString.makeIndependent:(I)Lorg/jruby/RubyString;
astore 0
9: aload 0
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
astore 1
10: aload 0
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.begin:()I
istore 2
11: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 3
iload 4
invokestatic org.jruby.util.StringSupport.TERM_FILL:([BIII)V
12: aload 0
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 str Lorg/jruby/RubyString;
0 13 1 sBytes [B
0 13 2 beg I
0 13 3 len I
0 13 4 termlen I
1 13 5 capa I
MethodParameters:
Name Flags
str
sBytes
beg
len
termlen
private static void TERM_FILL(byte[], int, int, int);
descriptor: ([BIII)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 1
iload 2
iadd
istore 4
start local 4 1: aload 0
iload 4
iload 4
iload 3
iadd
iconst_0
invokestatic java.util.Arrays.fill:([BIIB)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ptr [B
0 3 1 beg I
0 3 2 len I
0 3 3 termlen I
1 3 4 p I
MethodParameters:
Name Flags
ptr
beg final
len final
termlen final
public static int positionEndForScan(org.jruby.util.ByteList, org.joni.Matcher, org.jcodings.Encoding, int, int);
descriptor: (Lorg/jruby/util/ByteList;Lorg/joni/Matcher;Lorg/jcodings/Encoding;II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual org.joni.Matcher.getEnd:()I
istore 5
start local 5 1: aload 1
invokevirtual org.joni.Matcher.getBegin:()I
iload 5
if_icmpne 5
2: aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iload 5
if_icmple 4
3: iload 5
aload 2
aload 0
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iload 3
iload 5
iadd
iload 4
invokevirtual org.jcodings.Encoding.length:([BII)I
iadd
ireturn
4: StackMap locals: int
StackMap stack:
iload 5
iconst_1
iadd
ireturn
5: 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 6 0 value Lorg/jruby/util/ByteList;
0 6 1 matcher Lorg/joni/Matcher;
0 6 2 enc Lorg/jcodings/Encoding;
0 6 3 begin I
0 6 4 range I
1 6 5 end I
MethodParameters:
Name Flags
value
matcher
enc
begin
range
public static org.jruby.util.ByteList dumpCommon(org.jruby.Ruby, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokestatic org.jruby.util.StringSupport.dumpCommon:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Z)Lorg/jruby/util/ByteList;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 bytelist Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
runtime
bytelist
public static org.jruby.util.ByteList dumpCommon(org.jruby.Ruby, org.jruby.util.ByteList, boolean);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Z)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 1
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 5
start local 5 3: iload 5
aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 6
start local 6 4: aload 1
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 7
start local 7 5: iconst_2
istore 8
start local 8 6: goto 33
7: StackMap locals: org.jruby.Ruby org.jruby.util.ByteList int org.jcodings.Encoding int int int byte[] int
StackMap stack:
aload 7
iload 5
iinc 5 1
baload
sipush 255
iand
istore 9
start local 9 8: iload 9
lookupswitch { // 11
7: 9
8: 9
9: 9
10: 9
11: 9
12: 9
13: 9
27: 9
34: 9
35: 11
92: 9
default: 15
}
9: StackMap locals: int
StackMap stack:
iinc 8 2
10: goto 33
11: StackMap locals:
StackMap stack:
iload 8
aload 7
iload 5
iload 6
invokestatic org.jruby.util.StringSupport.isEVStr:([BII)Z
ifeq 12
iconst_2
goto 13
StackMap locals:
StackMap stack: int
12: iconst_1
StackMap locals: org.jruby.Ruby org.jruby.util.ByteList int org.jcodings.Encoding int int int byte[] int int
StackMap stack: int int
13: iadd
istore 8
14: goto 33
15: StackMap locals:
StackMap stack:
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
iload 9
invokevirtual org.jcodings.specific.ASCIIEncoding.isPrint:(I)Z
ifeq 18
16: iinc 8 1
17: goto 33
18: StackMap locals:
StackMap stack:
iconst_1
istore 4
19: aload 3
invokevirtual org.jcodings.Encoding.isUTF8:()Z
ifeq 32
iload 9
bipush 127
if_icmple 32
20: aload 3
aload 7
iload 5
iconst_1
isub
iload 6
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
iconst_1
isub
istore 10
start local 10 21: iload 10
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
ifle 32
22: aload 0
aload 3
aload 7
iload 5
iconst_1
isub
iload 6
invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;[BII)I
istore 11
start local 11 23: iload 11
ldc 65535
if_icmpgt 26
24: iinc 8 6
25: goto 30
StackMap locals: int int
StackMap stack:
26: iload 11
ldc 1048575
if_icmpgt 29
27: iinc 8 9
28: goto 30
29: StackMap locals:
StackMap stack:
iinc 8 10
30: StackMap locals:
StackMap stack:
iload 5
iload 10
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
iconst_1
isub
iadd
istore 5
31: goto 33
end local 11 end local 10 32: StackMap locals:
StackMap stack:
iinc 8 4
end local 9 33: StackMap locals:
StackMap stack:
iload 5
iload 6
if_icmplt 7
34: aload 3
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifne 36
35: iload 8
ldc ".force_encoding(\""
invokevirtual java.lang.String.length:()I
aload 3
invokevirtual org.jcodings.Encoding.getName:()[B
arraylength
iadd
ldc "\")"
invokevirtual java.lang.String.length:()I
iadd
iadd
istore 8
36: StackMap locals:
StackMap stack:
new org.jruby.util.ByteList
dup
iload 8
invokespecial org.jruby.util.ByteList.<init>:(I)V
astore 9
start local 9 37: aload 9
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 10
start local 10 38: iconst_0
istore 11
start local 11 39: aload 1
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 5
40: iload 5
aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 6
41: iload 2
ifeq 42
iload 4
ifne 43
StackMap locals: org.jruby.util.ByteList byte[] int
StackMap stack:
42: iload 2
ifne 78
StackMap locals:
StackMap stack:
43: aload 10
iload 11
iinc 11 1
bipush 34
bastore
44: goto 78
45: StackMap locals:
StackMap stack:
aload 7
iload 5
iinc 5 1
baload
sipush 255
iand
istore 12
start local 12 46: iload 12
lookupswitch { // 11
7: 57
8: 56
9: 53
10: 51
11: 55
12: 54
13: 52
27: 58
34: 47
35: 48
92: 47
default: 59
}
47: StackMap locals: int
StackMap stack:
aload 10
iload 11
iinc 11 1
bipush 92
bastore
aload 10
iload 11
iinc 11 1
iload 12
i2b
bastore
goto 78
48: StackMap locals:
StackMap stack:
aload 7
iload 5
iload 6
invokestatic org.jruby.util.StringSupport.isEVStr:([BII)Z
ifeq 49
aload 10
iload 11
iinc 11 1
bipush 92
bastore
49: StackMap locals:
StackMap stack:
aload 10
iload 11
iinc 11 1
bipush 35
bastore
50: goto 78
51: StackMap locals:
StackMap stack:
aload 10
iload 11
iinc 11 1
bipush 92
bastore
aload 10
iload 11
iinc 11 1
bipush 110
bastore
goto 78
52: StackMap locals:
StackMap stack:
aload 10
iload 11
iinc 11 1
bipush 92
bastore
aload 10
iload 11
iinc 11 1
bipush 114
bastore
goto 78
53: StackMap locals:
StackMap stack:
aload 10
iload 11
iinc 11 1
bipush 92
bastore
aload 10
iload 11
iinc 11 1
bipush 116
bastore
goto 78
54: StackMap locals:
StackMap stack:
aload 10
iload 11
iinc 11 1
bipush 92
bastore
aload 10
iload 11
iinc 11 1
bipush 102
bastore
goto 78
55: StackMap locals:
StackMap stack:
aload 10
iload 11
iinc 11 1
bipush 92
bastore
aload 10
iload 11
iinc 11 1
bipush 118
bastore
goto 78
56: StackMap locals:
StackMap stack:
aload 10
iload 11
iinc 11 1
bipush 92
bastore
aload 10
iload 11
iinc 11 1
bipush 98
bastore
goto 78
57: StackMap locals:
StackMap stack:
aload 10
iload 11
iinc 11 1
bipush 92
bastore
aload 10
iload 11
iinc 11 1
bipush 97
bastore
goto 78
58: StackMap locals:
StackMap stack:
aload 10
iload 11
iinc 11 1
bipush 92
bastore
aload 10
iload 11
iinc 11 1
bipush 101
bastore
goto 78
59: StackMap locals:
StackMap stack:
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
iload 12
invokevirtual org.jcodings.specific.ASCIIEncoding.isPrint:(I)Z
ifeq 62
60: aload 10
iload 11
iinc 11 1
iload 12
i2b
bastore
61: goto 78
62: StackMap locals:
StackMap stack:
aload 10
iload 11
iinc 11 1
bipush 92
bastore
63: aload 9
iload 11
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
64: aload 3
invokevirtual org.jcodings.Encoding.isUTF8:()Z
ifeq 76
65: aload 3
aload 7
iload 5
iconst_1
isub
iload 6
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
iconst_1
isub
istore 13
start local 13 66: iload 13
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
ifle 76
67: aload 0
aload 3
aload 7
iload 5
iconst_1
isub
iload 6
invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;[BII)I
istore 14
start local 14 68: aload 9
iload 11
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
69: iload 5
iload 13
iadd
istore 5
70: iload 14
ldc 65535
if_icmpgt 73
71: aload 0
aload 9
ldc "u%04X"
iload 14
invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;I)Z
pop
72: goto 74
73: StackMap locals: int int
StackMap stack:
aload 0
aload 9
ldc "u{%X}"
iload 14
invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;I)Z
pop
74: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.jruby.util.ByteList.getRealSize:()I
istore 11
75: goto 78
end local 14 end local 13 76: StackMap locals:
StackMap stack:
aload 0
aload 9
ldc "x%02X"
iload 12
invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;I)Z
pop
77: aload 9
invokevirtual org.jruby.util.ByteList.getRealSize:()I
istore 11
end local 12 78: StackMap locals:
StackMap stack:
iload 5
iload 6
if_icmplt 45
79: iload 2
ifeq 80
iload 4
ifne 81
StackMap locals:
StackMap stack:
80: iload 2
ifne 82
StackMap locals:
StackMap stack:
81: aload 10
iload 11
iinc 11 1
bipush 34
bastore
82: StackMap locals:
StackMap stack:
aload 9
iload 11
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
83: getstatic org.jruby.util.StringSupport.$assertionsDisabled:Z
ifne 84
aload 10
aload 9
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
if_acmpeq 84
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
84: StackMap locals:
StackMap stack:
aload 9
areturn
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 85 0 runtime Lorg/jruby/Ruby;
0 85 1 byteList Lorg/jruby/util/ByteList;
0 85 2 quoteOnlyIfNeeded Z
1 85 3 enc Lorg/jcodings/Encoding;
2 85 4 includingsNonprintable Z
3 85 5 p I
4 85 6 end I
5 85 7 bytes [B
6 85 8 len I
8 33 9 c I
21 32 10 n I
23 32 11 cc I
37 85 9 outBytes Lorg/jruby/util/ByteList;
38 85 10 out [B
39 85 11 q I
46 78 12 c I
66 76 13 n I
68 76 14 cc I
MethodParameters:
Name Flags
runtime
byteList
quoteOnlyIfNeeded
public static boolean isEVStr(byte[], int, int);
descriptor: ([BII)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
if_icmpge 1
aload 0
iload 1
baload
sipush 255
iand
invokestatic org.jruby.util.StringSupport.isEVStr:(I)Z
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 bytes [B
0 3 1 p I
0 3 2 end I
MethodParameters:
Name Flags
bytes
p
end
public static boolean isEVStr(int);
descriptor: (I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 36
if_icmpeq 1
iload 0
bipush 64
if_icmpeq 1
iload 0
bipush 123
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c I
MethodParameters:
Name Flags
c
public static int strCount(org.jruby.util.ByteList, boolean[], org.jruby.util.StringSupport$TrTables, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/ByteList;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 4
start local 4 1: aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 5
start local 5 2: iload 5
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 6
start local 6 3: aload 3
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
istore 7
start local 7 4: iconst_0
istore 8
start local 8 5: goto 15
6: StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables org.jcodings.Encoding byte[] int int int int
StackMap stack:
iload 7
ifeq 11
aload 4
iload 5
baload
sipush 255
iand
dup
istore 9
start local 9 7: sipush 128
if_icmpge 11
8: aload 1
iload 9
baload
ifeq 9
iinc 8 1
9: StackMap locals: int
StackMap stack:
iinc 5 1
10: goto 15
end local 9 11: StackMap locals:
StackMap stack:
aload 3
aload 4
iload 5
iload 6
invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jcodings/Encoding;[BII)I
istore 9
start local 9 12: aload 3
iload 9
invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
istore 10
start local 10 13: iload 9
aload 1
aload 2
invokestatic org.jruby.util.StringSupport.trFind:(I[ZLorg/jruby/util/StringSupport$TrTables;)Z
ifeq 14
iinc 8 1
14: StackMap locals: int int
StackMap stack:
iload 5
iload 10
iadd
istore 5
end local 10 end local 9 15: StackMap locals:
StackMap stack:
iload 5
iload 6
if_icmplt 6
16: iload 8
ireturn
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 17 0 str Lorg/jruby/util/ByteList;
0 17 1 table [Z
0 17 2 tables Lorg/jruby/util/StringSupport$TrTables;
0 17 3 enc Lorg/jcodings/Encoding;
1 17 4 bytes [B
2 17 5 p I
3 17 6 end I
4 17 7 asciiCompat Z
5 17 8 count I
7 11 9 c I
12 15 9 c I
13 15 10 cl I
MethodParameters:
Name Flags
str
table
tables
enc
public static int strCount(org.jruby.util.ByteList, org.jruby.Ruby, boolean[], org.jruby.util.StringSupport$TrTables, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
aload 3
aload 4
invokestatic org.jruby.util.StringSupport.strCount:(Lorg/jruby/util/ByteList;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;)I
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 5
start local 5 3: aload 1
aload 5
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
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 4 0 str Lorg/jruby/util/ByteList;
0 4 1 runtime Lorg/jruby/Ruby;
0 4 2 table [Z
0 4 3 tables Lorg/jruby/util/StringSupport$TrTables;
0 4 4 enc Lorg/jcodings/Encoding;
3 4 5 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
str
runtime
table
tables
enc
public static int countCommon19(org.jruby.util.ByteList, org.jruby.Ruby, boolean[], org.jruby.util.StringSupport$TrTables, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, 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
aload 3
aload 4
invokestatic org.jruby.util.StringSupport.strCount:(Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Lorg/jruby/util/ByteList;
0 1 1 runtime Lorg/jruby/Ruby;
0 1 2 table [Z
0 1 3 tables Lorg/jruby/util/StringSupport$TrTables;
0 1 4 enc Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
str
runtime
table
tables
enc
public static int rindex(org.jruby.util.ByteList, int, int, int, org.jruby.util.CodeRangeable, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/ByteList;IIILorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
invokeinterface org.jruby.util.CodeRangeable.scanForCodeRange:()I
bipush 48
if_icmpne 1
iconst_m1
ireturn
1: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
astore 6
start local 6 2: aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
istore 7
start local 7 3: aload 6
invokevirtual org.jruby.util.ByteList.getRealSize:()I
istore 8
start local 8 4: iload 1
iload 2
if_icmplt 5
iload 7
iload 8
if_icmpge 6
StackMap locals: org.jruby.util.ByteList int int
StackMap stack:
5: iconst_m1
ireturn
6: StackMap locals:
StackMap stack:
iload 1
iload 3
isub
iload 2
if_icmpge 7
iload 1
iload 2
isub
istore 3
7: StackMap locals:
StackMap stack:
iload 1
ifne 8
iload 3
ireturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 9
start local 9 9: aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 10
start local 10 10: iload 3
ifne 14
11: aload 9
iload 10
aload 6
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 6
invokevirtual org.jruby.util.ByteList.getBegin:()I
iload 8
invokestatic org.jruby.util.ByteList.memcmp:([BI[BII)I
ifne 13
12: iconst_0
ireturn
13: StackMap locals: byte[] int
StackMap stack:
iconst_m1
ireturn
14: StackMap locals:
StackMap stack:
aload 5
aload 9
iload 10
iload 10
iload 7
iadd
iload 3
invokestatic org.jruby.util.StringSupport.nth:(Lorg/jcodings/Encoding;[BIII)I
istore 11
start local 11 15: aload 9
iload 10
iload 7
aload 6
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 6
invokevirtual org.jruby.util.ByteList.getBegin:()I
iload 8
iload 11
iload 3
aload 5
invokestatic org.jruby.util.StringSupport.strRindex:([BII[BIIIILorg/jcodings/Encoding;)I
ireturn
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 16 0 source Lorg/jruby/util/ByteList;
0 16 1 sourceChars I
0 16 2 subChars I
0 16 3 pos I
0 16 4 subStringCodeRangeable Lorg/jruby/util/CodeRangeable;
0 16 5 enc Lorg/jcodings/Encoding;
2 16 6 subString Lorg/jruby/util/ByteList;
3 16 7 srcLen I
4 16 8 subLen I
9 16 9 srcBytes [B
10 16 10 srcBeg I
15 16 11 s I
MethodParameters:
Name Flags
source
sourceChars
subChars
pos
subStringCodeRangeable
enc
private static int strRindex(byte[], int, int, byte[], int, int, int, int, org.jcodings.Encoding);
descriptor: ([BII[BIIIILorg/jcodings/Encoding;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: iload 1
iload 2
iadd
istore 9
start local 9 1: goto 7
2: StackMap locals: int
StackMap stack:
iload 6
iload 5
iadd
iload 9
if_icmpgt 4
aload 0
iload 6
aload 3
iload 4
iload 5
invokestatic org.jruby.util.ByteList.memcmp:([BI[BII)I
ifne 4
3: iload 7
ireturn
4: StackMap locals:
StackMap stack:
iload 7
ifne 5
goto 8
StackMap locals:
StackMap stack:
5: iinc 7 -1
6: aload 8
aload 0
iload 1
iload 6
iload 9
invokevirtual org.jcodings.Encoding.prevCharHead:([BIII)I
istore 6
7: StackMap locals:
StackMap stack:
iload 6
iload 1
if_icmpge 2
8: StackMap locals:
StackMap stack:
iconst_m1
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 9 0 strBytes [B
0 9 1 strBeg I
0 9 2 strLen I
0 9 3 subBytes [B
0 9 4 subBeg I
0 9 5 subLen I
0 9 6 s I
0 9 7 pos I
0 9 8 enc Lorg/jcodings/Encoding;
1 9 9 e I
MethodParameters:
Name Flags
strBytes final
strBeg final
strLen final
subBytes final
subBeg final
subLen final
s
pos
enc final
public static int strLengthFromRubyString(org.jruby.util.CodeRangeable, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
astore 2
start local 2 1: aload 0
aload 1
invokestatic org.jruby.util.StringSupport.isSingleByteOptimizable:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)Z
ifeq 2
aload 2
invokevirtual org.jruby.util.ByteList.getRealSize:()I
ireturn
2: StackMap locals: org.jruby.util.ByteList
StackMap stack:
aload 0
aload 2
aload 1
invokestatic org.jruby.util.StringSupport.strLengthFromRubyStringFull:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 string Lorg/jruby/util/CodeRangeable;
0 3 1 enc Lorg/jcodings/Encoding;
1 3 2 bytes Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
string
enc
public static int strLengthFromRubyString(org.jruby.util.CodeRangeable);
descriptor: (Lorg/jruby/util/CodeRangeable;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
invokestatic org.jruby.util.StringSupport.isSingleByteOptimizable:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)Z
ifeq 2
aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
ireturn
2: StackMap locals: org.jruby.util.ByteList
StackMap stack:
aload 0
aload 1
aload 1
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
invokestatic org.jruby.util.StringSupport.strLengthFromRubyStringFull:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 string Lorg/jruby/util/CodeRangeable;
1 3 1 bytes Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
string
public static int strLengthFromRubyString(org.jruby.util.CodeRangeable, org.jruby.util.ByteList, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokestatic org.jruby.util.StringSupport.isSingleByteOptimizable:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)Z
ifeq 1
aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
ireturn
1: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.jruby.util.CodeRangeable.isCodeRangeValid:()Z
ifeq 2
aload 2
invokevirtual org.jcodings.Encoding.isUTF8:()Z
ifeq 2
aload 1
invokestatic org.jruby.util.StringSupport.utf8Length:(Lorg/jruby/util/ByteList;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic org.jruby.util.StringSupport.strLengthWithCodeRange:(Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)J
lstore 3
start local 3 3: lload 3
invokestatic org.jruby.util.StringSupport.unpackResult:(J)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 string Lorg/jruby/util/CodeRangeable;
0 4 1 bytes Lorg/jruby/util/ByteList;
0 4 2 enc Lorg/jcodings/Encoding;
3 4 3 lencr J
MethodParameters:
Name Flags
string
bytes final
enc final
private static int strLengthFromRubyStringFull(org.jruby.util.CodeRangeable, org.jruby.util.ByteList, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface org.jruby.util.CodeRangeable.isCodeRangeValid:()Z
ifeq 1
aload 2
invokevirtual org.jcodings.Encoding.isUTF8:()Z
ifeq 1
aload 1
invokestatic org.jruby.util.StringSupport.utf8Length:(Lorg/jruby/util/ByteList;)I
ireturn
1: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic org.jruby.util.StringSupport.strLengthWithCodeRange:(Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)J
lstore 3
start local 3 2: lload 3
invokestatic org.jruby.util.StringSupport.unpackArg:(J)I
istore 5
start local 5 3: iload 5
ifeq 4
aload 0
iload 5
invokeinterface org.jruby.util.CodeRangeable.setCodeRange:(I)V
4: StackMap locals: long int
StackMap stack:
lload 3
invokestatic org.jruby.util.StringSupport.unpackResult:(J)I
ireturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 string Lorg/jruby/util/CodeRangeable;
0 5 1 bytes Lorg/jruby/util/ByteList;
0 5 2 enc Lorg/jcodings/Encoding;
2 5 3 lencr J
3 5 5 cr I
MethodParameters:
Name Flags
string
bytes
enc
public static org.jruby.util.StringSupport$TrTables trSetupTable(org.jruby.util.ByteList, boolean[], org.jruby.util.StringSupport$TrTables, boolean, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/ByteList;[ZLorg/jruby/util/StringSupport$TrTables;ZLorg/jcodings/Encoding;)Lorg/jruby/util/StringSupport$TrTables;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=15, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_1
newarray 10
astore 6
start local 6 1: new org.jruby.util.StringSupport$TR
dup
aload 0
invokespecial org.jruby.util.StringSupport$TR.<init>:(Lorg/jruby/util/ByteList;)V
astore 8
start local 8 2: aload 0
invokevirtual org.jruby.util.ByteList.realSize:()I
iconst_1
if_icmple 6
aload 8
getfield org.jruby.util.StringSupport$TR.buf:[B
aload 8
getfield org.jruby.util.StringSupport$TR.p:I
aload 8
getfield org.jruby.util.StringSupport$TR.pend:I
aload 6
aload 4
invokestatic org.jruby.util.io.EncodingUtils.encAscget:([BII[ILorg/jcodings/Encoding;)I
bipush 94
if_icmpne 6
3: iconst_1
istore 7
start local 7 4: aload 8
dup
getfield org.jruby.util.StringSupport$TR.p:I
aload 6
iconst_0
iaload
iadd
putfield org.jruby.util.StringSupport$TR.p:I
5: goto 7
end local 7 6: StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding top int[] top org.jruby.util.StringSupport$TR
StackMap stack:
iconst_0
istore 7
start local 7 7: StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding top int[] int org.jruby.util.StringSupport$TR
StackMap stack:
iload 3
ifeq 14
8: iconst_0
istore 5
start local 5 9: goto 11
StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding int int[] int org.jruby.util.StringSupport$TR
StackMap stack:
10: aload 1
iload 5
iconst_1
bastore
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
sipush 256
if_icmplt 10
12: aload 1
sipush 256
iload 7
bastore
13: goto 16
end local 5 14: StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding top int[] int org.jruby.util.StringSupport$TR
StackMap stack:
aload 1
sipush 256
baload
ifeq 16
iload 7
ifne 16
15: aload 1
sipush 256
iconst_0
bastore
16: StackMap locals:
StackMap stack:
aload 2
ifnonnull 17
new org.jruby.util.StringSupport$TrTables
dup
invokespecial org.jruby.util.StringSupport$TrTables.<init>:()V
astore 2
17: StackMap locals:
StackMap stack:
aconst_null
astore 9
start local 9 18: aconst_null
astore 10
start local 10 19: aconst_null
astore 11
start local 11 20: goto 56
start local 12 21: StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding top int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack:
iload 12
sipush 256
if_icmpge 35
22: aload 9
ifnonnull 31
23: sipush 256
newarray 8
astore 9
24: iconst_0
istore 5
start local 5 25: goto 30
26: StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding int int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack:
aload 9
iload 5
iload 7
ifeq 27
iconst_1
goto 28
StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding int int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack: byte[] int
27: iconst_0
StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding int int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack: byte[] int int
28: i2b
bastore
29: iinc 5 1
StackMap locals:
StackMap stack:
30: iload 5
sipush 256
if_icmplt 26
end local 5 31: StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding top int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack:
aload 9
iload 12
sipush 255
iand
iload 7
ifeq 32
iconst_0
goto 33
StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding top int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack: byte[] int
32: iconst_1
StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding top int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack: byte[] int int
33: i2b
bastore
34: goto 56
35: StackMap locals:
StackMap stack:
aload 10
ifnonnull 46
iload 3
ifne 36
aload 2
getfield org.jruby.util.StringSupport$TrTables.del:Lorg/jruby/util/collections/IntHashMap;
ifnonnull 36
aload 1
sipush 256
baload
ifeq 46
36: StackMap locals:
StackMap stack:
iload 7
ifeq 43
37: aload 2
getfield org.jruby.util.StringSupport$TrTables.noDel:Lorg/jruby/util/collections/IntHashMap;
astore 11
38: aload 11
ifnull 39
aload 11
goto 40
StackMap locals:
StackMap stack:
39: new org.jruby.util.collections.IntHashMap
dup
bipush 8
invokespecial org.jruby.util.collections.IntHashMap.<init>:(I)V
StackMap locals:
StackMap stack: org.jruby.util.collections.IntHashMap
40: astore 10
41: aload 2
aload 10
putfield org.jruby.util.StringSupport$TrTables.noDel:Lorg/jruby/util/collections/IntHashMap;
42: goto 46
43: StackMap locals:
StackMap stack:
new org.jruby.util.collections.IntHashMap
dup
bipush 8
invokespecial org.jruby.util.collections.IntHashMap.<init>:(I)V
astore 10
44: aload 2
getfield org.jruby.util.StringSupport$TrTables.del:Lorg/jruby/util/collections/IntHashMap;
astore 11
45: aload 2
aload 10
putfield org.jruby.util.StringSupport$TrTables.del:Lorg/jruby/util/collections/IntHashMap;
46: StackMap locals:
StackMap stack:
aload 10
ifnull 56
47: iload 12
istore 13
start local 13 48: aload 11
ifnonnull 49
aload 10
iload 13
getstatic org.jruby.util.StringSupport.DUMMY_VALUE:Ljava/lang/Object;
invokevirtual org.jruby.util.collections.IntHashMap.put:(ILjava/lang/Object;)Ljava/lang/Object;
pop
goto 56
49: StackMap locals: int
StackMap stack:
iload 7
ifeq 50
aload 10
iload 13
getstatic org.jruby.util.StringSupport.DUMMY_VALUE:Ljava/lang/Object;
invokevirtual org.jruby.util.collections.IntHashMap.put:(ILjava/lang/Object;)Ljava/lang/Object;
pop
goto 56
50: StackMap locals:
StackMap stack:
aload 11
iload 13
invokevirtual org.jruby.util.collections.IntHashMap.get:(I)Ljava/lang/Object;
ifnull 51
iconst_1
goto 52
StackMap locals:
StackMap stack:
51: iconst_0
StackMap locals:
StackMap stack: int
52: istore 14
start local 14 53: aload 10
iload 13
iload 14
ifeq 54
getstatic org.jruby.util.StringSupport.DUMMY_VALUE:Ljava/lang/Object;
goto 55
StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding top int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int int int
StackMap stack: org.jruby.util.collections.IntHashMap int
54: aconst_null
StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding top int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int int int
StackMap stack: org.jruby.util.collections.IntHashMap int java.lang.Object
55: invokevirtual org.jruby.util.collections.IntHashMap.put:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 14 end local 13 end local 12 56: StackMap locals:
StackMap stack:
aload 8
aload 4
invokestatic org.jruby.util.StringSupport.trNext:(Lorg/jruby/util/StringSupport$TR;Lorg/jcodings/Encoding;)I
dup
istore 12
start local 12 57: iconst_m1
if_icmpne 21
58: aload 9
ifnull 67
59: iconst_0
istore 5
start local 5 60: goto 65
61: StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding int int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack:
aload 1
iload 5
aload 1
iload 5
baload
ifeq 62
aload 9
iload 5
baload
ifeq 62
iconst_1
goto 63
StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding int int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack: boolean[] int
62: iconst_0
StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding int int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack: boolean[] int int
63: bastore
64: iinc 5 1
StackMap locals:
StackMap stack:
65: iload 5
sipush 256
if_icmplt 61
66: goto 74
end local 5 67: StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding top int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack:
iconst_0
istore 5
start local 5 68: goto 73
69: StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding int int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack:
aload 1
iload 5
aload 1
iload 5
baload
ifeq 70
iload 7
ifeq 70
iconst_1
goto 71
StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding int int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack: boolean[] int
70: iconst_0
StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables int org.jcodings.Encoding int int[] int org.jruby.util.StringSupport$TR byte[] org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap int
StackMap stack: boolean[] int int
71: bastore
72: iinc 5 1
StackMap locals:
StackMap stack:
73: iload 5
sipush 256
if_icmplt 69
74: StackMap locals:
StackMap stack:
aload 10
ifnonnull 75
iload 7
ifne 75
aload 2
aconst_null
putfield org.jruby.util.StringSupport$TrTables.del:Lorg/jruby/util/collections/IntHashMap;
75: StackMap locals:
StackMap stack:
aload 2
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 76 0 str Lorg/jruby/util/ByteList;
0 76 1 stable [Z
0 76 2 tables Lorg/jruby/util/StringSupport$TrTables;
0 76 3 first Z
0 76 4 enc Lorg/jcodings/Encoding;
9 14 5 i I
25 31 5 i I
60 67 5 i I
68 76 5 i I
1 76 6 l [I
4 6 7 cflag Z
7 76 7 cflag Z
2 76 8 tr Lorg/jruby/util/StringSupport$TR;
18 76 9 buf [B
19 76 10 table Lorg/jruby/util/collections/IntHashMap<Ljava/lang/Object;>;
20 76 11 ptable Lorg/jruby/util/collections/IntHashMap<Ljava/lang/Object;>;
21 56 12 c I
57 76 12 c I
48 56 13 key I
53 56 14 val Z
MethodParameters:
Name Flags
str final
stable final
tables
first final
enc final
public static org.jruby.util.StringSupport$TrTables trSetupTable(org.jruby.util.ByteList, org.jruby.Ruby, boolean[], org.jruby.util.StringSupport$TrTables, boolean, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;ZLorg/jcodings/Encoding;)Lorg/jruby/util/StringSupport$TrTables;
flags: (0x0009) ACC_PUBLIC, 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
aload 2
aload 3
iload 4
aload 5
invokestatic org.jruby.util.StringSupport.trSetupTable:(Lorg/jruby/util/ByteList;[ZLorg/jruby/util/StringSupport$TrTables;ZLorg/jcodings/Encoding;)Lorg/jruby/util/StringSupport$TrTables;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 6
start local 6 3: aload 1
aload 6
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
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 4 0 str Lorg/jruby/util/ByteList;
0 4 1 runtime Lorg/jruby/Ruby;
0 4 2 stable [Z
0 4 3 tables Lorg/jruby/util/StringSupport$TrTables;
0 4 4 first Z
0 4 5 enc Lorg/jcodings/Encoding;
3 4 6 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
str final
runtime final
stable final
tables
first final
enc final
public static boolean trFind(int, boolean[], org.jruby.util.StringSupport$TrTables);
descriptor: (I[ZLorg/jruby/util/StringSupport$TrTables;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 0
sipush 256
if_icmpge 1
aload 1
iload 0
baload
ireturn
1: StackMap locals:
StackMap stack:
aload 2
getfield org.jruby.util.StringSupport$TrTables.del:Lorg/jruby/util/collections/IntHashMap;
astore 3
start local 3 2: aload 2
getfield org.jruby.util.StringSupport$TrTables.noDel:Lorg/jruby/util/collections/IntHashMap;
astore 4
start local 4 3: aload 3
ifnull 7
4: aload 3
iload 0
invokevirtual org.jruby.util.collections.IntHashMap.get:(I)Ljava/lang/Object;
ifnull 9
5: aload 4
ifnull 6
aload 4
iload 0
invokevirtual org.jruby.util.collections.IntHashMap.get:(I)Ljava/lang/Object;
ifnonnull 9
6: StackMap locals: org.jruby.util.collections.IntHashMap org.jruby.util.collections.IntHashMap
StackMap stack:
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
aload 4
ifnull 9
aload 4
iload 0
invokevirtual org.jruby.util.collections.IntHashMap.get:(I)Ljava/lang/Object;
ifnull 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 1
sipush 256
baload
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 c I
0 10 1 table [Z
0 10 2 tables Lorg/jruby/util/StringSupport$TrTables;
2 10 3 del Lorg/jruby/util/collections/IntHashMap<Ljava/lang/Object;>;
3 10 4 noDel Lorg/jruby/util/collections/IntHashMap<Ljava/lang/Object;>;
MethodParameters:
Name Flags
c final
table final
tables final
public static int trNext(org.jruby.util.StringSupport$TR, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/StringSupport$TR;Lorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.util.StringSupport$TR.gen:Z
ifne 5
1: aload 0
aload 1
invokestatic org.jruby.util.StringSupport.trNext_nextpart:(Lorg/jruby/util/StringSupport$TR;Lorg/jcodings/Encoding;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.util.StringSupport$TR.now:I
aload 0
getfield org.jruby.util.StringSupport$TR.max:I
if_icmpne 5
3: aload 0
iconst_0
putfield org.jruby.util.StringSupport$TR.gen:Z
4: aload 0
aload 1
invokestatic org.jruby.util.StringSupport.trNext_nextpart:(Lorg/jruby/util/StringSupport$TR;Lorg/jcodings/Encoding;)I
ireturn
5: StackMap locals:
StackMap stack:
aload 1
aload 0
dup
getfield org.jruby.util.StringSupport$TR.now:I
iconst_1
iadd
dup_x1
putfield org.jruby.util.StringSupport$TR.now:I
invokevirtual org.jcodings.Encoding.codeToMbcLength:(I)I
ifle 2
6: aload 0
getfield org.jruby.util.StringSupport$TR.now:I
aload 0
getfield org.jruby.util.StringSupport$TR.max:I
if_icmpge 8
7: aload 0
getfield org.jruby.util.StringSupport$TR.now:I
ireturn
8: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.jruby.util.StringSupport$TR.gen:Z
9: aload 0
getfield org.jruby.util.StringSupport$TR.max:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 tr Lorg/jruby/util/StringSupport$TR;
0 10 1 enc Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
tr final
enc
public static int trNext(org.jruby.util.StringSupport$TR, org.jruby.Ruby, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/StringSupport$TR;Lorg/jruby/Ruby;Lorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokestatic org.jruby.util.StringSupport.trNext:(Lorg/jruby/util/StringSupport$TR;Lorg/jcodings/Encoding;)I
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 3
start local 3 3: aload 1
aload 3
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(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 4 0 tr Lorg/jruby/util/StringSupport$TR;
0 4 1 runtime Lorg/jruby/Ruby;
0 4 2 enc Lorg/jcodings/Encoding;
3 4 3 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
tr final
runtime
enc
private static int trNext_nextpart(org.jruby.util.StringSupport$TR, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/StringSupport$TR;Lorg/jcodings/Encoding;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: iconst_1
newarray 10
astore 2
start local 2 1: aload 0
getfield org.jruby.util.StringSupport$TR.p:I
aload 0
getfield org.jruby.util.StringSupport$TR.pend:I
if_icmpne 2
iconst_m1
ireturn
2: StackMap locals: int[]
StackMap stack:
aload 0
getfield org.jruby.util.StringSupport$TR.buf:[B
aload 0
getfield org.jruby.util.StringSupport$TR.p:I
aload 0
getfield org.jruby.util.StringSupport$TR.pend:I
aload 2
aload 1
invokestatic org.jruby.util.io.EncodingUtils.encAscget:([BII[ILorg/jcodings/Encoding;)I
bipush 92
if_icmpne 4
aload 0
getfield org.jruby.util.StringSupport$TR.p:I
aload 2
iconst_0
iaload
iadd
aload 0
getfield org.jruby.util.StringSupport$TR.pend:I
if_icmpge 4
3: aload 0
dup
getfield org.jruby.util.StringSupport$TR.p:I
aload 2
iconst_0
iaload
iadd
putfield org.jruby.util.StringSupport$TR.p:I
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.jruby.util.StringSupport$TR.buf:[B
aload 0
getfield org.jruby.util.StringSupport$TR.p:I
aload 0
getfield org.jruby.util.StringSupport$TR.pend:I
aload 2
aload 1
invokestatic org.jruby.util.io.EncodingUtils.encCodepointLength:([BII[ILorg/jcodings/Encoding;)I
putfield org.jruby.util.StringSupport$TR.now:I
5: aload 0
dup
getfield org.jruby.util.StringSupport$TR.p:I
aload 2
iconst_0
iaload
iadd
putfield org.jruby.util.StringSupport$TR.p:I
6: aload 0
getfield org.jruby.util.StringSupport$TR.buf:[B
aload 0
getfield org.jruby.util.StringSupport$TR.p:I
aload 0
getfield org.jruby.util.StringSupport$TR.pend:I
aload 2
aload 1
invokestatic org.jruby.util.io.EncodingUtils.encAscget:([BII[ILorg/jcodings/Encoding;)I
bipush 45
if_icmpne 19
aload 0
getfield org.jruby.util.StringSupport$TR.p:I
aload 2
iconst_0
iaload
iadd
aload 0
getfield org.jruby.util.StringSupport$TR.pend:I
if_icmpge 19
7: aload 0
dup
getfield org.jruby.util.StringSupport$TR.p:I
aload 2
iconst_0
iaload
iadd
putfield org.jruby.util.StringSupport$TR.p:I
8: aload 0
getfield org.jruby.util.StringSupport$TR.p:I
aload 0
getfield org.jruby.util.StringSupport$TR.pend:I
if_icmpge 19
9: aload 0
getfield org.jruby.util.StringSupport$TR.buf:[B
aload 0
getfield org.jruby.util.StringSupport$TR.p:I
aload 0
getfield org.jruby.util.StringSupport$TR.pend:I
aload 2
aload 1
invokestatic org.jruby.util.io.EncodingUtils.encCodepointLength:([BII[ILorg/jcodings/Encoding;)I
istore 3
start local 3 10: aload 0
dup
getfield org.jruby.util.StringSupport$TR.p:I
aload 2
iconst_0
iaload
iadd
putfield org.jruby.util.StringSupport$TR.p:I
11: aload 0
getfield org.jruby.util.StringSupport$TR.now:I
iload 3
if_icmple 17
12: aload 0
getfield org.jruby.util.StringSupport$TR.now:I
sipush 128
if_icmpge 16
iload 3
sipush 128
if_icmpge 16
13: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "invalid range \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: aload 0
getfield org.jruby.util.StringSupport$TR.now:I
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 3
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "\" in string transliteration"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "invalid range in string transliteration"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.jruby.util.StringSupport$TR.gen:Z
18: aload 0
iload 3
putfield org.jruby.util.StringSupport$TR.max:I
end local 3 19: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.util.StringSupport$TR.now:I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 tr Lorg/jruby/util/StringSupport$TR;
0 20 1 enc Lorg/jcodings/Encoding;
1 20 2 n [I
10 19 3 c I
MethodParameters:
Name Flags
tr final
enc
public static org.jruby.util.ByteList succCommon(org.jruby.util.ByteList);
descriptor: (Lorg/jruby/util/ByteList;)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=14, args_size=1
start local 0 0: bipush 7
newarray 8
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 1
iconst_0
iconst_1
bastore
3: iconst_1
istore 3
start local 3 4: new org.jruby.util.ByteList
dup
aload 0
invokespecial org.jruby.util.ByteList.<init>:(Lorg/jruby/util/ByteList;)V
astore 4
start local 4 5: aload 4
aload 0
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
6: aload 0
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
astore 5
start local 5 7: aload 4
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 6
start local 6 8: iload 6
aload 4
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 7
start local 7 9: iload 7
istore 8
start local 8 10: aload 4
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 9
start local 9 11: getstatic org.jruby.util.StringSupport$NeighborChar.FOUND:Lorg/jruby/util/StringSupport$NeighborChar;
astore 10
start local 10 12: iconst_m1
istore 11
start local 11 13: iconst_0
istore 12
start local 12 14: goto 32
15: StackMap locals: org.jruby.util.ByteList byte[] int int org.jruby.util.ByteList org.jcodings.Encoding int int int byte[] org.jruby.util.StringSupport$NeighborChar int int
StackMap stack:
aload 10
getstatic org.jruby.util.StringSupport$NeighborChar.NOT_CHAR:Lorg/jruby/util/StringSupport$NeighborChar;
if_acmpne 23
iload 11
iconst_m1
if_icmpeq 23
16: getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
astore 13
start local 13 17: aload 13
aload 9
iload 11
baload
sipush 255
iand
invokevirtual org.jcodings.specific.ASCIIEncoding.isAlpha:(I)Z
ifeq 19
18: aload 13
aload 9
iload 8
baload
sipush 255
iand
invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
ifeq 23
goto 21
19: StackMap locals: org.jcodings.specific.ASCIIEncoding
StackMap stack:
aload 13
aload 9
iload 11
baload
sipush 255
iand
invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
ifeq 23
20: aload 13
aload 9
iload 8
baload
sipush 255
iand
invokevirtual org.jcodings.specific.ASCIIEncoding.isAlpha:(I)Z
ifeq 23
21: StackMap locals:
StackMap stack:
iload 11
istore 8
22: goto 33
end local 13 23: StackMap locals:
StackMap stack:
aload 5
aload 9
iload 8
iload 7
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 13
start local 13 24: iload 13
ifgt 25
goto 32
25: StackMap locals: int
StackMap stack:
invokestatic org.jruby.util.StringSupport.$SWITCH_TABLE$org$jruby$util$StringSupport$NeighborChar:()[I
aload 5
aload 9
iload 8
iload 13
aload 1
iconst_0
invokestatic org.jruby.util.StringSupport.succAlnumChar:(Lorg/jcodings/Encoding;[BII[BI)Lorg/jruby/util/StringSupport$NeighborChar;
dup
astore 10
invokevirtual org.jruby.util.StringSupport$NeighborChar.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 26
2: 27
3: 28
default: 29
}
26: StackMap locals:
StackMap stack:
goto 32
27: StackMap locals:
StackMap stack:
aload 4
areturn
28: StackMap locals:
StackMap stack:
iload 8
istore 11
29: StackMap locals:
StackMap stack:
iconst_1
istore 12
30: iload 8
iload 6
isub
istore 2
31: iload 13
istore 3
end local 13 32: StackMap locals:
StackMap stack:
aload 5
aload 9
iload 6
iload 8
iload 7
invokevirtual org.jcodings.Encoding.prevCharHead:([BIII)I
dup
istore 8
iconst_m1
if_icmpne 15
33: StackMap locals:
StackMap stack:
iload 12
ifne 46
34: iload 7
istore 8
35: goto 45
36: StackMap locals:
StackMap stack:
aload 5
aload 9
iload 8
iload 7
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 13
start local 13 37: iload 13
ifgt 38
goto 45
38: StackMap locals: int
StackMap stack:
aload 5
aload 9
iload 8
iload 13
invokestatic org.jruby.util.StringSupport.succChar:(Lorg/jcodings/Encoding;[BII)Lorg/jruby/util/StringSupport$NeighborChar;
astore 10
39: aload 10
getstatic org.jruby.util.StringSupport$NeighborChar.FOUND:Lorg/jruby/util/StringSupport$NeighborChar;
if_acmpne 40
aload 4
areturn
40: StackMap locals:
StackMap stack:
aload 5
aload 9
iload 8
iload 8
iconst_1
iadd
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
iload 13
if_icmpeq 41
aload 5
aload 9
iload 8
iload 13
invokestatic org.jruby.util.StringSupport.succChar:(Lorg/jcodings/Encoding;[BII)Lorg/jruby/util/StringSupport$NeighborChar;
pop
41: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifne 44
42: aload 9
iload 8
aload 1
iconst_0
iload 13
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
43: iload 13
istore 3
44: StackMap locals:
StackMap stack:
iload 8
iload 6
isub
istore 2
end local 13 45: StackMap locals:
StackMap stack:
aload 5
aload 9
iload 6
iload 8
iload 7
invokevirtual org.jcodings.Encoding.prevCharHead:([BIII)I
dup
istore 8
iconst_m1
if_icmpne 36
46: StackMap locals:
StackMap stack:
aload 4
aload 4
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 4
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
iload 3
iadd
invokevirtual org.jruby.util.ByteList.ensure:(I)V
47: aload 4
invokevirtual org.jruby.util.ByteList.getBegin:()I
iload 2
iadd
istore 8
48: aload 4
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iload 8
aload 4
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iload 8
iload 3
iadd
aload 4
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iload 2
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
49: aload 1
iconst_0
aload 4
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iload 8
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
50: aload 4
aload 4
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iload 3
iadd
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
51: aload 4
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 52 0 original Lorg/jruby/util/ByteList;
1 52 1 carry [B
2 52 2 carryP I
4 52 3 carryLen I
5 52 4 valueCopy Lorg/jruby/util/ByteList;
7 52 5 enc Lorg/jcodings/Encoding;
8 52 6 p I
9 52 7 end I
10 52 8 s I
11 52 9 bytes [B
12 52 10 neighbor Lorg/jruby/util/StringSupport$NeighborChar;
13 52 11 lastAlnum I
14 52 12 alnumSeen Z
17 23 13 ascii Lorg/jcodings/specific/ASCIIEncoding;
24 32 13 cl I
37 45 13 cl I
MethodParameters:
Name Flags
original
public static org.jruby.util.ByteList succCommon(org.jruby.Ruby, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.jruby.util.StringSupport.succCommon:(Lorg/jruby/util/ByteList;)Lorg/jruby/util/ByteList;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 2
start local 2 3: aload 0
aload 2
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 runtime Lorg/jruby/Ruby;
0 4 1 original Lorg/jruby/util/ByteList;
3 4 2 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
runtime
original
public static org.jruby.util.StringSupport$NeighborChar succChar(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)Lorg/jruby/util/StringSupport$NeighborChar;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jcodings.Encoding.minLength:()I
iconst_1
if_icmple 13
1: aload 0
aload 1
iload 2
iload 2
iload 3
iadd
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 5
start local 5 2: iload 5
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
ifne 4
3: getstatic org.jruby.util.StringSupport$NeighborChar.NOT_CHAR:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
4: StackMap locals: org.jcodings.Encoding byte[] int int top int
StackMap stack:
aload 0
aload 1
iload 2
iload 2
iload 3
iadd
invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jcodings/Encoding;[BII)I
iconst_1
iadd
istore 6
start local 6 5: aload 0
iload 6
invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
istore 4
start local 4 6: iload 4
ifne 7
getstatic org.jruby.util.StringSupport$NeighborChar.NOT_CHAR:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
7: StackMap locals: org.jcodings.Encoding byte[] int int int int int
StackMap stack:
iload 4
iload 3
if_icmpeq 8
getstatic org.jruby.util.StringSupport$NeighborChar.WRAPPED:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
8: StackMap locals:
StackMap stack:
iload 6
aload 1
iload 2
aload 0
invokestatic org.jruby.util.io.EncodingUtils.encMbcput:(I[BILorg/jcodings/Encoding;)I
pop
9: aload 0
aload 1
iload 2
iload 2
iload 3
iadd
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 5
10: iload 5
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
ifne 12
11: getstatic org.jruby.util.StringSupport$NeighborChar.NOT_CHAR:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
12: StackMap locals:
StackMap stack:
getstatic org.jruby.util.StringSupport$NeighborChar.FOUND:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
end local 6 end local 5 end local 4 13: StackMap locals:
StackMap stack:
iload 3
iconst_1
isub
istore 5
start local 5 14: goto 16
StackMap locals: org.jcodings.Encoding byte[] int int top int
StackMap stack:
15: aload 1
iload 2
iload 5
iadd
iconst_0
bastore
iinc 5 -1
StackMap locals:
StackMap stack:
16: iload 5
iflt 17
aload 1
iload 2
iload 5
iadd
baload
iconst_m1
if_icmpeq 15
17: StackMap locals:
StackMap stack:
iload 5
ifge 18
getstatic org.jruby.util.StringSupport$NeighborChar.WRAPPED:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
18: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 5
iadd
aload 1
iload 2
iload 5
iadd
baload
sipush 255
iand
iconst_1
iadd
i2b
bastore
19: aload 0
aload 1
iload 2
iload 2
iload 3
iadd
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 4
start local 4 20: iload 4
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
ifeq 27
21: iload 4
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
istore 4
22: iload 4
iload 3
if_icmpne 24
23: getstatic org.jruby.util.StringSupport$NeighborChar.FOUND:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
24: StackMap locals: org.jcodings.Encoding byte[] int int int int
StackMap stack:
iload 2
iload 4
iadd
istore 6
start local 6 25: iload 6
iload 3
iload 4
isub
iadd
istore 7
start local 7 26: aload 1
iload 6
iload 7
iconst_m1
invokestatic java.util.Arrays.fill:([BIIB)V
end local 7 end local 6 27: StackMap locals:
StackMap stack:
iload 4
invokestatic org.jruby.util.StringSupport.MBCLEN_INVALID_P:(I)Z
ifeq 13
iload 5
iload 3
iconst_1
isub
if_icmpge 13
28: iload 3
iconst_1
isub
istore 6
start local 6 29: goto 34
30: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
iload 2
iload 6
iadd
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 7
start local 7 31: iload 7
invokestatic org.jruby.util.StringSupport.MBCLEN_INVALID_P:(I)Z
ifne 33
32: goto 35
33: StackMap locals: int
StackMap stack:
iinc 6 -1
end local 7 StackMap locals:
StackMap stack:
34: iload 6
ifgt 30
35: StackMap locals:
StackMap stack:
iload 2
iload 6
iadd
iconst_1
iadd
istore 8
start local 8 36: iload 8
iload 3
iadd
iload 6
iconst_1
iadd
isub
istore 9
start local 9 37: aload 1
iload 8
iload 9
iconst_m1
invokestatic java.util.Arrays.fill:([BIIB)V
end local 9 end local 8 end local 6 end local 5 end local 4 38: goto 13
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 enc Lorg/jcodings/Encoding;
0 39 1 bytes [B
0 39 2 p I
0 39 3 len I
6 13 4 l I
20 38 4 l I
2 13 5 r I
5 13 6 c I
14 38 5 i I
25 27 6 start I
26 27 7 end I
29 38 6 len2 I
31 34 7 l2 I
36 38 8 start I
37 38 9 end I
MethodParameters:
Name Flags
enc
bytes
p
len
public static org.jruby.util.StringSupport$NeighborChar succChar(org.jruby.Ruby, org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jruby/Ruby;Lorg/jcodings/Encoding;[BII)Lorg/jruby/util/StringSupport$NeighborChar;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
iload 3
iload 4
invokestatic org.jruby.util.StringSupport.succChar:(Lorg/jcodings/Encoding;[BII)Lorg/jruby/util/StringSupport$NeighborChar;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 5
start local 5 3: aload 0
aload 5
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
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 4 0 runtime Lorg/jruby/Ruby;
0 4 1 enc Lorg/jcodings/Encoding;
0 4 2 bytes [B
0 4 3 p I
0 4 4 len I
3 4 5 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
runtime
enc
bytes
p
len
private static org.jruby.util.StringSupport$NeighborChar succAlnumChar(org.jcodings.Encoding, byte[], int, int, byte[], int);
descriptor: (Lorg/jcodings/Encoding;[BII[BI)Lorg/jruby/util/StringSupport$NeighborChar;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: bipush 7
newarray 8
astore 6
start local 6 1: aload 0
aload 1
iload 2
iload 2
iload 3
iadd
invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
istore 7
start local 7 2: aload 0
iload 7
invokevirtual org.jcodings.Encoding.isDigit:(I)Z
ifeq 5
3: iconst_4
istore 8
start local 8 4: goto 9
end local 8 StackMap locals: byte[] int
StackMap stack:
5: aload 0
iload 7
invokevirtual org.jcodings.Encoding.isAlpha:(I)Z
ifeq 8
6: iconst_1
istore 8
start local 8 7: goto 9
end local 8 8: StackMap locals:
StackMap stack:
getstatic org.jruby.util.StringSupport$NeighborChar.NOT_CHAR:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
start local 8 9: StackMap locals: int
StackMap stack:
aload 1
iload 2
aload 6
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.succChar:(Lorg/jcodings/Encoding;[BII)Lorg/jruby/util/StringSupport$NeighborChar;
astore 9
start local 9 11: aload 9
getstatic org.jruby.util.StringSupport$NeighborChar.FOUND:Lorg/jruby/util/StringSupport$NeighborChar;
if_acmpne 14
12: aload 0
aload 1
iload 2
iload 2
iload 3
iadd
invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
istore 7
13: aload 0
iload 7
iload 8
invokevirtual org.jcodings.Encoding.isCodeCType:(II)Z
ifeq 14
getstatic org.jruby.util.StringSupport$NeighborChar.FOUND:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
14: StackMap locals: org.jruby.util.StringSupport$NeighborChar
StackMap stack:
aload 6
iconst_0
aload 1
iload 2
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: iconst_1
istore 10
start local 10 16: StackMap locals: int
StackMap stack:
aload 1
iload 2
aload 6
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: aload 0
aload 1
iload 2
iload 3
invokestatic org.jruby.util.StringSupport.predChar:(Lorg/jcodings/Encoding;[BII)Lorg/jruby/util/StringSupport$NeighborChar;
astore 9
18: aload 9
getstatic org.jruby.util.StringSupport$NeighborChar.FOUND:Lorg/jruby/util/StringSupport$NeighborChar;
if_acmpne 23
19: aload 0
aload 1
iload 2
iload 2
iload 3
iadd
invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
istore 7
20: aload 0
iload 7
iload 8
invokevirtual org.jcodings.Encoding.isCodeCType:(II)Z
ifne 25
21: aload 6
iconst_0
aload 1
iload 2
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
22: goto 27
23: StackMap locals:
StackMap stack:
aload 6
iconst_0
aload 1
iload 2
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
24: goto 27
25: StackMap locals:
StackMap stack:
iinc 10 1
26: goto 16
27: StackMap locals:
StackMap stack:
iload 10
iconst_1
if_icmpne 28
getstatic org.jruby.util.StringSupport$NeighborChar.NOT_CHAR:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
28: StackMap locals:
StackMap stack:
iload 8
iconst_4
if_icmpeq 31
29: aload 1
iload 2
aload 4
iload 5
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
30: getstatic org.jruby.util.StringSupport$NeighborChar.WRAPPED:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
31: StackMap locals:
StackMap stack:
aload 1
iload 2
aload 4
iload 5
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
32: aload 0
aload 4
iload 5
iload 3
invokestatic org.jruby.util.StringSupport.succChar:(Lorg/jcodings/Encoding;[BII)Lorg/jruby/util/StringSupport$NeighborChar;
pop
33: getstatic org.jruby.util.StringSupport$NeighborChar.WRAPPED:Lorg/jruby/util/StringSupport$NeighborChar;
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 34 0 enc Lorg/jcodings/Encoding;
0 34 1 bytes [B
0 34 2 p I
0 34 3 len I
0 34 4 carry [B
0 34 5 carryP I
1 34 6 save [B
2 34 7 c I
4 5 8 cType I
7 8 8 cType I
9 34 8 cType I
11 34 9 ret Lorg/jruby/util/StringSupport$NeighborChar;
16 34 10 range I
MethodParameters:
Name Flags
enc
bytes
p
len
carry
carryP
private static org.jruby.util.StringSupport$NeighborChar predChar(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)Lorg/jruby/util/StringSupport$NeighborChar;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jcodings.Encoding.minLength:()I
iconst_1
if_icmple 15
1: aload 0
aload 1
iload 2
iload 2
iload 3
iadd
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 5
start local 5 2: iload 5
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
ifne 4
3: getstatic org.jruby.util.StringSupport$NeighborChar.NOT_CHAR:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
4: StackMap locals: org.jcodings.Encoding byte[] int int top int
StackMap stack:
aload 0
aload 1
iload 2
iload 2
iload 3
iadd
invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jcodings/Encoding;[BII)I
istore 6
start local 6 5: iload 6
ifne 6
getstatic org.jruby.util.StringSupport$NeighborChar.NOT_CHAR:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
6: StackMap locals: int
StackMap stack:
iinc 6 -1
7: aload 0
iload 6
invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
istore 4
start local 4 8: iload 4
ifne 9
getstatic org.jruby.util.StringSupport$NeighborChar.NOT_CHAR:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
9: StackMap locals: org.jcodings.Encoding byte[] int int int int int
StackMap stack:
iload 4
iload 3
if_icmpeq 10
getstatic org.jruby.util.StringSupport$NeighborChar.WRAPPED:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
10: StackMap locals:
StackMap stack:
iload 6
aload 1
iload 2
aload 0
invokestatic org.jruby.util.io.EncodingUtils.encMbcput:(I[BILorg/jcodings/Encoding;)I
pop
11: aload 0
aload 1
iload 2
iload 2
iload 3
iadd
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 5
12: iload 5
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
ifne 14
13: getstatic org.jruby.util.StringSupport$NeighborChar.NOT_CHAR:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
14: StackMap locals:
StackMap stack:
getstatic org.jruby.util.StringSupport$NeighborChar.FOUND:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
end local 6 end local 5 end local 4 15: StackMap locals:
StackMap stack:
iload 3
iconst_1
isub
istore 5
start local 5 16: goto 18
StackMap locals: org.jcodings.Encoding byte[] int int top int
StackMap stack:
17: aload 1
iload 2
iload 5
iadd
iconst_m1
bastore
iinc 5 -1
StackMap locals:
StackMap stack:
18: iload 5
iflt 19
aload 1
iload 2
iload 5
iadd
baload
ifeq 17
19: StackMap locals:
StackMap stack:
iload 5
ifge 20
getstatic org.jruby.util.StringSupport$NeighborChar.WRAPPED:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
20: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 5
iadd
aload 1
iload 2
iload 5
iadd
baload
sipush 255
iand
iconst_1
isub
i2b
bastore
21: aload 0
aload 1
iload 2
iload 2
iload 3
iadd
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 4
start local 4 22: iload 4
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
ifeq 29
23: iload 4
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
istore 4
24: iload 4
iload 3
if_icmpne 26
25: getstatic org.jruby.util.StringSupport$NeighborChar.FOUND:Lorg/jruby/util/StringSupport$NeighborChar;
areturn
26: StackMap locals: org.jcodings.Encoding byte[] int int int int
StackMap stack:
iload 2
iload 4
iadd
istore 6
start local 6 27: iload 6
iload 3
iload 4
isub
iadd
istore 7
start local 7 28: aload 1
iload 6
iload 7
iconst_0
invokestatic java.util.Arrays.fill:([BIIB)V
end local 7 end local 6 29: StackMap locals:
StackMap stack:
iload 4
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
ifne 15
iload 5
iload 3
iconst_1
isub
if_icmpge 15
30: iload 3
iconst_1
isub
istore 6
start local 6 31: goto 36
32: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
iload 2
iload 6
iadd
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 7
start local 7 33: iload 7
invokestatic org.jruby.util.StringSupport.MBCLEN_INVALID_P:(I)Z
ifne 35
34: goto 37
35: StackMap locals: int
StackMap stack:
iinc 6 -1
end local 7 StackMap locals:
StackMap stack:
36: iload 6
ifgt 32
37: StackMap locals:
StackMap stack:
iload 2
iload 6
iadd
iconst_1
iadd
istore 8
start local 8 38: iload 8
iload 3
iload 6
iconst_1
iadd
isub
iadd
istore 9
start local 9 39: aload 1
iload 8
iload 9
iconst_0
invokestatic java.util.Arrays.fill:([BIIB)V
end local 9 end local 8 end local 6 end local 5 end local 4 40: goto 15
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 enc Lorg/jcodings/Encoding;
0 41 1 bytes [B
0 41 2 p I
0 41 3 len I
8 15 4 l I
22 40 4 l I
2 15 5 r I
5 15 6 c I
16 40 5 i I
27 29 6 start I
28 29 7 end I
31 40 6 len2 I
33 36 7 l2 I
38 40 8 start I
39 40 9 end I
MethodParameters:
Name Flags
enc
bytes
p
len
public static boolean isSingleByteOptimizable(org.jruby.util.CodeRangeable, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.jruby.util.CodeRangeable.getCodeRange:()I
bipush 16
if_icmpeq 1
aload 1
invokevirtual org.jcodings.Encoding.maxLength:()I
iconst_1
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 string Lorg/jruby/util/CodeRangeable;
0 2 1 encoding Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
string
encoding
public static int index(org.jruby.util.CodeRangeable, org.jruby.util.CodeRangeable, int, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;ILorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface org.jruby.util.CodeRangeable.scanForCodeRange:()I
bipush 48
if_icmpne 1
iconst_m1
ireturn
1: StackMap locals:
StackMap stack:
aload 0
invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;)I
istore 4
start local 4 2: aload 1
invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;)I
istore 5
start local 5 3: iload 2
ifge 6
4: iload 2
iload 4
iadd
istore 2
5: iload 2
ifge 6
iconst_m1
ireturn
6: StackMap locals: int int
StackMap stack:
aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
astore 6
start local 6 7: aload 1
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
astore 7
start local 7 8: iload 4
iload 2
isub
iload 5
if_icmpge 9
iconst_m1
ireturn
9: StackMap locals: org.jruby.util.ByteList org.jruby.util.ByteList
StackMap stack:
aload 6
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 8
start local 8 10: aload 6
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 9
start local 9 11: iload 9
aload 6
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 10
start local 10 12: iload 2
ifeq 17
13: aload 0
aload 3
invokestatic org.jruby.util.StringSupport.isSingleByteOptimizable:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)Z
ifeq 14
iload 2
goto 15
StackMap locals: byte[] int int
StackMap stack:
14: aload 3
aload 8
iload 9
iload 10
iload 2
invokestatic org.jruby.util.StringSupport.offset:(Lorg/jcodings/Encoding;[BIII)I
StackMap locals:
StackMap stack: int
15: istore 2
16: iload 9
iload 2
iadd
istore 9
17: StackMap locals:
StackMap stack:
iload 5
ifne 18
iload 2
ireturn
18: StackMap locals:
StackMap stack:
aload 6
aload 7
iload 9
aload 6
invokevirtual org.jruby.util.ByteList.getBegin:()I
isub
invokevirtual org.jruby.util.ByteList.indexOf:(Lorg/jruby/util/ByteList;I)I
istore 11
start local 11 19: iload 11
ifge 20
iload 11
ireturn
20: StackMap locals: int
StackMap stack:
iload 11
iload 9
aload 6
invokevirtual org.jruby.util.ByteList.getBegin:()I
isub
isub
istore 11
21: aload 3
aload 8
iload 9
iload 9
iload 11
iadd
iload 10
invokevirtual org.jcodings.Encoding.rightAdjustCharHead:([BIII)I
istore 12
start local 12 22: iload 12
iload 9
iload 11
iadd
if_icmpne 23
iload 11
iload 2
iadd
ireturn
23: StackMap locals: int
StackMap stack:
iload 4
iload 12
iload 9
isub
isub
dup
istore 4
ifgt 24
iconst_m1
ireturn
24: StackMap locals:
StackMap stack:
iload 2
iload 12
iload 9
isub
iadd
istore 2
25: iload 12
istore 9
end local 12 end local 11 26: goto 18
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 27 0 sourceString Lorg/jruby/util/CodeRangeable;
0 27 1 otherString Lorg/jruby/util/CodeRangeable;
0 27 2 offset I
0 27 3 enc Lorg/jcodings/Encoding;
2 27 4 sourceLen I
3 27 5 otherLen I
7 27 6 source Lorg/jruby/util/ByteList;
8 27 7 other Lorg/jruby/util/ByteList;
10 27 8 bytes [B
11 27 9 p I
12 27 10 end I
19 26 11 pos I
22 26 12 t I
MethodParameters:
Name Flags
sourceString
otherString
offset
enc
public static void associateEncoding(org.jruby.util.CodeRangeable, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
astore 2
start local 2 1: aload 2
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
aload 1
if_acmpeq 5
2: aload 0
invokestatic org.jruby.util.CodeRangeSupport.isCodeRangeAsciiOnly:(Lorg/jruby/util/CodeRangeable;)Z
ifeq 3
aload 1
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifne 4
StackMap locals: org.jruby.util.ByteList
StackMap stack:
3: aload 0
invokeinterface org.jruby.util.CodeRangeable.clearCodeRange:()V
4: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 string Lorg/jruby/util/CodeRangeable;
0 6 1 enc Lorg/jcodings/Encoding;
1 6 2 value Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
string
enc
public static org.jruby.util.ByteList replaceInternal(int, int, org.jruby.util.ByteListHolder, org.jruby.util.CodeRangeable);
descriptor: (IILorg/jruby/util/ByteListHolder;Lorg/jruby/util/CodeRangeable;)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface org.jruby.util.ByteListHolder.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getRealSize:()I
istore 4
start local 4 1: iload 0
iload 1
iadd
iload 4
if_icmplt 2
iload 4
iload 0
isub
istore 1
2: StackMap locals: int
StackMap stack:
aload 3
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
astore 5
start local 5 3: aload 5
invokevirtual org.jruby.util.ByteList.getRealSize:()I
istore 6
start local 6 4: iload 4
iload 6
iadd
iload 1
isub
istore 7
start local 7 5: aload 2
invokeinterface org.jruby.util.ByteListHolder.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 8
start local 8 6: aload 2
invokeinterface org.jruby.util.ByteListHolder.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 9
start local 9 7: aload 2
iload 7
invokeinterface org.jruby.util.ByteListHolder.modify:(I)V
8: iload 6
iload 1
if_icmpeq 10
9: aload 8
iload 9
iload 0
iadd
iload 1
iadd
aload 2
invokeinterface org.jruby.util.ByteListHolder.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iload 0
iload 6
iadd
iload 4
iload 0
iload 1
iadd
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: StackMap locals: int int org.jruby.util.ByteListHolder org.jruby.util.CodeRangeable int org.jruby.util.ByteList int int byte[] int
StackMap stack:
iload 6
ifle 11
aload 5
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 5
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 2
invokeinterface org.jruby.util.ByteListHolder.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iload 0
iload 6
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.jruby.util.ByteListHolder.getByteList:()Lorg/jruby/util/ByteList;
iload 7
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
12: aload 2
invokeinterface org.jruby.util.ByteListHolder.getByteList:()Lorg/jruby/util/ByteList;
areturn
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 13 0 beg I
0 13 1 len I
0 13 2 source Lorg/jruby/util/ByteListHolder;
0 13 3 repl Lorg/jruby/util/CodeRangeable;
1 13 4 oldLength I
3 13 5 replBytes Lorg/jruby/util/ByteList;
4 13 6 replLength I
5 13 7 newLength I
6 13 8 oldBytes [B
7 13 9 oldBegin I
MethodParameters:
Name Flags
beg
len
source
repl
public static void replaceInternal19(int, int, org.jruby.util.CodeRangeable, org.jruby.util.CodeRangeable);
descriptor: (IILorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 3
invokeinterface org.jruby.util.CodeRangeable.checkEncoding:(Lorg/jruby/util/CodeRangeable;)Lorg/jcodings/Encoding;
astore 4
start local 4 1: aload 2
invokeinterface org.jruby.util.CodeRangeable.modify:()V
2: aload 2
invokeinterface org.jruby.util.CodeRangeable.keepCodeRange:()V
3: aload 2
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
astore 5
start local 5 4: aload 5
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
astore 6
start local 6 5: aload 5
invokevirtual org.jruby.util.ByteList.begin:()I
istore 7
start local 7 6: iload 7
aload 5
invokevirtual org.jruby.util.ByteList.realSize:()I
iadd
istore 8
start local 8 7: aload 2
aload 2
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
invokestatic org.jruby.util.StringSupport.isSingleByteOptimizable:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)Z
istore 9
start local 9 8: aload 4
aload 6
iload 7
iload 8
iload 0
iload 9
invokestatic org.jruby.util.StringSupport.nth:(Lorg/jcodings/Encoding;[BIIIZ)I
istore 10
start local 10 9: iload 10
iconst_m1
if_icmpne 10
iload 8
istore 10
10: StackMap locals: int int org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jcodings.Encoding org.jruby.util.ByteList byte[] int int int int
StackMap stack:
aload 4
aload 6
iload 10
iload 8
iload 1
iload 9
invokestatic org.jruby.util.StringSupport.nth:(Lorg/jcodings/Encoding;[BIIIZ)I
istore 11
start local 11 11: iload 11
iconst_m1
if_icmpne 12
iload 8
istore 11
12: StackMap locals: int
StackMap stack:
iload 10
iload 7
isub
istore 0
13: iload 11
iload 10
isub
istore 1
14: iload 0
iload 1
aload 2
aload 3
invokestatic org.jruby.util.StringSupport.replaceInternal:(IILorg/jruby/util/ByteListHolder;Lorg/jruby/util/CodeRangeable;)Lorg/jruby/util/ByteList;
pop
15: aload 2
aload 4
invokestatic org.jruby.util.StringSupport.associateEncoding:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)V
16: aload 2
invokeinterface org.jruby.util.CodeRangeable.getCodeRange:()I
aload 3
invokeinterface org.jruby.util.CodeRangeable.getCodeRange:()I
invokestatic org.jruby.util.CodeRangeSupport.codeRangeAnd:(II)I
istore 12
start local 12 17: iload 12
bipush 48
if_icmpeq 18
aload 2
iload 12
invokeinterface org.jruby.util.CodeRangeable.setCodeRange:(I)V
18: StackMap locals: int
StackMap stack:
return
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 19 0 beg I
0 19 1 len I
0 19 2 source Lorg/jruby/util/CodeRangeable;
0 19 3 repl Lorg/jruby/util/CodeRangeable;
1 19 4 enc Lorg/jcodings/Encoding;
4 19 5 sourceBL Lorg/jruby/util/ByteList;
5 19 6 sourceBytes [B
6 19 7 sourceBeg I
7 19 8 sourceEnd I
8 19 9 singlebyte Z
9 19 10 p I
11 19 11 e I
17 19 12 cr I
MethodParameters:
Name Flags
beg
len
source
repl
public static void replaceInternal19(org.jruby.Ruby, int, int, org.jruby.RubyString, org.jruby.RubyString);
descriptor: (Lorg/jruby/Ruby;IILorg/jruby/RubyString;Lorg/jruby/RubyString;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
ifge 1
aload 0
new java.lang.StringBuilder
dup
ldc "negative length "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
1: StackMap locals:
StackMap stack:
aload 3
aload 3
aload 4
invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
istore 5
start local 5 2: iload 5
iload 1
if_icmpge 4
3: aload 0
new java.lang.StringBuilder
dup
ldc "index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " out of string"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
4: StackMap locals: int
StackMap stack:
iload 1
ifge 8
5: iload 1
ineg
iload 5
if_icmple 7
6: aload 0
new java.lang.StringBuilder
dup
ldc "index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " out of string"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
7: StackMap locals:
StackMap stack:
iload 1
iload 5
iadd
istore 1
8: StackMap locals:
StackMap stack:
iload 5
iload 2
if_icmplt 9
iload 5
iload 1
iload 2
iadd
if_icmpge 10
9: StackMap locals:
StackMap stack:
iload 5
iload 1
isub
istore 2
10: StackMap locals:
StackMap stack:
iload 1
iload 2
aload 3
aload 4
invokestatic org.jruby.util.StringSupport.replaceInternal19:(IILorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)V
11: aload 4
invokevirtual org.jruby.RubyString.isTaint:()Z
ifeq 12
aload 3
iconst_1
invokevirtual org.jruby.RubyString.setTaint:(Z)V
12: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 runtime Lorg/jruby/Ruby;
0 13 1 beg I
0 13 2 len I
0 13 3 source Lorg/jruby/RubyString;
0 13 4 repl Lorg/jruby/RubyString;
2 13 5 slen I
MethodParameters:
Name Flags
runtime
beg
len
source
repl
public static boolean isAsciiOnly(org.jruby.util.CodeRangeable);
descriptor: (Lorg/jruby/util/CodeRangeable;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
aload 0
invokeinterface org.jruby.util.CodeRangeable.scanForCodeRange:()I
invokestatic org.jruby.util.StringSupport.isAsciiOnly:(Lorg/jcodings/Encoding;I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 string Lorg/jruby/util/CodeRangeable;
MethodParameters:
Name Flags
string
private static boolean isAsciiOnly(org.jcodings.Encoding, int);
descriptor: (Lorg/jcodings/Encoding;I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 1
iload 1
bipush 16
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 encoding Lorg/jcodings/Encoding;
0 2 1 codeRange I
MethodParameters:
Name Flags
encoding
codeRange final
static org.jruby.util.CodeRangeable strDeleteBang(org.jruby.util.CodeRangeable, boolean[], org.jruby.util.StringSupport$TrTables, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/CodeRangeable;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;)Lorg/jruby/util/CodeRangeable;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokeinterface org.jruby.util.CodeRangeable.modify:()V
1: aload 0
invokeinterface org.jruby.util.CodeRangeable.keepCodeRange:()V
2: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
astore 4
start local 4 3: aload 4
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 5
start local 5 4: iload 5
istore 6
start local 6 5: iload 5
aload 4
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 7
start local 7 6: aload 4
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 8
start local 8 7: iconst_0
istore 9
start local 9 8: aload 3
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
istore 10
start local 10 9: iload 10
ifeq 10
bipush 16
goto 11
StackMap locals: org.jruby.util.CodeRangeable boolean[] org.jruby.util.StringSupport$TrTables org.jcodings.Encoding org.jruby.util.ByteList int int int byte[] int int
StackMap stack:
10: bipush 32
StackMap locals:
StackMap stack: int
11: istore 11
start local 11 12: goto 31
13: StackMap locals: int
StackMap stack:
iload 10
ifeq 22
aload 8
iload 5
baload
sipush 255
iand
dup
istore 12
start local 12 14: invokestatic org.jcodings.Encoding.isAscii:(I)Z
ifeq 22
15: aload 1
iload 12
baload
ifeq 18
16: iconst_1
istore 9
17: goto 20
18: StackMap locals: int
StackMap stack:
iload 6
iload 5
if_icmpeq 19
aload 8
iload 6
iload 12
i2b
bastore
19: StackMap locals:
StackMap stack:
iinc 6 1
20: StackMap locals:
StackMap stack:
iinc 5 1
21: goto 31
end local 12 22: StackMap locals:
StackMap stack:
aload 3
aload 8
iload 5
iload 7
invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jcodings/Encoding;[BII)I
istore 12
start local 12 23: aload 3
iload 12
invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
istore 13
start local 13 24: iload 12
aload 1
aload 2
invokestatic org.jruby.util.StringSupport.trFind:(I[ZLorg/jruby/util/StringSupport$TrTables;)Z
ifeq 27
25: iconst_1
istore 9
26: goto 30
27: StackMap locals: int int
StackMap stack:
iload 6
iload 5
if_icmpeq 28
aload 3
iload 12
aload 8
iload 6
invokevirtual org.jcodings.Encoding.codeToMbc:(I[BI)I
pop
28: StackMap locals:
StackMap stack:
iload 6
iload 13
iadd
istore 6
29: iload 11
bipush 16
if_icmpne 30
bipush 32
istore 11
30: StackMap locals:
StackMap stack:
iload 5
iload 13
iadd
istore 5
end local 13 end local 12 31: StackMap locals:
StackMap stack:
iload 5
iload 7
if_icmplt 13
32: aload 4
iload 6
aload 4
invokevirtual org.jruby.util.ByteList.getBegin:()I
isub
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
33: aload 0
iload 11
invokeinterface org.jruby.util.CodeRangeable.setCodeRange:(I)V
34: iload 9
ifeq 35
aload 0
goto 36
StackMap locals:
StackMap stack:
35: aconst_null
StackMap locals:
StackMap stack: org.jruby.util.CodeRangeable
36: areturn
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 37 0 rubyString Lorg/jruby/util/CodeRangeable;
0 37 1 squeeze [Z
0 37 2 tables Lorg/jruby/util/StringSupport$TrTables;
0 37 3 enc Lorg/jcodings/Encoding;
3 37 4 value Lorg/jruby/util/ByteList;
4 37 5 s I
5 37 6 t I
6 37 7 send I
7 37 8 bytes [B
8 37 9 modify Z
9 37 10 asciiCompatible Z
12 37 11 cr I
14 22 12 c I
23 31 12 c I
24 31 13 cl I
MethodParameters:
Name Flags
rubyString
squeeze
tables
enc
public static org.jruby.util.CodeRangeable strDeleteBang(org.jruby.util.CodeRangeable, org.jruby.Ruby, boolean[], org.jruby.util.StringSupport$TrTables, org.jcodings.Encoding);
descriptor: (Lorg/jruby/util/CodeRangeable;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;)Lorg/jruby/util/CodeRangeable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
aload 3
aload 4
invokestatic org.jruby.util.StringSupport.strDeleteBang:(Lorg/jruby/util/CodeRangeable;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;)Lorg/jruby/util/CodeRangeable;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 5
start local 5 3: aload 1
aload 5
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
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 4 0 rubyString Lorg/jruby/util/CodeRangeable;
0 4 1 runtime Lorg/jruby/Ruby;
0 4 2 squeeze [Z
0 4 3 tables Lorg/jruby/util/StringSupport$TrTables;
0 4 4 enc Lorg/jcodings/Encoding;
3 4 5 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
rubyString
runtime
squeeze
tables
enc
public static int choppedLength(org.jruby.util.CodeRangeable);
descriptor: (Lorg/jruby/util/CodeRangeable;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
astore 1
start local 1 1: aload 1
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
astore 2
start local 2 2: aload 1
invokevirtual org.jruby.util.ByteList.begin:()I
istore 5
start local 5 3: iload 5
aload 1
invokevirtual org.jruby.util.ByteList.realSize:()I
iadd
istore 6
start local 6 4: iload 5
iload 6
if_icmple 5
iconst_0
ireturn
5: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.ByteList org.jcodings.Encoding top top int int
StackMap stack:
aload 2
aload 1
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
iload 5
iload 6
iload 6
invokevirtual org.jcodings.Encoding.prevCharHead:([BIII)I
istore 3
start local 3 6: iload 3
ifne 7
iconst_0
ireturn
7: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.ByteList org.jcodings.Encoding int top int int
StackMap stack:
iload 3
iload 5
if_icmple 10
aload 1
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
iload 3
iload 6
aconst_null
aload 2
invokestatic org.jruby.util.io.EncodingUtils.encAscget:([BII[ILorg/jcodings/Encoding;)I
bipush 10
if_icmpne 10
8: aload 2
aload 1
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
iload 5
iload 3
iload 6
invokevirtual org.jcodings.Encoding.prevCharHead:([BIII)I
istore 4
start local 4 9: iload 4
iconst_m1
if_icmpeq 10
aload 1
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
iload 4
iload 6
aconst_null
aload 2
invokestatic org.jruby.util.io.EncodingUtils.encAscget:([BII[ILorg/jcodings/Encoding;)I
bipush 13
if_icmpne 10
iload 4
istore 3
end local 4 10: StackMap locals:
StackMap stack:
iload 3
iload 5
isub
ireturn
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 str Lorg/jruby/util/CodeRangeable;
1 11 1 bl Lorg/jruby/util/ByteList;
2 11 2 enc Lorg/jcodings/Encoding;
6 11 3 p I
9 10 4 p2 I
3 11 5 beg I
4 11 6 end I
MethodParameters:
Name Flags
str
public static int choppedLength19(org.jruby.util.CodeRangeable, org.jruby.Ruby);
descriptor: (Lorg/jruby/util/CodeRangeable;Lorg/jruby/Ruby;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.jruby.util.StringSupport.choppedLength:(Lorg/jruby/util/CodeRangeable;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Lorg/jruby/util/CodeRangeable;
0 1 1 runtime Lorg/jruby/Ruby;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
str
runtime
public static org.jcodings.Encoding areCompatible(org.jruby.util.CodeRangeable, org.jruby.util.CodeRangeable);
descriptor: (Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
astore 2
start local 2 1: aload 1
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
astore 3
start local 3 2: aload 2
aload 3
if_acmpne 3
aload 2
areturn
3: StackMap locals: org.jcodings.Encoding org.jcodings.Encoding
StackMap stack:
aload 1
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getRealSize:()I
ifne 4
aload 2
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getRealSize:()I
ifne 8
5: aload 2
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 6
aload 1
invokestatic org.jruby.util.StringSupport.isAsciiOnly:(Lorg/jruby/util/CodeRangeable;)Z
ifeq 6
aload 2
goto 7
StackMap locals:
StackMap stack:
6: aload 3
StackMap locals:
StackMap stack: org.jcodings.Encoding
7: areturn
8: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 9
aload 3
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifne 10
StackMap locals:
StackMap stack:
9: aconst_null
areturn
10: StackMap locals:
StackMap stack:
aload 2
aload 0
invokeinterface org.jruby.util.CodeRangeable.scanForCodeRange:()I
aload 3
aload 1
invokeinterface org.jruby.util.CodeRangeable.scanForCodeRange:()I
invokestatic org.jruby.RubyEncoding.areCompatible:(Lorg/jcodings/Encoding;ILorg/jcodings/Encoding;I)Lorg/jcodings/Encoding;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 str1 Lorg/jruby/util/CodeRangeable;
0 11 1 str2 Lorg/jruby/util/CodeRangeable;
1 11 2 enc1 Lorg/jcodings/Encoding;
2 11 3 enc2 Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
str1
str2
public static org.jcodings.Encoding areCompatible(org.jruby.util.ByteList, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
astore 2
start local 2 1: aload 1
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
astore 3
start local 3 2: aload 2
aload 3
if_acmpne 3
aload 2
areturn
3: StackMap locals: org.jcodings.Encoding org.jcodings.Encoding
StackMap stack:
aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
ifne 4
aload 2
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
ifne 8
5: aload 2
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 6
aload 3
aload 1
invokestatic org.jruby.RubyString.scanForCodeRange:(Lorg/jruby/util/ByteList;)I
invokestatic org.jruby.util.StringSupport.isAsciiOnly:(Lorg/jcodings/Encoding;I)Z
ifeq 6
aload 2
goto 7
StackMap locals:
StackMap stack:
6: aload 3
StackMap locals:
StackMap stack: org.jcodings.Encoding
7: areturn
8: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 9
aload 3
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifne 10
StackMap locals:
StackMap stack:
9: aconst_null
areturn
10: StackMap locals:
StackMap stack:
aload 2
aload 0
invokestatic org.jruby.RubyString.scanForCodeRange:(Lorg/jruby/util/ByteList;)I
aload 3
aload 1
invokestatic org.jruby.RubyString.scanForCodeRange:(Lorg/jruby/util/ByteList;)I
invokestatic org.jruby.RubyEncoding.areCompatible:(Lorg/jcodings/Encoding;ILorg/jcodings/Encoding;I)Lorg/jcodings/Encoding;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 str1 Lorg/jruby/util/ByteList;
0 11 1 str2 Lorg/jruby/util/ByteList;
1 11 2 enc1 Lorg/jcodings/Encoding;
2 11 3 enc2 Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
str1
str2
public static org.jruby.util.ByteList addByteLists(org.jruby.util.ByteList, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new org.jruby.util.ByteList
dup
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
invokespecial org.jruby.util.ByteList.<init>:(I)V
astore 2
start local 2 1: aload 2
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
2: aload 0
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 2
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iconst_0
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 1
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 1
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 2
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 value1 Lorg/jruby/util/ByteList;
0 5 1 value2 Lorg/jruby/util/ByteList;
1 5 2 result Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
value1
value2
public static boolean areComparable(org.jruby.util.CodeRangeable, org.jruby.util.CodeRangeable);
descriptor: (Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
astore 2
start local 2 1: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
aload 2
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
if_acmpeq 3
2: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getRealSize:()I
ifeq 3
aload 2
invokevirtual org.jruby.util.ByteList.getRealSize:()I
ifne 4
StackMap locals: org.jruby.util.ByteList
StackMap stack:
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.jruby.util.StringSupport.areComparableViaCodeRange:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 string Lorg/jruby/util/CodeRangeable;
0 5 1 other Lorg/jruby/util/CodeRangeable;
1 5 2 otherValue Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
string
other
public static boolean areComparableViaCodeRange(org.jruby.util.CodeRangeable, org.jruby.util.CodeRangeable);
descriptor: (Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.jruby.util.CodeRangeable.scanForCodeRange:()I
istore 2
start local 2 1: aload 1
invokeinterface org.jruby.util.CodeRangeable.scanForCodeRange:()I
istore 3
start local 3 2: iload 2
bipush 16
if_icmpne 4
iload 3
bipush 16
if_icmpeq 3
aload 1
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 4
StackMap locals: int int
StackMap stack:
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iload 3
bipush 16
if_icmpne 5
aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 5
iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 string Lorg/jruby/util/CodeRangeable;
0 6 1 other Lorg/jruby/util/CodeRangeable;
1 6 2 cr1 I
2 6 3 cr2 I
MethodParameters:
Name Flags
string
other
public static org.jruby.runtime.builtin.IRubyObject rbStrEnumerateLines(org.jruby.RubyString, org.jruby.runtime.ThreadContext, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean);
descriptor: (Lorg/jruby/RubyString;Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, 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 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
invokestatic org.jruby.ast.util.ArgsUtil.getOptionsArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 1: aload 6
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpne 3
2: aload 0
aload 1
aload 2
aload 3
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
aload 4
iload 5
invokestatic org.jruby.util.StringSupport.rbStrEnumerateLines:(Lorg/jruby/RubyString;Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 1
aload 2
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
ldc "$/"
invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 6
aload 4
iload 5
invokestatic org.jruby.util.StringSupport.rbStrEnumerateLines:(Lorg/jruby/RubyString;Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Z)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 4 0 str Lorg/jruby/RubyString;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 name Ljava/lang/String;
0 4 3 arg Lorg/jruby/runtime/builtin/IRubyObject;
0 4 4 block Lorg/jruby/runtime/Block;
0 4 5 wantarray Z
1 4 6 opts Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
str
context
name
arg
block
wantarray
public static org.jruby.runtime.builtin.IRubyObject rbStrEnumerateLines(org.jruby.RubyString, org.jruby.runtime.ThreadContext, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean);
descriptor: (Lorg/jruby/RubyString;Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=29, 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 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 7
start local 7 1: aload 0
astore 10
start local 10 2: iconst_0
istore 17
start local 17 3: iconst_0
istore 18
start local 18 4: aload 4
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpeq 9
5: aload 1
ldc "chomp"
aload 4
invokestatic org.jruby.ast.util.ArgsUtil.extractKeywordArg:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 19
start local 19 6: aload 19
ifnonnull 7
aload 19
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifne 7
iconst_0
goto 8
StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block int org.jruby.Ruby top top org.jruby.runtime.builtin.IRubyObject top top top top top top int int org.jruby.runtime.builtin.IRubyObject
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: istore 18
end local 19 9: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 14
10: iload 6
ifeq 16
11: aload 7
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
ldc "passing a block to String#lines is deprecated"
invokevirtual org.jruby.common.RubyWarnings.warning:(Ljava/lang/String;)V
12: iconst_0
istore 6
13: goto 16
14: StackMap locals:
StackMap stack:
iload 6
ifne 16
15: aload 7
aload 0
aload 2
iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject[]
invokestatic org.jruby.RubyEnumerator.enumeratorize:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
16: StackMap locals:
StackMap stack:
aload 3
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpne 20
17: iload 6
ifeq 18
aload 7
aload 0
invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
18: StackMap locals:
StackMap stack:
aload 5
aload 1
aload 0
invokevirtual org.jruby.runtime.Block.yieldSpecific:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
19: aload 10
areturn
20: StackMap locals:
StackMap stack:
iload 6
ifeq 21
aload 7
invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
goto 22
StackMap locals:
StackMap stack:
21: aconst_null
StackMap locals:
StackMap stack: org.jruby.RubyArray
22: astore 19
start local 19 23: aload 7
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
ldc "$/"
invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 20
start local 20 24: aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
astore 21
start local 21 25: aload 0
invokevirtual org.jruby.RubyString.newFrozen:()Lorg/jruby/RubyString;
astore 0
26: aload 0
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
astore 22
start local 22 27: aload 0
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.begin:()I
dup
istore 13
start local 13 28: istore 11
start local 11 29: aload 0
invokevirtual org.jruby.RubyString.size:()I
istore 23
start local 23 30: iload 11
iload 23
iadd
istore 12
start local 12 31: aload 21
invokevirtual org.jruby.RubyString.size:()I
istore 24
start local 24 32: aload 21
aload 20
if_acmpne 33
aload 0
invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
goto 34
StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block int org.jruby.Ruby top top org.jruby.runtime.builtin.IRubyObject int int int top top top int int org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString byte[] int int
StackMap stack:
33: aload 0
aload 21
invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
StackMap locals:
StackMap stack: org.jcodings.Encoding
34: astore 8
start local 8 35: iload 24
ifne 40
36: aload 0
aload 1
iload 18
aload 5
aload 19
aload 22
iload 11
iload 23
iload 12
aload 8
iload 13
invokestatic org.jruby.util.StringSupport.rbStrEnumerateLinesEmptySep:(Lorg/jruby/RubyString;Lorg/jruby/runtime/ThreadContext;ZLorg/jruby/runtime/Block;Lorg/jruby/RubyArray;[BIIILorg/jcodings/Encoding;I)V
37: iload 6
ifeq 38
aload 19
goto 39
StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding top org.jruby.runtime.builtin.IRubyObject int int int top top top int int org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString byte[] int int
StackMap stack:
38: aload 10
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
39: areturn
40: StackMap locals:
StackMap stack:
aload 21
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 25
start local 25 41: aload 25
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
astore 26
start local 26 42: aload 25
invokevirtual org.jruby.util.ByteList.begin:()I
istore 27
start local 27 43: aload 25
invokevirtual org.jruby.util.ByteList.length:()I
aload 8
invokevirtual org.jcodings.Encoding.minLength:()I
if_icmpne 45
aload 8
aload 26
iload 27
aload 25
invokevirtual org.jruby.util.ByteList.length:()I
invokevirtual org.jcodings.Encoding.isNewLine:([BII)Z
ifeq 45
44: iconst_1
istore 17
45: StackMap locals: org.jruby.util.ByteList byte[] int
StackMap stack:
aload 21
aload 20
if_acmpne 71
aload 8
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifne 71
46: aload 7
aload 26
iload 27
iload 24
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;[BII)Lorg/jruby/RubyString;
astore 21
47: aload 1
aload 21
aload 7
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 8
invokevirtual org.jruby.runtime.encoding.EncodingService.convertEncodingToRubyEncoding:(Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
iconst_0
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.io.EncodingUtils.rbStrEncode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
astore 21
48: aload 21
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 25
49: aload 25
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
astore 26
50: aload 25
invokevirtual org.jruby.util.ByteList.begin:()I
istore 27
51: aload 25
invokevirtual org.jruby.util.ByteList.realSize:()I
istore 24
52: goto 71
53: StackMap locals:
StackMap stack:
aload 26
iload 27
iload 24
aload 22
iload 13
iload 12
iload 13
isub
aload 8
invokestatic org.jruby.util.StringSupport.memsearch:([BII[BIILorg/jcodings/Encoding;)I
istore 28
start local 28 54: iload 28
ifge 55
goto 72
55: StackMap locals: int
StackMap stack:
iload 13
iload 28
iadd
istore 15
start local 15 56: aload 8
aload 22
iload 13
iload 15
iload 12
invokevirtual org.jcodings.Encoding.rightAdjustCharHead:([BIII)I
istore 16
start local 16 57: iload 15
iload 16
if_icmpeq 60
58: iload 16
istore 13
59: goto 71
60: StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding top org.jruby.runtime.builtin.IRubyObject int int int top int int int int org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString byte[] int int org.jruby.util.ByteList byte[] int int
StackMap stack:
iload 15
iload 24
iadd
dup
istore 15
istore 14
start local 14 61: iload 18
ifeq 66
62: iload 17
ifeq 65
63: aload 22
iload 13
iload 14
aload 8
invokestatic org.jruby.util.StringSupport.chomp_newline:([BIILorg/jcodings/Encoding;)I
istore 14
64: goto 66
65: StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding top org.jruby.runtime.builtin.IRubyObject int int int int int int int int org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString byte[] int int org.jruby.util.ByteList byte[] int int
StackMap stack:
iload 14
iload 24
isub
istore 14
66: StackMap locals:
StackMap stack:
aload 0
aload 7
iload 13
iload 11
isub
iload 14
iload 13
isub
invokevirtual org.jruby.RubyString.substr:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
start local 9 67: iload 6
ifeq 68
aload 19
aload 9
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
goto 70
68: StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject int int int int int int int int org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString byte[] int int org.jruby.util.ByteList byte[] int int
StackMap stack:
aload 5
aload 1
aload 9
invokevirtual org.jruby.runtime.Block.yieldSpecific:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
69: aload 0
aload 22
iload 23
invokevirtual org.jruby.RubyString.modifyCheck:([BI)V
70: StackMap locals:
StackMap stack:
iload 15
istore 13
end local 28 end local 16 end local 15 end local 14 end local 9 71: StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding top org.jruby.runtime.builtin.IRubyObject int int int top top top int int org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString byte[] int int org.jruby.util.ByteList byte[] int
StackMap stack:
iload 13
iload 12
if_icmplt 53
72: StackMap locals:
StackMap stack:
iload 13
iload 12
if_icmpeq 83
73: iload 18
ifeq 80
74: iload 17
ifeq 77
75: aload 22
iload 13
iload 12
aload 8
invokestatic org.jruby.util.StringSupport.chomp_newline:([BIILorg/jcodings/Encoding;)I
istore 12
76: goto 80
StackMap locals:
StackMap stack:
77: iload 12
iload 13
isub
iload 24
if_icmplt 80
78: aload 22
iload 12
iload 24
isub
aload 26
iload 27
iload 24
invokestatic org.jruby.util.ByteList.memcmp:([BI[BII)I
ifne 80
79: iload 12
iload 24
isub
istore 12
80: StackMap locals:
StackMap stack:
aload 0
aload 7
iload 13
iload 11
isub
iload 12
iload 13
isub
invokevirtual org.jruby.RubyString.substr:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
start local 9 81: iload 6
ifeq 82
aload 19
aload 9
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
goto 83
82: StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject int int int top top top int int org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString byte[] int int org.jruby.util.ByteList byte[] int
StackMap stack:
aload 5
aload 1
aload 9
invokevirtual org.jruby.runtime.Block.yieldSpecific:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 9 83: StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding top org.jruby.runtime.builtin.IRubyObject int int int top top top int int org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString byte[] int int org.jruby.util.ByteList byte[] int
StackMap stack:
iload 6
ifeq 84
aload 19
goto 85
StackMap locals:
StackMap stack:
84: aload 10
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
85: areturn
end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 13 end local 12 end local 11 end local 10 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 86 0 str Lorg/jruby/RubyString;
0 86 1 context Lorg/jruby/runtime/ThreadContext;
0 86 2 name Ljava/lang/String;
0 86 3 arg Lorg/jruby/runtime/builtin/IRubyObject;
0 86 4 opts Lorg/jruby/runtime/builtin/IRubyObject;
0 86 5 block Lorg/jruby/runtime/Block;
0 86 6 wantarray Z
1 86 7 runtime Lorg/jruby/Ruby;
35 86 8 enc Lorg/jcodings/Encoding;
67 71 9 line Lorg/jruby/runtime/builtin/IRubyObject;
81 83 9 line Lorg/jruby/runtime/builtin/IRubyObject;
2 86 10 orig Lorg/jruby/runtime/builtin/IRubyObject;
29 86 11 ptr I
31 86 12 pend I
28 86 13 subptr I
61 71 14 subend I
56 71 15 hit I
57 71 16 adjusted I
3 86 17 rsnewline Z
4 86 18 chomp Z
6 9 19 _chomp Lorg/jruby/runtime/builtin/IRubyObject;
23 86 19 ary Lorg/jruby/RubyArray;
24 86 20 defaultSep Lorg/jruby/runtime/builtin/IRubyObject;
25 86 21 rs Lorg/jruby/RubyString;
27 86 22 strBytes [B
30 86 23 len I
32 86 24 rslen I
41 86 25 rsByteList Lorg/jruby/util/ByteList;
42 86 26 rsbytes [B
43 86 27 rsptr I
54 71 28 pos I
MethodParameters:
Name Flags
str
context
name
arg
opts
block
wantarray
private static void rbStrEnumerateLinesEmptySep(org.jruby.RubyString, org.jruby.runtime.ThreadContext, boolean, org.jruby.runtime.Block, org.jruby.RubyArray, byte[], int, int, int, org.jcodings.Encoding, int);
descriptor: (Lorg/jruby/RubyString;Lorg/jruby/runtime/ThreadContext;ZLorg/jruby/runtime/Block;Lorg/jruby/RubyArray;[BIIILorg/jcodings/Encoding;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=16, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: iconst_1
newarray 10
astore 11
start local 11 1: iconst_m1
istore 12
start local 12 2: iload 10
istore 13
start local 13 3: goto 26
4: StackMap locals: int[] int int
StackMap stack:
aload 5
iload 13
iload 8
aload 11
aload 9
invokestatic org.jruby.util.io.EncodingUtils.encAscget:([BII[ILorg/jcodings/Encoding;)I
bipush 13
if_icmpeq 5
aload 11
iconst_0
iconst_0
iastore
5: StackMap locals:
StackMap stack:
aload 11
iconst_0
iaload
aload 9
aload 5
iload 13
aload 11
iconst_0
iaload
iadd
iload 8
invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
iadd
istore 14
start local 14 6: aload 9
aload 5
iload 13
aload 11
iconst_0
iaload
iadd
iload 8
invokevirtual org.jcodings.Encoding.isNewLine:([BII)Z
ifeq 11
7: iload 12
iload 13
if_icmpne 8
goto 16
8: StackMap locals: int
StackMap stack:
iload 13
iload 14
iadd
istore 13
9: iload 10
iconst_m1
if_icmpeq 13
iload 13
istore 12
10: goto 13
11: StackMap locals:
StackMap stack:
iload 10
iconst_m1
if_icmpne 12
iload 13
istore 10
12: StackMap locals:
StackMap stack:
iload 13
iload 14
iadd
istore 13
13: StackMap locals:
StackMap stack:
iconst_0
istore 14
14: iload 13
iload 8
15: if_icmplt 4
16: StackMap locals:
StackMap stack:
iload 10
iconst_m1
if_icmpne 17
goto 27
17: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
iload 10
iload 6
isub
18: iload 13
iload 10
isub
iload 2
ifeq 19
iconst_0
goto 20
StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext int org.jruby.runtime.Block org.jruby.RubyArray byte[] int int int org.jcodings.Encoding int int[] int int int
StackMap stack: org.jruby.RubyString org.jruby.Ruby int int
19: iload 14
StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext int org.jruby.runtime.Block org.jruby.RubyArray byte[] int int int org.jcodings.Encoding int int[] int int int
StackMap stack: org.jruby.RubyString org.jruby.Ruby int int int
20: iadd
21: invokevirtual org.jruby.RubyString.makeSharedString:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
astore 15
start local 15 22: aload 4
ifnull 23
aload 4
aload 15
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
goto 25
23: StackMap locals: org.jruby.RubyString
StackMap stack:
aload 3
aload 1
aload 15
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
24: aload 0
aload 5
iload 7
invokevirtual org.jruby.RubyString.modifyCheck:([BI)V
25: StackMap locals:
StackMap stack:
iconst_m1
dup
istore 12
istore 10
end local 15 end local 14 26: StackMap locals:
StackMap stack:
iload 13
iload 8
if_icmplt 4
27: StackMap locals:
StackMap stack:
return
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 28 0 str Lorg/jruby/RubyString;
0 28 1 context Lorg/jruby/runtime/ThreadContext;
0 28 2 chomp Z
0 28 3 block Lorg/jruby/runtime/Block;
0 28 4 ary Lorg/jruby/RubyArray;
0 28 5 strBytes [B
0 28 6 ptr I
0 28 7 len I
0 28 8 pend I
0 28 9 enc Lorg/jcodings/Encoding;
0 28 10 subptr I
1 28 11 n [I
2 28 12 eol I
3 28 13 subend I
6 26 14 rslen I
22 26 15 line Lorg/jruby/RubyString;
MethodParameters:
Name Flags
str
context
chomp final
block
ary
strBytes final
ptr final
len final
pend final
enc final
subptr
private static int chomp_newline(byte[], int, int, org.jcodings.Encoding);
descriptor: ([BIILorg/jcodings/Encoding;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 0
iload 1
iload 2
iload 2
invokevirtual org.jcodings.Encoding.prevCharHead:([BIII)I
istore 4
start local 4 1: aload 3
aload 0
iload 4
iload 2
invokevirtual org.jcodings.Encoding.isNewLine:([BII)Z
ifeq 5
2: iload 4
istore 2
3: aload 3
aload 0
iload 1
iload 2
iload 2
invokevirtual org.jcodings.Encoding.prevCharHead:([BIII)I
istore 4
4: iload 4
iconst_m1
if_icmpeq 5
aload 0
iload 4
iload 2
aconst_null
aload 3
invokestatic org.jruby.util.io.EncodingUtils.encAscget:([BII[ILorg/jcodings/Encoding;)I
bipush 13
if_icmpne 5
iload 4
istore 2
5: StackMap locals: int
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 6 0 bytes [B
0 6 1 p I
0 6 2 e I
0 6 3 enc Lorg/jcodings/Encoding;
1 6 4 prev I
MethodParameters:
Name Flags
bytes
p
e
enc
public static int memsearch(byte[], int, int, byte[], int, int, org.jcodings.Encoding);
descriptor: ([BII[BIILorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, 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 1
istore 7
start local 7 1: iload 4
istore 8
start local 8 2: iload 2
iload 5
if_icmple 3
iconst_m1
ireturn
3: StackMap locals: int int
StackMap stack:
iload 2
iload 5
if_icmpne 7
4: aload 0
iload 1
aload 3
iload 4
iload 2
invokestatic org.jruby.util.ByteList.memcmp:([BI[BII)I
ifne 5
iconst_0
goto 6
StackMap locals:
StackMap stack:
5: iconst_m1
StackMap locals:
StackMap stack: int
6: ireturn
7: StackMap locals:
StackMap stack:
iload 2
iconst_1
if_icmpge 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iload 2
iconst_1
if_icmpne 14
10: aload 3
iload 8
aload 0
iload 7
baload
iload 5
invokestatic org.jruby.util.StringSupport.memchr:([BIII)I
istore 9
start local 9 11: iload 9
iconst_m1
if_icmpeq 13
12: iload 9
iload 8
isub
ireturn
13: StackMap locals: int
StackMap stack:
iconst_m1
ireturn
end local 9 14: StackMap locals:
StackMap stack:
iload 2
bipush 8
if_icmpgt 16
15: aload 0
iload 1
iload 2
aload 3
iload 4
iload 5
invokestatic org.jruby.util.StringSupport.rb_memsearch_ss:([BII[BII)I
ireturn
16: StackMap locals:
StackMap stack:
aload 6
getstatic org.jcodings.specific.UTF8Encoding.INSTANCE:Lorg/jcodings/specific/UTF8Encoding;
if_acmpne 18
17: aload 0
iload 1
iload 2
aload 3
iload 4
iload 5
invokestatic org.jruby.util.StringSupport.rb_memsearch_qs_utf8:([BII[BII)I
ireturn
18: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
aload 3
iload 4
iload 5
invokestatic org.jruby.util.StringSupport.rb_memsearch_qs:([BII[BII)I
ireturn
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 xBytes [B
0 19 1 x0 I
0 19 2 m I
0 19 3 yBytes [B
0 19 4 y0 I
0 19 5 n I
0 19 6 enc Lorg/jcodings/Encoding;
1 19 7 x I
2 19 8 y I
11 14 9 ys I
MethodParameters:
Name Flags
xBytes
x0
m
yBytes
y0
n
enc
public static org.jruby.util.CodeRangeable trTransHelper(org.jruby.util.CodeRangeable, org.jruby.util.CodeRangeable, org.jruby.util.CodeRangeable, boolean);
descriptor: (Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;Z)Lorg/jruby/util/CodeRangeable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=32, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
astore 4
start local 4 1: aload 2
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
astore 5
start local 5 2: aload 0
invokeinterface org.jruby.util.CodeRangeable.getCodeRange:()I
istore 6
start local 6 3: aload 0
aload 1
invokeinterface org.jruby.util.CodeRangeable.checkEncoding:(Lorg/jruby/util/CodeRangeable;)Lorg/jcodings/Encoding;
astore 7
start local 7 4: aload 0
aload 2
invokeinterface org.jruby.util.CodeRangeable.checkEncoding:(Lorg/jruby/util/CodeRangeable;)Lorg/jcodings/Encoding;
astore 8
start local 8 5: aload 7
aload 8
if_acmpne 6
aload 7
goto 7
StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding
StackMap stack:
6: aload 1
aload 2
invokeinterface org.jruby.util.CodeRangeable.checkEncoding:(Lorg/jruby/util/CodeRangeable;)Lorg/jcodings/Encoding;
StackMap locals:
StackMap stack: org.jcodings.Encoding
7: astore 9
start local 9 8: new org.jruby.util.StringSupport$TR
dup
aload 4
invokespecial org.jruby.util.StringSupport$TR.<init>:(Lorg/jruby/util/ByteList;)V
astore 10
start local 10 9: iconst_0
istore 11
start local 11 10: iconst_1
newarray 10
astore 12
start local 12 11: aload 1
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iconst_1
if_icmple 16
12: aload 10
getfield org.jruby.util.StringSupport$TR.buf:[B
aload 10
getfield org.jruby.util.StringSupport$TR.p:I
aload 10
getfield org.jruby.util.StringSupport$TR.pend:I
aload 12
aload 9
invokestatic org.jruby.util.io.EncodingUtils.encAscget:([BII[ILorg/jcodings/Encoding;)I
bipush 94
if_icmpne 16
13: aload 10
getfield org.jruby.util.StringSupport$TR.p:I
iconst_1
iadd
aload 10
getfield org.jruby.util.StringSupport$TR.pend:I
if_icmpge 16
14: iconst_1
istore 11
15: aload 10
dup
getfield org.jruby.util.StringSupport$TR.p:I
iconst_1
iadd
putfield org.jruby.util.StringSupport$TR.p:I
16: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[]
StackMap stack:
iconst_0
istore 15
start local 15 17: sipush 256
newarray 10
astore 16
start local 16 18: new org.jruby.util.StringSupport$TR
dup
aload 5
invokespecial org.jruby.util.StringSupport$TR.<init>:(Lorg/jruby/util/ByteList;)V
astore 17
start local 17 19: iconst_0
istore 18
start local 18 20: aconst_null
astore 19
start local 19 21: aload 0
aload 0
invokestatic org.jruby.util.io.EncodingUtils.STR_ENC_GET:(Lorg/jruby/util/ByteListHolder;)Lorg/jcodings/Encoding;
invokestatic org.jruby.util.StringSupport.isSingleByteOptimizable:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)Z
istore 20
start local 20 22: iload 11
ifeq 45
23: iconst_0
istore 21
start local 21 24: goto 27
25: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] top top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int int
StackMap stack:
aload 16
iload 21
iconst_1
iastore
26: iinc 21 1
StackMap locals:
StackMap stack:
27: iload 21
sipush 256
if_icmplt 25
end local 21 28: goto 34
start local 13 29: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int
StackMap stack:
iload 13
sipush 256
if_icmpge 32
30: aload 16
iload 13
iconst_m1
iastore
31: goto 34
32: StackMap locals:
StackMap stack:
aload 19
ifnonnull 33
new org.jcodings.util.IntHash
dup
invokespecial org.jcodings.util.IntHash.<init>:()V
astore 19
33: StackMap locals:
StackMap stack:
aload 19
iload 13
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.jcodings.util.IntHash.put:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 13 34: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] top top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int
StackMap stack:
aload 10
aload 9
invokestatic org.jruby.util.StringSupport.trNext:(Lorg/jruby/util/StringSupport$TR;Lorg/jcodings/Encoding;)I
dup
istore 13
start local 13 35: iconst_m1
if_icmpne 29
36: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int
StackMap stack:
aload 17
aload 9
invokestatic org.jruby.util.StringSupport.trNext:(Lorg/jruby/util/StringSupport$TR;Lorg/jcodings/Encoding;)I
dup
istore 13
iconst_m1
if_icmpne 36
37: aload 17
getfield org.jruby.util.StringSupport$TR.now:I
istore 15
38: iconst_0
istore 21
start local 21 39: goto 43
40: StackMap locals: int
StackMap stack:
aload 16
iload 21
iaload
iconst_m1
if_icmpeq 42
41: aload 16
iload 21
iload 15
iastore
42: StackMap locals:
StackMap stack:
iinc 21 1
StackMap locals:
StackMap stack:
43: iload 21
sipush 256
if_icmplt 40
end local 21 44: goto 61
end local 13 45: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] top top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int
StackMap stack:
iconst_0
istore 21
start local 21 46: goto 49
47: StackMap locals: int
StackMap stack:
aload 16
iload 21
iconst_m1
iastore
48: iinc 21 1
StackMap locals:
StackMap stack:
49: iload 21
sipush 256
if_icmplt 47
end local 21 50: goto 59
start local 13 51: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int
StackMap stack:
aload 17
aload 9
invokestatic org.jruby.util.StringSupport.trNext:(Lorg/jruby/util/StringSupport$TR;Lorg/jcodings/Encoding;)I
istore 21
start local 21 52: iload 21
iconst_m1
if_icmpne 53
aload 17
getfield org.jruby.util.StringSupport$TR.now:I
istore 21
53: StackMap locals: int
StackMap stack:
iload 13
sipush 256
if_icmpge 57
54: aload 16
iload 13
iload 21
iastore
55: aload 9
iload 21
invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
iconst_1
if_icmpeq 59
iconst_0
istore 20
56: goto 59
57: StackMap locals:
StackMap stack:
aload 19
ifnonnull 58
new org.jcodings.util.IntHash
dup
invokespecial org.jcodings.util.IntHash.<init>:()V
astore 19
58: StackMap locals:
StackMap stack:
aload 19
iload 13
iload 21
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.jcodings.util.IntHash.put:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 21 end local 13 59: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] top top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int
StackMap stack:
aload 10
aload 9
invokestatic org.jruby.util.StringSupport.trNext:(Lorg/jruby/util/StringSupport$TR;Lorg/jcodings/Encoding;)I
dup
istore 13
start local 13 60: iconst_m1
if_icmpne 51
61: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int
StackMap stack:
iload 6
bipush 32
if_icmpne 63
aload 9
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 63
62: bipush 16
istore 6
63: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.jruby.util.CodeRangeable.modifyAndKeepCodeRange:()V
64: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 21
start local 21 65: iload 21
aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 22
start local 22 66: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 23
start local 23 67: iload 3
ifeq 121
68: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getRealSize:()I
istore 26
start local 26 69: iconst_m1
istore 27
start local 27 70: iload 26
newarray 8
astore 28
start local 28 71: iconst_0
istore 29
start local 29 72: goto 117
73: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int int int byte[] top top int int byte[] int
StackMap stack:
iconst_0
istore 30
start local 30 74: aload 7
aload 23
iload 21
iload 22
invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jcodings/Encoding;[BII)I
dup
istore 13
istore 14
start local 14 75: aload 7
iload 13
invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
istore 24
start local 24 76: aload 9
aload 7
if_acmpne 77
iload 24
goto 78
StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int int int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int int int byte[] int top int int byte[] int int
StackMap stack:
77: aload 9
iload 13
invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
StackMap locals:
StackMap stack: int
78: istore 25
start local 25 79: iload 21
iload 24
iadd
istore 21
80: iload 13
sipush 256
if_icmpge 83
81: iload 13
aload 16
aload 19
iload 11
iload 15
iconst_0
invokestatic org.jruby.util.StringSupport.trCode:(I[ILorg/jcodings/util/IntHash;ZIZ)I
istore 13
82: goto 97
StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int int int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int int int byte[] int int int int byte[] int int
StackMap stack:
83: aload 19
ifnull 96
84: aload 19
iload 13
invokevirtual org.jcodings.util.IntHash.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
astore 31
start local 31 85: aload 31
ifnonnull 91
86: iload 11
ifeq 89
87: iload 15
istore 13
88: goto 97
89: StackMap locals: java.lang.Integer
StackMap stack:
iconst_m1
istore 13
90: goto 97
StackMap locals:
StackMap stack:
91: iload 11
ifeq 94
92: iconst_m1
istore 13
93: goto 97
94: StackMap locals:
StackMap stack:
aload 31
invokevirtual java.lang.Integer.intValue:()I
istore 13
end local 31 95: goto 97
96: StackMap locals:
StackMap stack:
iconst_m1
istore 13
97: StackMap locals:
StackMap stack:
iload 13
iconst_m1
if_icmpeq 105
98: iload 27
iload 13
if_icmpne 101
99: iload 6
bipush 16
if_icmpne 117
iload 13
invokestatic org.jcodings.Encoding.isAscii:(I)Z
ifne 117
bipush 32
istore 6
100: goto 117
101: StackMap locals:
StackMap stack:
iload 13
istore 27
102: aload 9
iload 13
invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
istore 25
103: iconst_1
istore 18
104: goto 111
105: StackMap locals:
StackMap stack:
iconst_m1
istore 27
106: iload 14
istore 13
107: aload 9
aload 7
if_acmpeq 111
iconst_1
istore 30
108: goto 111
109: StackMap locals:
StackMap stack:
iload 26
iconst_2
imul
istore 26
110: aload 28
iload 26
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 28
111: StackMap locals:
StackMap stack:
iload 29
iload 25
iadd
iload 26
if_icmpge 109
112: aload 9
iload 13
aload 28
iload 29
invokevirtual org.jcodings.Encoding.codeToMbc:(I[BI)I
pop
113: iload 30
ifeq 115
iload 21
iload 22
if_icmpge 114
aload 23
iload 21
aload 28
iload 29
iload 25
invokestatic org.jruby.util.ByteList.memcmp:([BI[BII)I
ifeq 115
StackMap locals:
StackMap stack:
114: iconst_1
istore 18
115: StackMap locals:
StackMap stack:
iload 6
bipush 16
if_icmpne 116
iload 13
invokestatic org.jcodings.Encoding.isAscii:(I)Z
ifne 116
bipush 32
istore 6
116: StackMap locals:
StackMap stack:
iload 29
iload 25
iadd
istore 29
end local 30 end local 25 end local 24 end local 14 117: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int int int byte[] top top int int byte[] int
StackMap stack:
iload 21
iload 22
if_icmplt 73
118: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
aload 28
invokevirtual org.jruby.util.ByteList.setUnsafeBytes:([B)V
119: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
iload 29
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
end local 29 end local 28 end local 27 end local 26 120: goto 183
StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int int int byte[]
StackMap stack:
121: aload 9
invokevirtual org.jcodings.Encoding.isSingleByte:()Z
ifne 133
iload 20
ifeq 135
aload 19
ifnonnull 135
122: goto 133
123: StackMap locals:
StackMap stack:
aload 23
iload 21
baload
sipush 255
iand
istore 13
124: aload 16
iload 13
iaload
iconst_m1
if_icmpeq 131
125: iload 11
ifne 129
126: aload 16
iload 13
iaload
istore 13
127: aload 23
iload 21
iload 13
i2b
bastore
128: goto 130
129: StackMap locals:
StackMap stack:
aload 23
iload 21
iload 15
i2b
bastore
130: StackMap locals:
StackMap stack:
iconst_1
istore 18
131: StackMap locals:
StackMap stack:
iload 6
bipush 16
if_icmpne 132
iload 13
invokestatic org.jcodings.Encoding.isAscii:(I)Z
ifne 132
bipush 32
istore 6
132: StackMap locals:
StackMap stack:
iinc 21 1
133: StackMap locals:
StackMap stack:
iload 21
iload 22
if_icmplt 123
134: goto 183
135: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.realSize:()I
i2d
ldc 1.2
dmul
d2i
istore 26
start local 26 136: iload 26
newarray 8
astore 27
start local 27 137: iconst_0
istore 28
start local 28 138: goto 180
139: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int int int byte[] top top int byte[] int
StackMap stack:
iconst_0
istore 29
start local 29 140: aload 7
aload 23
iload 21
iload 22
invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jcodings/Encoding;[BII)I
dup
istore 13
istore 14
start local 14 141: aload 7
iload 13
invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
istore 24
start local 24 142: aload 9
aload 7
if_acmpne 143
iload 24
goto 144
StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int int int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int int int byte[] int top int byte[] int int
StackMap stack:
143: aload 9
iload 13
invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
StackMap locals:
StackMap stack: int
144: istore 25
start local 25 145: iload 13
sipush 256
if_icmpge 148
146: aload 16
iload 13
iaload
istore 13
147: goto 164
StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int int int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int int int byte[] int int int byte[] int int
StackMap stack:
148: aload 19
ifnull 161
149: aload 19
iload 13
invokevirtual org.jcodings.util.IntHash.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
astore 30
start local 30 150: aload 30
ifnonnull 156
151: iload 11
ifeq 154
152: iload 15
istore 13
153: goto 164
154: StackMap locals: java.lang.Integer
StackMap stack:
iconst_m1
istore 13
155: goto 164
StackMap locals:
StackMap stack:
156: iload 11
ifeq 159
157: iconst_m1
istore 13
158: goto 164
159: StackMap locals:
StackMap stack:
aload 30
invokevirtual java.lang.Integer.intValue:()I
istore 13
end local 30 160: goto 164
161: StackMap locals:
StackMap stack:
iload 11
ifeq 162
iload 15
goto 163
StackMap locals:
StackMap stack:
162: iconst_m1
StackMap locals:
StackMap stack: int
163: istore 13
164: StackMap locals:
StackMap stack:
iload 13
iconst_m1
if_icmpeq 168
165: aload 9
iload 13
invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
istore 25
166: iconst_1
istore 18
167: goto 173
168: StackMap locals:
StackMap stack:
iload 14
istore 13
169: aload 9
aload 7
if_acmpeq 173
iconst_1
istore 29
170: goto 173
171: StackMap locals:
StackMap stack:
iload 26
iconst_1
ishl
istore 26
172: aload 27
iload 26
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 27
173: StackMap locals:
StackMap stack:
iload 28
iload 25
iadd
iload 26
if_icmpge 171
174: aload 9
iload 13
aload 27
iload 28
invokevirtual org.jcodings.Encoding.codeToMbc:(I[BI)I
pop
175: iload 29
ifeq 177
aload 23
iload 21
aload 27
iload 28
iload 25
invokestatic org.jruby.util.ByteList.memcmp:([BI[BII)I
ifeq 177
176: iconst_1
istore 18
177: StackMap locals:
StackMap stack:
iload 6
bipush 16
if_icmpne 178
iload 13
invokestatic org.jcodings.Encoding.isAscii:(I)Z
ifne 178
bipush 32
istore 6
178: StackMap locals:
StackMap stack:
iload 21
iload 24
iadd
istore 21
179: iload 28
iload 25
iadd
istore 28
end local 29 end local 25 end local 24 end local 14 180: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int int int byte[] top top int byte[] int
StackMap stack:
iload 21
iload 22
if_icmplt 139
181: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
aload 27
invokevirtual org.jruby.util.ByteList.setUnsafeBytes:([B)V
182: aload 0
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
iload 28
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
end local 28 end local 27 end local 26 183: StackMap locals: org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable org.jruby.util.CodeRangeable int org.jruby.util.ByteList org.jruby.util.ByteList int org.jcodings.Encoding org.jcodings.Encoding org.jcodings.Encoding org.jruby.util.StringSupport$TR int int[] int top int int[] org.jruby.util.StringSupport$TR int org.jcodings.util.IntHash int int int byte[]
StackMap stack:
iload 18
ifeq 187
184: iload 6
bipush 48
if_icmpeq 185
aload 0
iload 6
invokeinterface org.jruby.util.CodeRangeable.setCodeRange:(I)V
185: StackMap locals:
StackMap stack:
aload 0
aload 9
invokestatic org.jruby.util.StringSupport.associateEncoding:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)V
186: aload 0
areturn
187: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 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 188 0 self Lorg/jruby/util/CodeRangeable;
0 188 1 srcStr Lorg/jruby/util/CodeRangeable;
0 188 2 replStr Lorg/jruby/util/CodeRangeable;
0 188 3 sflag Z
1 188 4 srcList Lorg/jruby/util/ByteList;
2 188 5 replList Lorg/jruby/util/ByteList;
3 188 6 cr I
4 188 7 e1 Lorg/jcodings/Encoding;
5 188 8 e2 Lorg/jcodings/Encoding;
8 188 9 enc Lorg/jcodings/Encoding;
9 188 10 trSrc Lorg/jruby/util/StringSupport$TR;
10 188 11 cflag Z
11 188 12 l [I
29 34 13 c I
35 45 13 c I
51 59 13 c I
60 188 13 c I
75 117 14 c0 I
141 180 14 c0 I
17 188 15 last I
18 188 16 trans [I
19 188 17 trRepl Lorg/jruby/util/StringSupport$TR;
20 188 18 modify Z
21 188 19 hash Lorg/jcodings/util/IntHash<Ljava/lang/Integer;>;
22 188 20 singlebyte Z
24 28 21 i I
39 44 21 i I
46 50 21 i I
52 59 21 r I
65 188 21 s I
66 188 22 send I
67 188 23 sbytes [B
76 117 24 clen I
79 117 25 tlen I
69 120 26 max I
70 120 27 save I
71 120 28 buf [B
72 120 29 t I
74 117 30 mayModify Z
85 95 31 tmp Ljava/lang/Integer;
142 180 24 clen I
145 180 25 tlen I
136 183 26 max I
137 183 27 buf [B
138 183 28 t I
140 180 29 mayModify Z
150 160 30 tmp Ljava/lang/Integer;
MethodParameters:
Name Flags
self
srcStr
replStr
sflag
public static org.jruby.util.CodeRangeable trTransHelper(org.jruby.Ruby, org.jruby.util.CodeRangeable, org.jruby.util.CodeRangeable, org.jruby.util.CodeRangeable, boolean);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;Z)Lorg/jruby/util/CodeRangeable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
aload 3
iload 4
invokestatic org.jruby.util.StringSupport.trTransHelper:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;Z)Lorg/jruby/util/CodeRangeable;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 5
start local 5 3: aload 0
aload 5
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
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 4 0 runtime Lorg/jruby/Ruby;
0 4 1 self Lorg/jruby/util/CodeRangeable;
0 4 2 srcStr Lorg/jruby/util/CodeRangeable;
0 4 3 replStr Lorg/jruby/util/CodeRangeable;
0 4 4 sflag Z
3 4 5 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
runtime
self
srcStr
replStr
sflag
private static int trCode(int, int[], org.jcodings.util.IntHash<java.lang.Integer>, boolean, int, );
descriptor: (I[ILorg/jcodings/util/IntHash;ZIZ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 0
sipush 256
if_icmpge 2
1: aload 1
iload 0
iaload
ireturn
2: StackMap locals:
StackMap stack:
aload 2
ifnull 11
3: aload 2
iload 0
invokevirtual org.jcodings.util.IntHash.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
astore 6
start local 6 4: aload 6
ifnonnull 8
5: iload 3
ifeq 6
iload 4
goto 7
StackMap locals: java.lang.Integer
StackMap stack:
6: iconst_m1
StackMap locals:
StackMap stack: int
7: ireturn
8: StackMap locals:
StackMap stack:
iload 3
ifeq 9
iconst_m1
goto 10
StackMap locals:
StackMap stack:
9: aload 6
invokevirtual java.lang.Integer.intValue:()I
StackMap locals:
StackMap stack: int
10: ireturn
end local 6 11: StackMap locals:
StackMap stack:
iload 3
ifeq 12
iload 5
ifeq 12
iload 4
goto 13
StackMap locals:
StackMap stack:
12: iconst_m1
StackMap locals:
StackMap stack: int
13: 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 14 0 c I
0 14 1 trans [I
0 14 2 hash Lorg/jcodings/util/IntHash<Ljava/lang/Integer;>;
0 14 3 cflag Z
0 14 4 last I
0 14 5 set Z
4 11 6 tmp Ljava/lang/Integer;
Signature: (I[ILorg/jcodings/util/IntHash<Ljava/lang/Integer;>;ZIZ)I
MethodParameters:
Name Flags
c
trans
hash
cflag
last
set
public static int multiByteCasecmp(org.jcodings.Encoding, org.jruby.util.ByteList, org.jruby.util.ByteList);
descriptor: (Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 3
start local 3 1: aload 1
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 4
start local 4 2: iload 4
aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 5
start local 5 3: aload 2
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 6
start local 6 4: aload 2
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 7
start local 7 5: iload 7
aload 2
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 8
start local 8 6: goto 39
7: StackMap locals: org.jcodings.Encoding org.jruby.util.ByteList org.jruby.util.ByteList byte[] int int byte[] int int
StackMap stack:
aload 0
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 11
8: aload 3
iload 4
baload
sipush 255
iand
istore 9
start local 9 9: aload 6
iload 7
baload
sipush 255
iand
istore 10
start local 10 10: goto 13
end local 10 end local 9 11: StackMap locals:
StackMap stack:
aload 0
aload 3
iload 4
iload 5
invokestatic org.jruby.util.StringSupport.preciseCodePoint:(Lorg/jcodings/Encoding;[BII)I
istore 9
start local 9 12: aload 0
aload 6
iload 7
iload 8
invokestatic org.jruby.util.StringSupport.preciseCodePoint:(Lorg/jcodings/Encoding;[BII)I
istore 10
start local 10 13: StackMap locals: int int
StackMap stack:
iload 9
invokestatic org.jcodings.Encoding.isAscii:(I)Z
ifeq 26
iload 10
invokestatic org.jcodings.Encoding.isAscii:(I)Z
ifeq 26
14: getstatic org.jcodings.ascii.AsciiTables.ToUpperCaseTable:[B
iload 9
baload
istore 13
start local 13 15: getstatic org.jcodings.ascii.AsciiTables.ToUpperCaseTable:[B
iload 10
baload
istore 14
start local 14 16: iload 13
iload 14
if_icmpeq 19
iload 13
iload 14
if_icmpge 17
iconst_m1
goto 18
StackMap locals: org.jcodings.Encoding org.jruby.util.ByteList org.jruby.util.ByteList byte[] int int byte[] int int int int top top int int
StackMap stack:
17: iconst_1
StackMap locals:
StackMap stack: int
18: ireturn
19: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 23
20: iconst_1
dup
istore 12
start local 12 21: istore 11
start local 11 22: goto 37
end local 12 end local 11 23: StackMap locals:
StackMap stack:
aload 0
aload 3
iload 4
iload 5
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 11
start local 11 24: aload 0
aload 6
iload 7
iload 8
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 12
end local 14 end local 13 start local 12 25: goto 37
end local 12 end local 11 26: StackMap locals: org.jcodings.Encoding org.jruby.util.ByteList org.jruby.util.ByteList byte[] int int byte[] int int int int
StackMap stack:
aload 0
aload 3
iload 4
iload 5
invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
istore 11
start local 11 27: aload 0
aload 6
iload 7
iload 8
invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
istore 12
start local 12 28: aload 3
iload 4
aload 6
iload 7
iload 11
iload 12
if_icmpge 29
iload 11
goto 30
StackMap locals: org.jcodings.Encoding org.jruby.util.ByteList org.jruby.util.ByteList byte[] int int byte[] int int int int int int
StackMap stack: byte[] int byte[] int
29: iload 12
StackMap locals: org.jcodings.Encoding org.jruby.util.ByteList org.jruby.util.ByteList byte[] int int byte[] int int int int int int
StackMap stack: byte[] int byte[] int int
30: invokestatic org.jruby.util.StringSupport.caseCmp:([BI[BII)I
istore 13
start local 13 31: iload 13
ifeq 34
iload 13
ifge 32
iconst_m1
goto 33
StackMap locals: int
StackMap stack:
32: iconst_1
StackMap locals:
StackMap stack: int
33: ireturn
34: StackMap locals:
StackMap stack:
iload 11
iload 12
if_icmpeq 37
iload 11
iload 12
if_icmpge 35
iconst_m1
goto 36
StackMap locals:
StackMap stack:
35: iconst_1
StackMap locals:
StackMap stack: int
36: ireturn
end local 13 37: StackMap locals:
StackMap stack:
iload 4
iload 11
iadd
istore 4
38: iload 7
iload 12
iadd
istore 7
end local 12 end local 11 end local 10 end local 9 39: StackMap locals: org.jcodings.Encoding org.jruby.util.ByteList org.jruby.util.ByteList byte[] int int byte[] int int
StackMap stack:
iload 4
iload 5
if_icmpge 40
iload 7
iload 8
if_icmplt 7
40: StackMap locals:
StackMap stack:
iload 5
iload 4
isub
iload 8
iload 7
isub
if_icmpne 41
iconst_0
ireturn
41: StackMap locals:
StackMap stack:
iload 5
iload 4
isub
iload 8
iload 7
isub
if_icmple 42
iconst_1
goto 43
StackMap locals:
StackMap stack:
42: iconst_m1
StackMap locals:
StackMap stack: int
43: ireturn
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 44 0 enc Lorg/jcodings/Encoding;
0 44 1 value Lorg/jruby/util/ByteList;
0 44 2 otherValue Lorg/jruby/util/ByteList;
1 44 3 bytes [B
2 44 4 p I
3 44 5 end I
4 44 6 obytes [B
5 44 7 op I
6 44 8 oend I
9 11 9 c I
12 39 9 c I
10 11 10 oc I
13 39 10 oc I
22 23 11 cl I
24 26 11 cl I
27 39 11 cl I
21 23 12 ocl I
25 26 12 ocl I
28 39 12 ocl I
15 25 13 dc I
16 25 14 odc I
31 37 13 ret I
MethodParameters:
Name Flags
enc
value
otherValue
public static boolean singleByteSqueeze(org.jruby.util.ByteList, boolean[]);
descriptor: (Lorg/jruby/util/ByteList;[Z)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 2
start local 2 1: iload 2
istore 3
start local 3 2: iload 2
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 4
start local 4 3: aload 0
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 5
start local 5 4: iconst_m1
istore 6
start local 6 5: goto 9
6: StackMap locals: org.jruby.util.ByteList boolean[] int int int byte[] int
StackMap stack:
aload 5
iload 2
iinc 2 1
baload
sipush 255
iand
istore 7
start local 7 7: iload 7
iload 6
if_icmpne 8
aload 1
iload 7
baload
ifne 9
StackMap locals: int
StackMap stack:
8: aload 5
iload 3
iinc 3 1
iload 7
dup
istore 6
i2b
bastore
end local 7 9: StackMap locals:
StackMap stack:
iload 2
iload 4
if_icmplt 6
10: iload 3
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
isub
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
if_icmpeq 13
11: aload 0
iload 3
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
isub
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
12: iconst_1
ireturn
13: StackMap locals:
StackMap stack:
iconst_0
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 14 0 value Lorg/jruby/util/ByteList;
0 14 1 squeeze [Z
1 14 2 s I
2 14 3 t I
3 14 4 send I
4 14 5 bytes [B
5 14 6 save I
7 9 7 c I
MethodParameters:
Name Flags
value
squeeze
public static boolean multiByteSqueeze(org.jruby.util.ByteList, boolean[], org.jruby.util.StringSupport$TrTables, org.jcodings.Encoding, boolean);
descriptor: (Lorg/jruby/util/ByteList;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;Z)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 5
start local 5 1: iload 5
istore 6
start local 6 2: iload 5
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 7
start local 7 3: aload 0
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 8
start local 8 4: iconst_m1
istore 9
start local 9 5: goto 19
6: StackMap locals: org.jruby.util.ByteList boolean[] org.jruby.util.StringSupport$TrTables org.jcodings.Encoding int int int int byte[] int
StackMap stack:
aload 3
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 12
aload 8
iload 5
baload
sipush 255
iand
dup
istore 10
start local 10 7: sipush 128
if_icmpge 12
8: iload 10
iload 9
if_icmpne 9
iload 4
ifeq 10
aload 1
iload 10
baload
ifne 10
StackMap locals: int
StackMap stack:
9: aload 8
iload 6
iinc 6 1
iload 10
dup
istore 9
i2b
bastore
10: StackMap locals:
StackMap stack:
iinc 5 1
11: goto 19
end local 10 12: StackMap locals:
StackMap stack:
aload 3
aload 8
iload 5
iload 7
invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jcodings/Encoding;[BII)I
istore 10
start local 10 13: aload 3
iload 10
invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
istore 11
start local 11 14: iload 10
iload 9
if_icmpne 15
iload 4
ifeq 18
iload 10
aload 1
aload 2
invokestatic org.jruby.util.StringSupport.trFind:(I[ZLorg/jruby/util/StringSupport$TrTables;)Z
ifne 18
15: StackMap locals: int int
StackMap stack:
iload 6
iload 5
if_icmpeq 16
aload 3
iload 10
aload 8
iload 6
invokevirtual org.jcodings.Encoding.codeToMbc:(I[BI)I
pop
16: StackMap locals:
StackMap stack:
iload 10
istore 9
17: iload 6
iload 11
iadd
istore 6
18: StackMap locals:
StackMap stack:
iload 5
iload 11
iadd
istore 5
end local 11 end local 10 19: StackMap locals:
StackMap stack:
iload 5
iload 7
if_icmplt 6
20: iload 6
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
isub
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
if_icmpeq 23
21: aload 0
iload 6
aload 0
invokevirtual org.jruby.util.ByteList.getBegin:()I
isub
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
22: iconst_1
ireturn
23: StackMap locals:
StackMap stack:
iconst_0
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 24 0 value Lorg/jruby/util/ByteList;
0 24 1 squeeze [Z
0 24 2 tables Lorg/jruby/util/StringSupport$TrTables;
0 24 3 enc Lorg/jcodings/Encoding;
0 24 4 isArg Z
1 24 5 s I
2 24 6 t I
3 24 7 send I
4 24 8 bytes [B
5 24 9 save I
7 12 10 c I
13 19 10 c I
14 19 11 cl I
MethodParameters:
Name Flags
value
squeeze
tables
enc
isArg
public static boolean multiByteSqueeze(org.jruby.Ruby, org.jruby.util.ByteList, boolean[], org.jruby.util.StringSupport$TrTables, org.jcodings.Encoding, boolean);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;Z)Z
flags: (0x0009) ACC_PUBLIC, 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 1
aload 2
aload 3
aload 4
iload 5
invokestatic org.jruby.util.StringSupport.multiByteSqueeze:(Lorg/jruby/util/ByteList;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;Z)Z
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 6
start local 6 3: aload 0
aload 6
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
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 4 0 runtime Lorg/jruby/Ruby;
0 4 1 value Lorg/jruby/util/ByteList;
0 4 2 squeeze [Z
0 4 3 tables Lorg/jruby/util/StringSupport$TrTables;
0 4 4 enc Lorg/jcodings/Encoding;
0 4 5 isArg Z
3 4 6 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
runtime
value
squeeze
tables
enc
isArg
private static int rb_memsearch_ss(byte[], int, int, byte[], int, int);
descriptor: ([BII[BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, 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 3
iload 4
iload 5
aload 0
iload 1
iload 2
invokestatic org.jruby.util.StringSupport.memmem:([BII[BII)I
dup
istore 6
start local 6 1: iconst_m1
if_icmpeq 3
2: iload 6
iload 4
isub
ireturn
3: StackMap locals: int
StackMap stack:
iconst_m1
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 4 0 xsBytes [B
0 4 1 xs I
0 4 2 m I
0 4 3 ysBytes [B
0 4 4 ys I
0 4 5 n I
1 4 6 y I
MethodParameters:
Name Flags
xsBytes
xs
m
ysBytes
ys
n
public static int memmem(byte[], int, int, byte[], int, int);
descriptor: ([BII[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 3
iload 4
iload 5
invokestatic org.jruby.util.StringSupport.failure:([BII)[I
astore 6
start local 6 1: iconst_0
istore 7
start local 7 2: iconst_0
istore 8
start local 8 3: goto 9
4: StackMap locals: int[] int int
StackMap stack:
aload 6
iload 7
iconst_1
isub
iaload
istore 7
StackMap locals:
StackMap stack:
5: iload 7
ifle 6
aload 3
iload 4
iload 7
iadd
baload
aload 0
iload 1
iload 8
iadd
baload
if_icmpne 4
6: StackMap locals:
StackMap stack:
aload 3
iload 4
iload 7
iadd
baload
aload 0
iload 1
iload 8
iadd
baload
if_icmpne 7
iinc 7 1
7: StackMap locals:
StackMap stack:
iload 7
iload 5
if_icmpne 8
iload 1
iload 8
iadd
iload 5
isub
iconst_1
iadd
ireturn
8: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
9: iload 8
iload 2
if_icmplt 5
end local 8 10: iconst_m1
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 11 0 aBytes [B
0 11 1 aStart I
0 11 2 aLen I
0 11 3 p [B
0 11 4 pStart I
0 11 5 pLen I
1 11 6 f [I
2 11 7 j I
3 10 8 i I
MethodParameters:
Name Flags
aBytes
aStart
aLen
p
pStart
pLen
private static int[] failure(byte[], int, int);
descriptor: ([BII)[I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 2
newarray 10
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iconst_1
istore 5
start local 5 3: goto 9
4: StackMap locals: int[] int int
StackMap stack:
aload 3
iload 4
iconst_1
isub
iaload
istore 4
StackMap locals:
StackMap stack:
5: iload 4
ifle 6
aload 0
iload 1
iload 4
iadd
baload
aload 0
iload 1
iload 5
iadd
baload
if_icmpne 4
6: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 4
iadd
baload
aload 0
iload 1
iload 5
iadd
baload
if_icmpne 7
iinc 4 1
7: StackMap locals:
StackMap stack:
aload 3
iload 5
iload 4
iastore
8: iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 2
if_icmplt 5
end local 5 10: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 p [B
0 11 1 pStart I
0 11 2 pLen I
1 11 3 f [I
2 11 4 j I
3 10 5 i I
MethodParameters:
Name Flags
p
pStart
pLen
private static int rb_memsearch_qs(byte[], int, int, byte[], int, int);
descriptor: ([BII[BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 1
istore 6
start local 6 1: iload 1
iload 2
iadd
istore 7
start local 7 2: iload 4
istore 8
start local 8 3: sipush 256
newarray 10
astore 9
start local 9 4: aload 9
iload 2
iconst_1
iadd
invokestatic java.util.Arrays.fill:([II)V
5: goto 8
6: StackMap locals: byte[] int int byte[] int int int int int int[]
StackMap stack:
aload 9
aload 0
iload 6
baload
sipush 255
iand
iload 7
iload 6
isub
iastore
7: iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
iload 7
if_icmplt 6
9: goto 13
10: StackMap locals:
StackMap stack:
aload 0
iload 1
baload
aload 3
iload 8
baload
if_icmpne 12
aload 0
iload 1
aload 3
iload 8
iload 2
invokestatic org.jruby.util.ByteList.memcmp:([BI[BII)I
ifne 12
11: iload 8
iload 4
isub
ireturn
12: StackMap locals:
StackMap stack:
iload 8
aload 9
aload 3
iload 8
iload 2
iadd
baload
sipush 255
iand
iaload
iadd
istore 8
StackMap locals:
StackMap stack:
13: iload 8
iload 2
iadd
iload 4
iload 5
iadd
if_icmple 10
14: iconst_m1
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 15 0 xsBytes [B
0 15 1 xs I
0 15 2 m I
0 15 3 ysBytes [B
0 15 4 ys I
0 15 5 n I
1 15 6 x I
2 15 7 xe I
3 15 8 y I
4 15 9 qstable [I
MethodParameters:
Name Flags
xsBytes
xs
m
ysBytes
ys
n
private static int rb_memsearch_qs_utf8_hash(byte[], int);
descriptor: ([BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iload 1
aload 0
arraylength
if_icmpeq 3
1: aload 0
iload 1
baload
sipush 255
iand
istore 2
start local 2 2: goto 4
end local 2 3: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 4: StackMap locals: int
StackMap stack:
iload 2
sipush 192
if_icmpge 6
5: iload 2
sipush 256
iadd
ireturn
6: StackMap locals:
StackMap stack:
iload 2
sipush 224
if_icmpge 10
7: iload 2
sipush 8353
imul
istore 2
8: iload 2
aload 0
iload 1
iconst_1
iadd
baload
sipush 255
iand
iadd
istore 2
9: goto 25
10: StackMap locals:
StackMap stack:
iload 2
sipush 240
if_icmpge 16
11: iload 2
sipush 8353
imul
istore 2
12: iload 2
aload 0
iload 1
iconst_1
iadd
baload
sipush 255
iand
iadd
istore 2
13: iload 2
sipush 8353
imul
istore 2
14: iload 2
aload 0
iload 1
iconst_2
iadd
baload
sipush 255
iand
iadd
istore 2
15: goto 25
16: StackMap locals:
StackMap stack:
iload 2
sipush 245
if_icmpge 24
17: iload 2
sipush 8353
imul
istore 2
18: iload 2
aload 0
iload 1
iconst_1
iadd
baload
sipush 255
iand
iadd
istore 2
19: iload 2
sipush 8353
imul
istore 2
20: iload 2
aload 0
iload 1
iconst_2
iadd
baload
sipush 255
iand
iadd
istore 2
21: iload 2
sipush 8353
imul
istore 2
22: iload 2
aload 0
iload 1
iconst_3
iadd
baload
sipush 255
iand
iadd
istore 2
23: goto 25
24: StackMap locals:
StackMap stack:
iload 2
sipush 256
iadd
ireturn
25: StackMap locals:
StackMap stack:
iload 2
i2b
sipush 255
iand
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 xBytes [B
0 26 1 x I
2 3 2 h I
4 26 2 h I
MethodParameters:
Name Flags
xBytes
x final
private static int rb_memsearch_qs_utf8(byte[], int, int, byte[], int, int);
descriptor: ([BII[BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 1
istore 6
start local 6 1: iload 1
iload 2
iadd
istore 7
start local 7 2: iload 4
istore 8
start local 8 3: sipush 512
newarray 10
astore 9
start local 9 4: aload 9
iload 2
iconst_1
iadd
invokestatic java.util.Arrays.fill:([II)V
5: goto 8
6: StackMap locals: byte[] int int byte[] int int int int int int[]
StackMap stack:
aload 9
aload 0
iload 6
invokestatic org.jruby.util.StringSupport.rb_memsearch_qs_utf8_hash:([BI)I
iload 7
iload 6
isub
iastore
7: iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
iload 7
if_icmplt 6
9: goto 13
10: StackMap locals:
StackMap stack:
aload 0
iload 1
baload
aload 3
iload 8
baload
if_icmpne 12
aload 0
iload 1
aload 3
iload 8
iload 2
invokestatic org.jruby.util.ByteList.memcmp:([BI[BII)I
ifne 12
11: iload 8
iload 4
isub
ireturn
12: StackMap locals:
StackMap stack:
iload 8
aload 9
aload 3
iload 8
iload 2
iadd
invokestatic org.jruby.util.StringSupport.rb_memsearch_qs_utf8_hash:([BI)I
iaload
iadd
istore 8
StackMap locals:
StackMap stack:
13: iload 8
iload 2
iadd
iload 4
iload 5
iadd
if_icmple 10
14: iconst_m1
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 15 0 xsBytes [B
0 15 1 xs I
0 15 2 m I
0 15 3 ysBytes [B
0 15 4 ys I
0 15 5 n I
1 15 6 x I
2 15 7 xe I
3 15 8 y I
4 15 9 qstable [I
MethodParameters:
Name Flags
xsBytes
xs
m
ysBytes
ys
n
public static int checkCaseMapOptions(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, int);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "turkic"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
astore 4
start local 4 1: aload 0
ldc "lithuanian"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
astore 5
start local 5 2: aload 1
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
3: iload 3
ldc 1048576
ior
istore 3
4: aload 2
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 7
5: iload 3
ldc 2097152
ior
istore 3
6: goto 15
7: StackMap locals: org.jruby.RubySymbol org.jruby.RubySymbol
StackMap stack:
aload 0
ldc "invalid second option"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
8: StackMap locals:
StackMap stack:
aload 1
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
9: iload 3
ldc 2097152
ior
istore 3
10: aload 2
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 13
11: iload 3
ldc 1048576
ior
istore 3
12: goto 15
13: StackMap locals:
StackMap stack:
aload 0
ldc "invalid second option"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
14: StackMap locals:
StackMap stack:
aload 0
ldc "invalid option"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
15: StackMap locals:
StackMap stack:
iload 3
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 16 0 runtime Lorg/jruby/Ruby;
0 16 1 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 16 2 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 16 3 flags I
1 16 4 turkic Lorg/jruby/RubySymbol;
2 16 5 lithuanian Lorg/jruby/RubySymbol;
MethodParameters:
Name Flags
runtime
arg0
arg1
flags
public static int checkCaseMapOptions(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, int);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
ldc "ascii"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 3
1: iload 2
ldc 4194304
ior
istore 2
2: goto 15
StackMap locals:
StackMap stack:
3: aload 1
aload 0
ldc "fold"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
4: iload 2
sipush 24576
iand
sipush 16384
if_icmpne 7
5: iload 2
ldc 540672
ixor
istore 2
6: goto 15
7: StackMap locals:
StackMap stack:
aload 0
ldc "option :fold only allowed for downcasing"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
8: StackMap locals:
StackMap stack:
aload 1
aload 0
ldc "turkic"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 11
9: iload 2
ldc 1048576
ior
istore 2
10: goto 15
StackMap locals:
StackMap stack:
11: aload 1
aload 0
ldc "lithuanian"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
12: iload 2
ldc 2097152
ior
istore 2
13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
ldc "invalid option"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
15: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 runtime Lorg/jruby/Ruby;
0 16 1 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 16 2 flags I
MethodParameters:
Name Flags
runtime
arg0
flags
public static org.jruby.util.ByteList caseMap(org.jruby.Ruby, org.jruby.util.ByteList, org.jcodings.IntHolder, org.jcodings.Encoding);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/IntHolder;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.jcodings.IntHolder
dup
invokespecial org.jcodings.IntHolder.<init>:()V
astore 4
start local 4 1: aload 4
aload 1
invokevirtual org.jruby.util.ByteList.getBegin:()I
putfield org.jcodings.IntHolder.value:I
2: aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
aload 4
getfield org.jcodings.IntHolder.value:I
iadd
istore 5
start local 5 3: aload 1
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 6
start local 6 4: iconst_0
istore 7
start local 7 5: iconst_0
istore 8
start local 8 6: new org.jruby.util.StringSupport$MappingBuffer
dup
invokespecial org.jruby.util.StringSupport$MappingBuffer.<init>:()V
astore 9
start local 9 7: aload 9
astore 10
start local 10 8: goto 15
9: StackMap locals: org.jruby.Ruby org.jruby.util.ByteList org.jcodings.IntHolder org.jcodings.Encoding org.jcodings.IntHolder int byte[] int int org.jruby.util.StringSupport$MappingBuffer org.jruby.util.StringSupport$MappingBuffer
StackMap stack:
aload 10
new org.jruby.util.StringSupport$MappingBuffer
dup
iload 5
aload 4
getfield org.jcodings.IntHolder.value:I
isub
iinc 8 1
iload 8
imul
bipush 20
iadd
invokespecial org.jruby.util.StringSupport$MappingBuffer.<init>:(I)V
putfield org.jruby.util.StringSupport$MappingBuffer.next:Lorg/jruby/util/StringSupport$MappingBuffer;
10: aload 10
getfield org.jruby.util.StringSupport$MappingBuffer.next:Lorg/jruby/util/StringSupport$MappingBuffer;
astore 10
11: aload 3
aload 2
aload 6
aload 4
iload 5
aload 10
getfield org.jruby.util.StringSupport$MappingBuffer.bytes:[B
iconst_0
aload 10
getfield org.jruby.util.StringSupport$MappingBuffer.bytes:[B
arraylength
invokevirtual org.jcodings.Encoding.caseMap:(Lorg/jcodings/IntHolder;[BLorg/jcodings/IntHolder;I[BII)I
istore 11
start local 11 12: iload 11
ifge 13
aload 0
ldc "input string invalid"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
13: StackMap locals: int
StackMap stack:
aload 10
iload 11
putfield org.jruby.util.StringSupport$MappingBuffer.used:I
14: iload 7
iload 11
iadd
istore 7
end local 11 15: StackMap locals:
StackMap stack:
aload 4
getfield org.jcodings.IntHolder.value:I
iload 5
if_icmplt 9
16: iload 8
iconst_1
if_icmpne 19
17: new org.jruby.util.ByteList
dup
aload 10
getfield org.jruby.util.StringSupport$MappingBuffer.bytes:[B
iconst_0
aload 10
getfield org.jruby.util.StringSupport$MappingBuffer.used:I
aload 3
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
astore 11
start local 11 18: goto 28
end local 11 19: StackMap locals:
StackMap stack:
new org.jruby.util.ByteList
dup
iload 7
invokespecial org.jruby.util.ByteList.<init>:(I)V
astore 11
start local 11 20: aload 11
aload 3
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
21: aload 9
getfield org.jruby.util.StringSupport$MappingBuffer.next:Lorg/jruby/util/StringSupport$MappingBuffer;
astore 10
22: iconst_0
istore 12
start local 12 23: goto 27
24: StackMap locals: org.jruby.util.ByteList int
StackMap stack:
aload 10
getfield org.jruby.util.StringSupport$MappingBuffer.bytes:[B
iconst_0
aload 11
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iload 12
aload 10
getfield org.jruby.util.StringSupport$MappingBuffer.used:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
25: iload 12
aload 10
getfield org.jruby.util.StringSupport$MappingBuffer.used:I
iadd
istore 12
26: aload 10
getfield org.jruby.util.StringSupport$MappingBuffer.next:Lorg/jruby/util/StringSupport$MappingBuffer;
astore 10
27: StackMap locals:
StackMap stack:
aload 10
ifnonnull 24
end local 12 28: StackMap locals:
StackMap stack:
aload 11
areturn
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 29 0 runtime Lorg/jruby/Ruby;
0 29 1 src Lorg/jruby/util/ByteList;
0 29 2 flags Lorg/jcodings/IntHolder;
0 29 3 enc Lorg/jcodings/Encoding;
1 29 4 pp Lorg/jcodings/IntHolder;
3 29 5 end I
4 29 6 bytes [B
5 29 7 tgtLen I
6 29 8 buffers I
7 29 9 root Lorg/jruby/util/StringSupport$MappingBuffer;
8 29 10 buffer Lorg/jruby/util/StringSupport$MappingBuffer;
12 15 11 len I
18 19 11 tgt Lorg/jruby/util/ByteList;
20 29 11 tgt Lorg/jruby/util/ByteList;
23 28 12 tgtPos I
MethodParameters:
Name Flags
runtime
src
flags
enc
public static void asciiOnlyCaseMap(org.jruby.Ruby, org.jruby.util.ByteList, org.jcodings.IntHolder, org.jcodings.Encoding);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/IntHolder;Lorg/jcodings/Encoding;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
ifne 1
return
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 4
start local 4 2: iload 4
aload 1
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 5
start local 5 3: aload 1
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 6
start local 6 4: new org.jcodings.IntHolder
dup
invokespecial org.jcodings.IntHolder.<init>:()V
astore 7
start local 7 5: aload 7
iload 4
putfield org.jcodings.IntHolder.value:I
6: getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
aload 2
aload 6
aload 7
iload 5
aload 6
iload 4
iload 5
invokevirtual org.jcodings.specific.ASCIIEncoding.caseMap:(Lorg/jcodings/IntHolder;[BLorg/jcodings/IntHolder;I[BII)I
istore 8
start local 8 7: iload 8
ifge 8
aload 0
ldc "input string invalid"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
8: StackMap locals: org.jruby.Ruby org.jruby.util.ByteList org.jcodings.IntHolder org.jcodings.Encoding int int byte[] org.jcodings.IntHolder int
StackMap stack:
return
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 9 0 runtime Lorg/jruby/Ruby;
0 9 1 value Lorg/jruby/util/ByteList;
0 9 2 flags Lorg/jcodings/IntHolder;
0 9 3 enc Lorg/jcodings/Encoding;
2 9 4 s I
3 9 5 end I
4 9 6 bytes [B
5 9 7 pp Lorg/jcodings/IntHolder;
7 9 8 len I
MethodParameters:
Name Flags
runtime
value
flags
enc
public static int encCoderangeClean(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
iload 0
iconst_1
ishr
ixor
bipush 16
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cr I
MethodParameters:
Name Flags
cr
public static java.lang.String byteListAsString(org.jruby.util.ByteList);
descriptor: (Lorg/jruby/util/ByteList;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jcodings.Encoding.getCharset:()Ljava/nio/charset/Charset;
astore 1
start local 1 1: aload 1
ifnull 4
new java.lang.String
dup
aload 0
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
aload 0
invokevirtual org.jruby.util.ByteList.begin:()I
aload 0
invokevirtual org.jruby.util.ByteList.realSize:()I
aload 1
invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
2: areturn
end local 1 3: StackMap locals:
StackMap stack: java.nio.charset.UnsupportedCharsetException
pop
4: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
aload 0
invokevirtual org.jruby.util.ByteList.begin:()I
aload 0
invokevirtual org.jruby.util.ByteList.realSize:()I
invokespecial java.lang.String.<init>:([BII)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 bytes Lorg/jruby/util/ByteList;
1 3 1 charset Ljava/nio/charset/Charset;
Exception table:
from to target type
0 2 3 Class java.nio.charset.UnsupportedCharsetException
MethodParameters:
Name Flags
bytes
public static boolean isUnicode(org.jcodings.Encoding);
descriptor: (Lorg/jcodings/Encoding;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jcodings.Encoding.isUnicode:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 enc Lorg/jcodings/Encoding;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
enc
static int[] $SWITCH_TABLE$org$jruby$util$StringSupport$NeighborChar();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.util.StringSupport.$SWITCH_TABLE$org$jruby$util$StringSupport$NeighborChar:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.jruby.util.StringSupport$NeighborChar.values:()[Lorg/jruby/util/StringSupport$NeighborChar;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.jruby.util.StringSupport$NeighborChar.FOUND:Lorg/jruby/util/StringSupport$NeighborChar;
invokevirtual org.jruby.util.StringSupport$NeighborChar.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.jruby.util.StringSupport$NeighborChar.NOT_CHAR:Lorg/jruby/util/StringSupport$NeighborChar;
invokevirtual org.jruby.util.StringSupport$NeighborChar.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.jruby.util.StringSupport$NeighborChar.WRAPPED:Lorg/jruby/util/StringSupport$NeighborChar;
invokevirtual org.jruby.util.StringSupport$NeighborChar.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic org.jruby.util.StringSupport.$SWITCH_TABLE$org$jruby$util$StringSupport$NeighborChar:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
SourceFile: "StringSupport.java"
NestMembers:
org.jruby.util.StringSupport$MappingBuffer org.jruby.util.StringSupport$NeighborChar org.jruby.util.StringSupport$TR org.jruby.util.StringSupport$TrTables
InnerClasses:
private final MappingBuffer = org.jruby.util.StringSupport$MappingBuffer of org.jruby.util.StringSupport
public final NeighborChar = org.jruby.util.StringSupport$NeighborChar of org.jruby.util.StringSupport
public final TR = org.jruby.util.StringSupport$TR of org.jruby.util.StringSupport
public final TrTables = org.jruby.util.StringSupport$TrTables of org.jruby.util.StringSupport