public class org.jruby.util.io.EncodingUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.util.io.EncodingUtils
super_class: java.lang.Object
{
public static final int ECONV_DEFAULT_NEWLINE_DECORATOR;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int DEFAULT_TEXTMODE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int TEXTMODE_NEWLINE_DECORATOR_ON_WRITE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final byte[] NULL_BYTE_ARRAY;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final int VMODE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int PERM;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final org.jruby.util.io.EncodingUtils$ResizeFunction strTranscodingResize;
descriptor: Lorg/jruby/util/io/EncodingUtils$ResizeFunction;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final org.jruby.util.io.EncodingUtils$AbstractTranscodeFallback HASH_FALLBACK;
descriptor: Lorg/jruby/util/io/EncodingUtils$AbstractTranscodeFallback;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.util.io.EncodingUtils$AbstractTranscodeFallback PROC_FALLBACK;
descriptor: Lorg/jruby/util/io/EncodingUtils$AbstractTranscodeFallback;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.util.io.EncodingUtils$AbstractTranscodeFallback METHOD_FALLBACK;
descriptor: Lorg/jruby/util/io/EncodingUtils$AbstractTranscodeFallback;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.util.io.EncodingUtils$AbstractTranscodeFallback AREF_FALLBACK;
descriptor: Lorg/jruby/util/io/EncodingUtils$AbstractTranscodeFallback;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jcodings.Encoding UTF16Dummy;
descriptor: Lorg/jcodings/Encoding;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jcodings.Encoding UTF32Dummy;
descriptor: Lorg/jcodings/Encoding;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$org$jcodings$transcode$EConvResult;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
ifeq 1
sipush 4096
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.jruby.util.io.EncodingUtils.ECONV_DEFAULT_NEWLINE_DECORATOR:I
3: getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
ifeq 4
sipush 4096
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: putstatic org.jruby.util.io.EncodingUtils.DEFAULT_TEXTMODE:I
6: getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
ifeq 7
sipush 4096
goto 8
StackMap locals:
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: putstatic org.jruby.util.io.EncodingUtils.TEXTMODE_NEWLINE_DECORATOR_ON_WRITE:I
9: getstatic org.jruby.util.ByteList.NULL_ARRAY:[B
putstatic org.jruby.util.io.EncodingUtils.NULL_BYTE_ARRAY:[B
10: new org.jruby.util.io.EncodingUtils$1
dup
invokespecial org.jruby.util.io.EncodingUtils$1.<init>:()V
putstatic org.jruby.util.io.EncodingUtils.strTranscodingResize:Lorg/jruby/util/io/EncodingUtils$ResizeFunction;
11: new org.jruby.util.io.EncodingUtils$2
dup
invokespecial org.jruby.util.io.EncodingUtils$2.<init>:()V
putstatic org.jruby.util.io.EncodingUtils.HASH_FALLBACK:Lorg/jruby/util/io/EncodingUtils$AbstractTranscodeFallback;
12: new org.jruby.util.io.EncodingUtils$3
dup
invokespecial org.jruby.util.io.EncodingUtils$3.<init>:()V
putstatic org.jruby.util.io.EncodingUtils.PROC_FALLBACK:Lorg/jruby/util/io/EncodingUtils$AbstractTranscodeFallback;
13: new org.jruby.util.io.EncodingUtils$4
dup
invokespecial org.jruby.util.io.EncodingUtils$4.<init>:()V
putstatic org.jruby.util.io.EncodingUtils.METHOD_FALLBACK:Lorg/jruby/util/io/EncodingUtils$AbstractTranscodeFallback;
14: new org.jruby.util.io.EncodingUtils$5
dup
invokespecial org.jruby.util.io.EncodingUtils$5.<init>:()V
putstatic org.jruby.util.io.EncodingUtils.AREF_FALLBACK:Lorg/jruby/util/io/EncodingUtils$AbstractTranscodeFallback;
15: invokestatic org.jcodings.EncodingDB.getEncodings:()Lorg/jcodings/util/CaseInsensitiveBytesHash;
ldc "UTF-16"
invokevirtual java.lang.String.getBytes:()[B
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
checkcast org.jcodings.EncodingDB$Entry
invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
putstatic org.jruby.util.io.EncodingUtils.UTF16Dummy:Lorg/jcodings/Encoding;
16: invokestatic org.jcodings.EncodingDB.getEncodings:()Lorg/jcodings/util/CaseInsensitiveBytesHash;
ldc "UTF-32"
invokevirtual java.lang.String.getBytes:()[B
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
checkcast org.jcodings.EncodingDB$Entry
invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
putstatic org.jruby.util.io.EncodingUtils.UTF32Dummy:Lorg/jcodings/Encoding;
return
LocalVariableTable:
Start End Slot Name Signature
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/io/EncodingUtils;
public static org.jcodings.Encoding rbToEncoding(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.RubyEncoding
ifeq 1
aload 1
checkcast org.jruby.RubyEncoding
invokevirtual org.jruby.RubyEncoding.getEncoding:()Lorg/jcodings/Encoding;
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.jruby.util.io.EncodingUtils.toEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 enc Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
enc
public static org.jcodings.Encoding toEncoding(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, 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.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifne 3
2: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "invalid name encoding (non ASCII)"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: org.jruby.RubyString
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 2
invokevirtual org.jruby.runtime.encoding.EncodingService.getEncodingFromObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
astore 3
start local 3 4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 context Lorg/jruby/runtime/ThreadContext;
0 5 1 enc Lorg/jruby/runtime/builtin/IRubyObject;
1 5 2 encStr Lorg/jruby/RubyString;
4 5 3 idx Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
enc
public static org.jruby.runtime.builtin.IRubyObject[] openArgsToArgs(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyHash);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyHash;)[Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
ldc "open_args"
invokestatic org.jruby.util.io.EncodingUtils.hashARef:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 1: aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 2
iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
areturn
2: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
astore 4
start local 4 3: aload 4
invokevirtual org.jruby.RubyArray.size:()I
anewarray org.jruby.runtime.builtin.IRubyObject
astore 5
start local 5 4: aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
aload 5
invokevirtual org.jruby.RubyArray.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
5: aload 5
arraylength
iconst_1
iadd
anewarray org.jruby.runtime.builtin.IRubyObject
astore 6
start local 6 6: aload 6
iconst_0
aload 1
aastore
7: aload 5
iconst_0
aload 6
iconst_1
aload 5
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 runtime Lorg/jruby/Ruby;
0 9 1 firstElement Lorg/jruby/runtime/builtin/IRubyObject;
0 9 2 options Lorg/jruby/RubyHash;
1 9 3 value Lorg/jruby/runtime/builtin/IRubyObject;
3 9 4 array Lorg/jruby/RubyArray;
4 9 5 openArgs [Lorg/jruby/runtime/builtin/IRubyObject;
6 9 6 args [Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime
firstElement
options
public static void (org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, int[]);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 0
aload 1
ldc "textmode"
invokestatic org.jruby.util.io.EncodingUtils.hashARef:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 2: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 3
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 3
iload 3
sipush 4096
ior
istore 3
3: StackMap locals: int org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 1
ldc "binmode"
invokestatic org.jruby.util.io.EncodingUtils.hashARef:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
4: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 5
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 5
iload 3
iconst_4
ior
istore 3
5: StackMap locals:
StackMap stack:
iload 3
iconst_4
iand
ifeq 7
iload 3
sipush 4096
iand
ifeq 7
6: aload 0
ldc "both textmode and binmode specified"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
7: StackMap locals:
StackMap stack:
aload 2
iconst_0
dup2
iaload
iload 3
ior
iastore
8: return
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 optionsArg Lorg/jruby/runtime/builtin/IRubyObject;
0 9 2 fmode_p [I
1 9 3 fmodeMask I
2 9 4 v Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime
optionsArg
fmode_p
private static org.jruby.runtime.builtin.IRubyObject hashARef(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, java.lang.String);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 1
instanceof org.jruby.RubyHash
ifne 2
StackMap locals:
StackMap stack:
1: aload 0
invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.RubyHash
aload 0
aload 2
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.fastARef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 3: aload 3
ifnonnull 4
aload 0
invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
goto 5
StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
4: aload 3
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
5: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 runtime Lorg/jruby/Ruby;
0 6 1 hash Lorg/jruby/runtime/builtin/IRubyObject;
0 6 2 symbol Ljava/lang/String;
3 6 3 value Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime
hash
symbol
public static org.jcodings.Encoding ascii8bitEncoding(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
invokevirtual org.jruby.runtime.encoding.EncodingService.getAscii8bitEncoding:()Lorg/jcodings/Encoding;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
runtime
public static java.lang.Object vmodeVperm(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 vmode Lorg/jruby/runtime/builtin/IRubyObject;
0 1 1 vperm Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
vmode
vperm
public static org.jruby.runtime.builtin.IRubyObject vmode(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
checkcast org.jruby.runtime.builtin.IRubyObject[]
iconst_0
aaload
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 vmodeVperm Ljava/lang/Object;
MethodParameters:
Name Flags
vmodeVperm
public static void vmode(java.lang.Object, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
checkcast org.jruby.runtime.builtin.IRubyObject[]
iconst_0
aload 1
aastore
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 vmodeVperm Ljava/lang/Object;
0 2 1 vmode Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
vmodeVperm
vmode
public static org.jruby.runtime.builtin.IRubyObject vperm(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
checkcast org.jruby.runtime.builtin.IRubyObject[]
iconst_1
aaload
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 vmodeVperm Ljava/lang/Object;
MethodParameters:
Name Flags
vmodeVperm
public static void vperm(java.lang.Object, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
checkcast org.jruby.runtime.builtin.IRubyObject[]
iconst_1
aload 1
aastore
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 vmodeVperm Ljava/lang/Object;
0 2 1 vperm Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
vmodeVperm
vperm
public static final int MODE_BTMODE(int, int, int, int);
descriptor: (IIII)I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 0
iconst_4
iand
ifeq 2
1: iload 2
ireturn
2: StackMap locals:
StackMap stack:
iload 0
sipush 4096
iand
ifeq 4
3: iload 3
ireturn
4: 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 5 0 fmode I
0 5 1 a I
0 5 2 b I
0 5 3 c I
MethodParameters:
Name Flags
fmode
a
b
c
public static int SET_UNIVERSAL_NEWLINE_DECORATOR_IF_ENC2(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: aload 0
ifnull 2
iload 1
getstatic org.jruby.util.io.EncodingUtils.ECONV_DEFAULT_NEWLINE_DECORATOR:I
iand
ifeq 2
1: iload 1
sipush 256
ior
ireturn
2: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 enc2 Lorg/jcodings/Encoding;
0 3 1 ecflags I
MethodParameters:
Name Flags
enc2
ecflags
public static void (org.jruby.runtime.ThreadContext, org.jruby.util.io.IOEncodable, java.lang.Object, org.jruby.runtime.builtin.IRubyObject, int[], int[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=15, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 6
start local 6 1: iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
astore 8
start local 8 2: iconst_0
istore 9
start local 9 3: iconst_0
istore 10
start local 10 4: aload 0
aload 1
aconst_null
aconst_null
iconst_0
invokestatic org.jruby.util.io.EncodingUtils.ioExtIntToEncs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;I)V
5: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable java.lang.Object org.jruby.runtime.builtin.IRubyObject int[] int[] org.jruby.Ruby top org.jruby.runtime.builtin.IRubyObject[] int int
StackMap stack:
aload 2
invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
ifnull 6
aload 2
invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 9
6: StackMap locals:
StackMap stack:
aload 5
iconst_0
iconst_1
iastore
7: aload 4
iconst_0
getstatic org.jruby.util.io.ModeFlags.RDONLY:I
iastore
8: goto 27
9: StackMap locals:
StackMap stack:
aload 0
aload 2
invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.TypeConverter.checkIntegerType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 11
start local 11 10: aload 11
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 15
11: aload 2
aload 11
invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;)V
12: aload 4
iconst_0
aload 11
invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
iastore
13: aload 5
iconst_0
aload 4
iconst_0
iaload
invokestatic org.jruby.util.io.ModeFlags.getOpenFileFlagsFor:(I)I
iastore
14: goto 27
15: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.asJavaString:()Ljava/lang/String;
astore 12
start local 12 16: aload 5
iconst_0
aload 6
aload 12
invokestatic org.jruby.util.io.OpenFile.ioModestrFmode:(Lorg/jruby/Ruby;Ljava/lang/String;)I
iastore
17: aload 4
iconst_0
aload 5
iconst_0
iaload
invokestatic org.jruby.util.io.OpenFile.ioFmodeOflags:(I)I
iastore
18: aload 12
ldc ":"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 13
start local 13 19: iload 13
iconst_m1
if_icmpeq 23
20: iconst_1
istore 9
21: aload 0
aload 1
aload 12
iload 13
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
aload 5
invokestatic org.jruby.util.io.EncodingUtils.parseModeEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Ljava/lang/String;[I)V
22: goto 27
23: StackMap locals: java.lang.String int
StackMap stack:
aload 5
iconst_0
iaload
iconst_4
iand
ifeq 24
aload 6
invokestatic org.jruby.util.io.EncodingUtils.ascii8bitEncoding:(Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
goto 25
StackMap locals:
StackMap stack:
24: aconst_null
StackMap locals:
StackMap stack: org.jcodings.Encoding
25: astore 14
start local 14 26: aload 0
aload 1
aload 14
aconst_null
aload 5
iconst_0
iaload
invokestatic org.jruby.util.io.EncodingUtils.ioExtIntToEncs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;I)V
end local 14 end local 13 end local 12 end local 11 27: StackMap locals:
StackMap stack:
aload 3
ifnull 28
aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 40
28: StackMap locals:
StackMap stack:
aload 5
iconst_0
iaload
iconst_1
iand
ifeq 30
29: aload 5
iconst_0
iaload
getstatic org.jruby.util.io.EncodingUtils.ECONV_DEFAULT_NEWLINE_DECORATOR:I
iconst_0
sipush 256
invokestatic org.jruby.util.io.EncodingUtils.MODE_BTMODE:(IIII)I
goto 31
30: StackMap locals:
StackMap stack:
iconst_0
31: StackMap locals:
StackMap stack: int
istore 7
start local 7 32: getstatic org.jruby.util.io.EncodingUtils.TEXTMODE_NEWLINE_DECORATOR_ON_WRITE:I
ifeq 37
33: iload 7
aload 5
iconst_0
iaload
iconst_2
iand
ifeq 35
34: aload 5
iconst_0
iaload
getstatic org.jruby.util.io.EncodingUtils.TEXTMODE_NEWLINE_DECORATOR_ON_WRITE:I
iconst_0
getstatic org.jruby.util.io.EncodingUtils.TEXTMODE_NEWLINE_DECORATOR_ON_WRITE:I
invokestatic org.jruby.util.io.EncodingUtils.MODE_BTMODE:(IIII)I
goto 36
35: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable java.lang.Object org.jruby.runtime.builtin.IRubyObject int[] int[] org.jruby.Ruby int org.jruby.runtime.builtin.IRubyObject[] int int
StackMap stack: int
iconst_0
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable java.lang.Object org.jruby.runtime.builtin.IRubyObject int[] int[] org.jruby.Ruby int org.jruby.runtime.builtin.IRubyObject[] int int
StackMap stack: int int
36: ior
istore 7
37: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.jruby.util.io.IOEncodable.getEnc2:()Lorg/jcodings/Encoding;
iload 7
invokestatic org.jruby.util.io.EncodingUtils.SET_UNIVERSAL_NEWLINE_DECORATOR_IF_ENC2:(Lorg/jcodings/Encoding;I)I
istore 7
38: aload 8
iconst_0
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
39: goto 83
end local 7 40: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable java.lang.Object org.jruby.runtime.builtin.IRubyObject int[] int[] org.jruby.Ruby top org.jruby.runtime.builtin.IRubyObject[] int int
StackMap stack:
iload 10
ifne 48
41: aload 3
checkcast org.jruby.RubyHash
aload 0
aload 6
ldc "mode"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
start local 12 42: aload 12
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 48
43: aload 2
invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
ifnull 45
aload 2
invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 45
44: aload 6
ldc "mode specified twice"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
45: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable java.lang.Object org.jruby.runtime.builtin.IRubyObject int[] int[] org.jruby.Ruby top org.jruby.runtime.builtin.IRubyObject[] int int top org.jruby.runtime.builtin.IRubyObject
StackMap stack:
iconst_1
istore 10
46: aload 2
aload 12
invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;)V
47: goto 5
end local 12 48: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable java.lang.Object org.jruby.runtime.builtin.IRubyObject int[] int[] org.jruby.Ruby top org.jruby.runtime.builtin.IRubyObject[] int int
StackMap stack:
aload 3
checkcast org.jruby.RubyHash
aload 0
aload 6
ldc "flags"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
start local 12 49: aload 12
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 54
50: aload 12
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
astore 12
51: aload 4
iconst_0
dup2
iaload
aload 12
invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
ior
iastore
52: aload 2
aload 6
aload 4
iconst_0
iaload
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;)V
53: aload 5
iconst_0
aload 4
iconst_0
iaload
invokestatic org.jruby.util.io.ModeFlags.getOpenFileFlagsFor:(I)I
iastore
54: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable java.lang.Object org.jruby.runtime.builtin.IRubyObject int[] int[] org.jruby.Ruby top org.jruby.runtime.builtin.IRubyObject[] int int top org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 6
aload 3
aload 5
invokestatic org.jruby.util.io.EncodingUtils.extractBinmode:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;[I)V
55: aload 5
iconst_0
iaload
iconst_4
iand
ifeq 60
56: aload 4
iconst_0
dup2
iaload
getstatic org.jruby.util.io.ModeFlags.BINARY:I
ior
iastore
57: iload 9
ifne 62
58: aload 0
aload 1
aload 6
invokestatic org.jruby.util.io.EncodingUtils.ascii8bitEncoding:(Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
aconst_null
aload 5
iconst_0
iaload
invokestatic org.jruby.util.io.EncodingUtils.ioExtIntToEncs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;I)V
59: goto 62
StackMap locals:
StackMap stack:
60: getstatic org.jruby.util.io.EncodingUtils.DEFAULT_TEXTMODE:I
ifeq 62
aload 2
invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
ifnull 61
aload 2
invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 62
61: StackMap locals:
StackMap stack:
aload 5
iconst_0
dup2
iaload
getstatic org.jruby.util.io.EncodingUtils.DEFAULT_TEXTMODE:I
ior
iastore
62: StackMap locals:
StackMap stack:
aload 6
aload 3
ldc "perm"
invokestatic org.jruby.util.io.EncodingUtils.hashARef:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
63: aload 12
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 67
64: aload 2
invokestatic org.jruby.util.io.EncodingUtils.vperm:(Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
ifnull 67
65: aload 2
invokestatic org.jruby.util.io.EncodingUtils.vperm:(Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 66
aload 6
ldc "perm specified twice"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
66: StackMap locals:
StackMap stack:
aload 2
aload 12
invokestatic org.jruby.util.io.EncodingUtils.vperm:(Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;)V
67: StackMap locals:
StackMap stack:
aload 6
aload 3
ldc "flags"
invokestatic org.jruby.util.io.EncodingUtils.hashARef:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 13
start local 13 68: aload 13
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 70
69: aload 4
iconst_0
dup2
iaload
aload 13
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getIntValue:()I
ior
iastore
70: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 5
iconst_0
iaload
iconst_1
iand
ifeq 72
71: aload 5
iconst_0
iaload
getstatic org.jruby.util.io.EncodingUtils.ECONV_DEFAULT_NEWLINE_DECORATOR:I
iconst_0
sipush 256
invokestatic org.jruby.util.io.EncodingUtils.MODE_BTMODE:(IIII)I
goto 73
StackMap locals:
StackMap stack:
72: iconst_0
73: StackMap locals:
StackMap stack: int
istore 7
start local 7 74: getstatic org.jruby.util.io.EncodingUtils.TEXTMODE_NEWLINE_DECORATOR_ON_WRITE:I
iconst_m1
if_icmpeq 79
75: iload 7
aload 5
iconst_0
iaload
iconst_2
iand
ifeq 77
76: aload 5
iconst_0
iaload
getstatic org.jruby.util.io.EncodingUtils.TEXTMODE_NEWLINE_DECORATOR_ON_WRITE:I
iconst_0
getstatic org.jruby.util.io.EncodingUtils.TEXTMODE_NEWLINE_DECORATOR_ON_WRITE:I
invokestatic org.jruby.util.io.EncodingUtils.MODE_BTMODE:(IIII)I
goto 78
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable java.lang.Object org.jruby.runtime.builtin.IRubyObject int[] int[] org.jruby.Ruby int org.jruby.runtime.builtin.IRubyObject[] int int top org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack: int
77: iconst_0
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable java.lang.Object org.jruby.runtime.builtin.IRubyObject int[] int[] org.jruby.Ruby int org.jruby.runtime.builtin.IRubyObject[] int int top org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack: int int
78: ior
istore 7
79: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
aload 5
invokestatic org.jruby.util.io.EncodingUtils.ioExtractEncodingOption:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Lorg/jruby/runtime/builtin/IRubyObject;[I)Z
ifeq 81
80: iload 9
ifeq 81
aload 6
ldc "encoding specified twice"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
81: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.jruby.util.io.IOEncodable.getEnc2:()Lorg/jcodings/Encoding;
iload 7
invokestatic org.jruby.util.io.EncodingUtils.SET_UNIVERSAL_NEWLINE_DECORATOR_IF_ENC2:(Lorg/jcodings/Encoding;I)I
istore 7
82: aload 0
aload 3
aload 8
iload 7
invokestatic org.jruby.util.io.EncodingUtils.econvPrepareOptions:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;I)I
istore 7
end local 13 end local 12 83: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable java.lang.Object org.jruby.runtime.builtin.IRubyObject int[] int[] org.jruby.Ruby int org.jruby.runtime.builtin.IRubyObject[] int int
StackMap stack:
aload 0
aload 5
iload 7
aload 1
invokestatic org.jruby.util.io.EncodingUtils.validateEncodingBinmode:(Lorg/jruby/runtime/ThreadContext;[IILorg/jruby/util/io/IOEncodable;)V
84: aload 1
iload 7
invokeinterface org.jruby.util.io.IOEncodable.setEcflags:(I)V
85: aload 1
aload 8
iconst_0
aaload
invokeinterface org.jruby.util.io.IOEncodable.setEcopts:(Lorg/jruby/runtime/builtin/IRubyObject;)V
86: return
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 87 0 context Lorg/jruby/runtime/ThreadContext;
0 87 1 ioEncodable Lorg/jruby/util/io/IOEncodable;
0 87 2 vmodeAndVperm_p Ljava/lang/Object;
0 87 3 options Lorg/jruby/runtime/builtin/IRubyObject;
0 87 4 oflags_p [I
0 87 5 fmode_p [I
1 87 6 runtime Lorg/jruby/Ruby;
32 40 7 ecflags I
74 87 7 ecflags I
2 87 8 ecopts_p [Lorg/jruby/runtime/builtin/IRubyObject;
3 87 9 hasEnc Z
4 87 10 hasVmode Z
10 27 11 intmode Lorg/jruby/runtime/builtin/IRubyObject;
16 27 12 p Ljava/lang/String;
19 27 13 colonSplit I
26 27 14 e Lorg/jcodings/Encoding;
42 48 12 v Lorg/jruby/runtime/builtin/IRubyObject;
49 83 12 v Lorg/jruby/runtime/builtin/IRubyObject;
68 83 13 extraFlags Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
ioEncodable
vmodeAndVperm_p
options
oflags_p
fmode_p
public static boolean (org.jruby.runtime.ThreadContext, org.jruby.util.io.IOEncodable, org.jruby.runtime.builtin.IRubyObject, int[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Lorg/jruby/runtime/builtin/IRubyObject;[I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=16, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: aconst_null
astore 7
start local 7 4: iconst_0
istore 9
start local 9 5: aconst_null
astore 10
start local 10 6: aconst_null
astore 11
start local 11 7: aload 2
ifnull 15
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 15
8: aload 2
checkcast org.jruby.RubyHash
astore 12
start local 12 9: aload 12
aload 0
aload 4
ldc "encoding"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 13
start local 13 10: aload 13
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 11
aload 13
astore 5
11: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable org.jruby.runtime.builtin.IRubyObject int[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject top int org.jcodings.Encoding org.jcodings.Encoding org.jruby.RubyHash org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 12
aload 0
aload 4
ldc "external_encoding"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 14
start local 14 12: aload 14
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 13
aload 14
astore 6
13: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 12
aload 0
aload 4
ldc "internal_encoding"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 15
start local 15 14: aload 15
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 15
aload 15
astore 7
end local 15 end local 14 end local 13 end local 12 15: StackMap locals:
StackMap stack:
aload 6
ifnonnull 16
aload 7
ifnull 24
StackMap locals:
StackMap stack:
16: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 24
17: aload 4
invokevirtual org.jruby.Ruby.isVerbose:()Z
ifeq 23
18: aload 4
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
new java.lang.StringBuilder
dup
ldc "Ignoring encoding parameter '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "': "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: aload 6
ifnonnull 20
ldc "internal"
goto 21
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable org.jruby.runtime.builtin.IRubyObject int[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject top int org.jcodings.Encoding org.jcodings.Encoding
StackMap stack: org.jruby.common.RubyWarnings java.lang.StringBuilder
20: ldc "external"
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable org.jruby.runtime.builtin.IRubyObject int[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject top int org.jcodings.Encoding org.jcodings.Encoding
StackMap stack: org.jruby.common.RubyWarnings java.lang.StringBuilder java.lang.String
21: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "_encoding is used"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokevirtual org.jruby.common.RubyWarnings.warn:(Ljava/lang/String;)V
23: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
24: StackMap locals:
StackMap stack:
aload 6
ifnull 26
aload 6
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 26
25: aload 0
aload 6
invokestatic org.jruby.util.io.EncodingUtils.rbToEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
astore 10
26: StackMap locals:
StackMap stack:
aload 7
ifnull 41
27: aload 7
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 30
28: aconst_null
astore 11
29: goto 39
StackMap locals:
StackMap stack:
30: aload 7
invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 8
start local 8 31: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 38
32: aload 8
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 12
start local 12 33: aload 12
ldc "-"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 36
34: aconst_null
astore 11
35: goto 39
36: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable org.jruby.runtime.builtin.IRubyObject int[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject int org.jcodings.Encoding org.jcodings.Encoding java.lang.String
StackMap stack:
aload 0
aload 7
invokestatic org.jruby.util.io.EncodingUtils.rbToEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
astore 11
end local 12 37: goto 39
38: StackMap locals:
StackMap stack:
aload 0
aload 7
invokestatic org.jruby.util.io.EncodingUtils.rbToEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
astore 11
end local 8 39: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable org.jruby.runtime.builtin.IRubyObject int[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject top int org.jcodings.Encoding org.jcodings.Encoding
StackMap stack:
aload 10
aload 11
if_acmpne 41
40: aconst_null
astore 11
41: StackMap locals:
StackMap stack:
aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 49
42: iconst_1
istore 9
43: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 8
start local 8 44: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 47
45: aload 0
aload 1
aload 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
aload 3
invokestatic org.jruby.util.io.EncodingUtils.parseModeEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Ljava/lang/String;[I)V
46: goto 52
47: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable org.jruby.runtime.builtin.IRubyObject int[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject int org.jcodings.Encoding org.jcodings.Encoding
StackMap stack:
aload 0
aload 1
aload 0
aload 5
invokestatic org.jruby.util.io.EncodingUtils.rbToEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
aconst_null
iconst_0
invokestatic org.jruby.util.io.EncodingUtils.ioExtIntToEncs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;I)V
48: goto 52
end local 8 StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable org.jruby.runtime.builtin.IRubyObject int[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject top int org.jcodings.Encoding org.jcodings.Encoding
StackMap stack:
49: aload 6
ifnonnull 50
aload 7
ifnull 52
50: StackMap locals:
StackMap stack:
iconst_1
istore 9
51: aload 0
aload 1
aload 10
aload 11
iconst_0
invokestatic org.jruby.util.io.EncodingUtils.ioExtIntToEncs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;I)V
52: StackMap locals:
StackMap stack:
iload 9
ireturn
end local 11 end local 10 end local 9 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 context Lorg/jruby/runtime/ThreadContext;
0 53 1 ioEncodable Lorg/jruby/util/io/IOEncodable;
0 53 2 options Lorg/jruby/runtime/builtin/IRubyObject;
0 53 3 fmode_p [I
1 53 4 runtime Lorg/jruby/Ruby;
2 53 5 encoding Lorg/jruby/runtime/builtin/IRubyObject;
3 53 6 extenc Lorg/jruby/runtime/builtin/IRubyObject;
4 53 7 intenc Lorg/jruby/runtime/builtin/IRubyObject;
31 39 8 tmp Lorg/jruby/runtime/builtin/IRubyObject;
44 49 8 tmp Lorg/jruby/runtime/builtin/IRubyObject;
5 53 9 extracted Z
6 53 10 extencoding Lorg/jcodings/Encoding;
7 53 11 intencoding Lorg/jcodings/Encoding;
9 15 12 opts Lorg/jruby/RubyHash;
10 15 13 encodingOpt Lorg/jruby/runtime/builtin/IRubyObject;
12 15 14 externalOpt Lorg/jruby/runtime/builtin/IRubyObject;
14 15 15 internalOpt Lorg/jruby/runtime/builtin/IRubyObject;
33 37 12 p Ljava/lang/String;
MethodParameters:
Name Flags
context
ioEncodable
options
fmode_p
public static void ioExtIntToEncs(org.jruby.runtime.ThreadContext, org.jruby.util.io.IOEncodable, org.jcodings.Encoding, org.jcodings.Encoding, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 2
ifnonnull 4
2: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getDefaultExternalEncoding:()Lorg/jcodings/Encoding;
astore 2
3: iconst_1
istore 5
4: StackMap locals: int
StackMap stack:
aload 2
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.util.io.EncodingUtils.ascii8bitEncoding:(Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
if_acmpne 7
5: aconst_null
astore 3
6: goto 9
StackMap locals:
StackMap stack:
7: aload 3
ifnonnull 9
8: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getDefaultInternalEncoding:()Lorg/jcodings/Encoding;
astore 3
9: StackMap locals:
StackMap stack:
aload 3
ifnull 11
10: iload 4
ldc 1048576
iand
ifne 16
aload 3
aload 2
if_acmpne 16
11: StackMap locals:
StackMap stack:
aload 1
iload 5
ifeq 12
aload 3
aload 2
if_acmpeq 12
aconst_null
goto 13
StackMap locals:
StackMap stack: org.jruby.util.io.IOEncodable
12: aload 2
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable org.jcodings.Encoding org.jcodings.Encoding int int
StackMap stack: org.jruby.util.io.IOEncodable org.jcodings.Encoding
13: invokeinterface org.jruby.util.io.IOEncodable.setEnc:(Lorg/jcodings/Encoding;)V
14: aload 1
aconst_null
invokeinterface org.jruby.util.io.IOEncodable.setEnc2:(Lorg/jcodings/Encoding;)V
15: goto 18
16: StackMap locals:
StackMap stack:
aload 1
aload 3
invokeinterface org.jruby.util.io.IOEncodable.setEnc:(Lorg/jcodings/Encoding;)V
17: aload 1
aload 2
invokeinterface org.jruby.util.io.IOEncodable.setEnc2:(Lorg/jcodings/Encoding;)V
18: 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 19 0 context Lorg/jruby/runtime/ThreadContext;
0 19 1 encodable Lorg/jruby/util/io/IOEncodable;
0 19 2 external Lorg/jcodings/Encoding;
0 19 3 internal Lorg/jcodings/Encoding;
0 19 4 fmode I
1 19 5 defaultExternal Z
MethodParameters:
Name Flags
context
encodable
external
internal
fmode
public static void parseModeEncoding(org.jruby.runtime.ThreadContext, org.jruby.util.io.IOEncodable, java.lang.String, int[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Ljava/lang/String;[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 4
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
astore 5
start local 5 2: aload 3
ifnonnull 3
iconst_1
newarray 10
astore 3
3: StackMap locals: org.jruby.Ruby org.jruby.runtime.encoding.EncodingService
StackMap stack:
aload 2
bipush 58
iconst_2
invokestatic org.jruby.util.StringSupport.split:(Ljava/lang/String;CI)Ljava/util/List;
astore 8
start local 8 4: aload 8
invokeinterface java.util.List.size:()I
iconst_2
if_icmpne 5
aload 8
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
goto 6
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable java.lang.String int[] org.jruby.Ruby org.jruby.runtime.encoding.EncodingService top top java.util.List
StackMap stack:
5: aload 2
StackMap locals:
StackMap stack: java.lang.String
6: astore 9
start local 9 7: aload 9
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc "bom|"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 15
8: aload 9
iconst_4
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 9
9: aload 9
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc "utf-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 13
10: aload 3
iconst_0
dup2
iaload
ldc 1048576
ior
iastore
11: aload 1
iconst_1
invokeinterface org.jruby.util.io.IOEncodable.setBOM:(Z)V
12: goto 15
13: StackMap locals: java.lang.String
StackMap stack:
aload 4
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
new java.lang.StringBuilder
dup
ldc "BOM with non-UTF encoding "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is nonsense"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.common.RubyWarnings.warn:(Ljava/lang/String;)V
14: aload 3
iconst_0
dup2
iaload
ldc -1048577
iand
iastore
15: StackMap locals:
StackMap stack:
aload 5
new org.jruby.util.ByteList
dup
aload 9
invokevirtual java.lang.String.getBytes:()[B
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BZ)V
invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingNoError:(Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
astore 10
start local 10 16: aload 10
ifnonnull 20
17: aload 4
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
new java.lang.StringBuilder
dup
ldc "Unsupported encoding "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " ignored"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.common.RubyWarnings.warn:(Ljava/lang/String;)V
18: aconst_null
astore 7
start local 7 19: goto 21
end local 7 20: StackMap locals: org.jcodings.Encoding
StackMap stack:
aload 10
astore 7
start local 7 21: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable java.lang.String int[] org.jruby.Ruby org.jruby.runtime.encoding.EncodingService top org.jcodings.Encoding java.util.List java.lang.String org.jcodings.Encoding
StackMap stack:
aconst_null
astore 6
start local 6 22: aload 8
invokeinterface java.util.List.size:()I
iconst_2
if_icmpne 33
23: aload 8
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 11
start local 11 24: aload 11
ldc "-"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
25: aconst_null
astore 6
26: goto 33
27: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.IOEncodable java.lang.String int[] org.jruby.Ruby org.jruby.runtime.encoding.EncodingService org.jcodings.Encoding org.jcodings.Encoding java.util.List java.lang.String org.jcodings.Encoding java.lang.String
StackMap stack:
aload 5
aload 11
invokevirtual org.jruby.runtime.encoding.EncodingService.getEncodingFromString:(Ljava/lang/String;)Lorg/jcodings/Encoding;
astore 10
28: aload 10
ifnonnull 32
29: aload 4
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
new java.lang.StringBuilder
dup
ldc "ignoring internal encoding "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": it is identical to external encoding "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.common.RubyWarnings.warn:(Ljava/lang/String;)V
30: aconst_null
astore 6
31: goto 33
32: StackMap locals:
StackMap stack:
aload 10
astore 6
end local 11 33: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 7
aload 6
aload 3
iconst_0
iaload
invokestatic org.jruby.util.io.EncodingUtils.ioExtIntToEncs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;I)V
34: return
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 35 0 context Lorg/jruby/runtime/ThreadContext;
0 35 1 ioEncodable Lorg/jruby/util/io/IOEncodable;
0 35 2 option Ljava/lang/String;
0 35 3 fmode_p [I
1 35 4 runtime Lorg/jruby/Ruby;
2 35 5 service Lorg/jruby/runtime/encoding/EncodingService;
22 35 6 intEnc Lorg/jcodings/Encoding;
19 20 7 extEnc Lorg/jcodings/Encoding;
21 35 7 extEnc Lorg/jcodings/Encoding;
4 35 8 encs Ljava/util/List<Ljava/lang/String;>;
7 35 9 estr Ljava/lang/String;
16 35 10 idx Lorg/jcodings/Encoding;
24 33 11 istr Ljava/lang/String;
MethodParameters:
Name Flags
context
ioEncodable
option
fmode_p
public static org.jruby.util.ByteList econvStrConvert(org.jruby.runtime.ThreadContext, org.jcodings.transcode.EConv, org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jcodings/transcode/EConv;Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aconst_null
iload 3
invokestatic org.jruby.util.io.EncodingUtils.econvSubstrAppend:(Lorg/jruby/runtime/ThreadContext;Lorg/jcodings/transcode/EConv;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 ec Lorg/jcodings/transcode/EConv;
0 1 2 src Lorg/jruby/util/ByteList;
0 1 3 flags I
MethodParameters:
Name Flags
context
ec
src
flags
public static org.jruby.util.ByteList econvSubstrAppend(org.jruby.runtime.ThreadContext, org.jcodings.transcode.EConv, org.jruby.util.ByteList, org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jcodings/transcode/EConv;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
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
iload 4
invokestatic org.jruby.util.io.EncodingUtils.econvAppend:(Lorg/jruby/runtime/ThreadContext;Lorg/jcodings/transcode/EConv;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 ec Lorg/jcodings/transcode/EConv;
0 1 2 src Lorg/jruby/util/ByteList;
0 1 3 dst Lorg/jruby/util/ByteList;
0 1 4 flags I
MethodParameters:
Name Flags
context
ec
src
dst
flags
public static org.jruby.util.ByteList econvAppend(org.jruby.runtime.ThreadContext, org.jcodings.transcode.EConv, org.jruby.util.ByteList, org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jcodings/transcode/EConv;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=18, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual org.jruby.util.ByteList.getRealSize:()I
istore 5
start local 5 1: new org.jcodings.Ptr
dup
iconst_0
invokespecial org.jcodings.Ptr.<init>:(I)V
astore 6
start local 6 2: iconst_0
istore 7
start local 7 3: iconst_0
istore 8
start local 8 4: aload 2
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 9
start local 9 5: new org.jcodings.Ptr
dup
iconst_0
invokespecial org.jcodings.Ptr.<init>:(I)V
astore 11
start local 11 6: iconst_0
istore 12
start local 12 7: aload 3
ifnonnull 11
8: new org.jruby.util.ByteList
dup
iload 5
invokespecial org.jruby.util.ByteList.<init>:(I)V
astore 3
9: aload 1
getfield org.jcodings.transcode.EConv.destinationEncoding:Lorg/jcodings/Encoding;
ifnull 11
10: aload 3
aload 1
getfield org.jcodings.transcode.EConv.destinationEncoding:Lorg/jcodings/Encoding;
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
11: StackMap locals: org.jruby.runtime.ThreadContext org.jcodings.transcode.EConv org.jruby.util.ByteList org.jruby.util.ByteList int int org.jcodings.Ptr int int int top org.jcodings.Ptr int
StackMap stack:
aload 1
getfield org.jcodings.transcode.EConv.lastTranscoding:Lorg/jcodings/transcode/Transcoding;
ifnull 14
12: aload 1
getfield org.jcodings.transcode.EConv.lastTranscoding:Lorg/jcodings/transcode/Transcoding;
getfield org.jcodings.transcode.Transcoding.transcoder:Lorg/jcodings/transcode/Transcoder;
getfield org.jcodings.transcode.Transcoder.maxOutput:I
istore 14
start local 14 13: goto 15
end local 14 14: StackMap locals:
StackMap stack:
iconst_1
istore 14
start local 14 15: StackMap locals: org.jruby.runtime.ThreadContext org.jcodings.transcode.EConv org.jruby.util.ByteList org.jruby.util.ByteList int int org.jcodings.Ptr int int int top org.jcodings.Ptr int top int
StackMap stack:
aload 3
invokevirtual org.jruby.util.ByteList.getRealSize:()I
istore 15
start local 15 16: aload 3
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
arraylength
aload 3
invokevirtual org.jruby.util.ByteList.getBegin:()I
isub
iload 15
isub
iload 5
iload 14
iadd
if_icmpge 22
17: iload 15
iload 5
iadd
iload 14
iadd
i2l
lstore 16
start local 16 18: ldc 2147483647
lload 16
lcmp
ifge 20
19: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "too long string"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
20: StackMap locals: int long
StackMap stack:
aload 3
lload 16
l2i
invokevirtual org.jruby.util.ByteList.ensure:(I)V
21: aload 3
iload 15
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
end local 16 22: StackMap locals:
StackMap stack:
aload 6
iload 9
putfield org.jcodings.Ptr.p:I
23: aload 6
getfield org.jcodings.Ptr.p:I
iload 5
iadd
istore 7
24: aload 3
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 10
start local 10 25: aload 3
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 8
26: aload 10
arraylength
istore 12
27: aload 11
iload 8
iload 15
iadd
dup
istore 8
putfield org.jcodings.Ptr.p:I
28: aload 1
aload 2
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 6
iload 7
aload 10
aload 11
iload 12
iload 4
invokevirtual org.jcodings.transcode.EConv.convert:([BLorg/jcodings/Ptr;I[BLorg/jcodings/Ptr;II)Lorg/jcodings/transcode/EConvResult;
astore 13
start local 13 29: iload 5
aload 6
getfield org.jcodings.Ptr.p:I
iload 9
isub
isub
istore 5
30: aload 6
getfield org.jcodings.Ptr.p:I
istore 9
31: aload 3
iload 15
aload 11
getfield org.jcodings.Ptr.p:I
iload 8
isub
iadd
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
32: aload 0
aload 1
invokestatic org.jruby.util.io.EncodingUtils.econvCheckError:(Lorg/jruby/runtime/ThreadContext;Lorg/jcodings/transcode/EConv;)V
end local 15 33: aload 13
getstatic org.jcodings.transcode.EConvResult.DestinationBufferFull:Lorg/jcodings/transcode/EConvResult;
if_acmpeq 15
34: aload 3
areturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 context Lorg/jruby/runtime/ThreadContext;
0 35 1 ec Lorg/jcodings/transcode/EConv;
0 35 2 sByteList Lorg/jruby/util/ByteList;
0 35 3 dst Lorg/jruby/util/ByteList;
0 35 4 flags I
1 35 5 len I
2 35 6 sp Lorg/jcodings/Ptr;
3 35 7 se I
4 35 8 ds I
5 35 9 ss I
25 35 10 dBytes [B
6 35 11 dp Lorg/jcodings/Ptr;
7 35 12 de I
29 35 13 res Lorg/jcodings/transcode/EConvResult;
13 14 14 maxOutput I
15 35 14 maxOutput I
16 33 15 dlen I
18 22 16 newCapa J
MethodParameters:
Name Flags
context
ec
sByteList
dst
flags
public static void econvCheckError(org.jruby.runtime.ThreadContext, org.jcodings.transcode.EConv);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jcodings/transcode/EConv;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 1
invokestatic org.jruby.util.io.EncodingUtils.makeEconvException:(Lorg/jruby/Ruby;Lorg/jcodings/transcode/EConv;)Lorg/jruby/exceptions/RaiseException;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
athrow
2: StackMap locals: org.jruby.exceptions.RaiseException
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lorg/jruby/runtime/ThreadContext;
0 3 1 ec Lorg/jcodings/transcode/EConv;
1 3 2 re Lorg/jruby/exceptions/RaiseException;
MethodParameters:
Name Flags
context
ec
public static int econvPrepareOpts(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)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
aload 1
aload 2
iconst_0
invokestatic org.jruby.util.io.EncodingUtils.econvPrepareOptions:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 opthash Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 opts [Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
opthash
opts
public static int econvPrepareOptions(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[], int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 1: aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 4
2: aload 2
iconst_0
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
3: iload 3
ireturn
4: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 1
checkcast org.jruby.RubyHash
astore 6
start local 6 5: aload 0
aload 1
iload 3
invokestatic org.jruby.util.io.EncodingUtils.econvOpts:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;I)I
istore 3
6: aload 6
aload 0
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "replace"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 7: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 14
8: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
astore 7
start local 7 9: aload 7
invokevirtual org.jruby.RubyString.scanForCodeRange:()I
bipush 48
if_icmpne 11
10: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "replacement string is broken: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
11: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.RubyHash org.jruby.RubyString
StackMap stack:
aload 7
aload 0
invokevirtual org.jruby.RubyString.freeze:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
12: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
astore 4
13: aload 4
checkcast org.jruby.RubyHash
aload 0
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "replace"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
aload 5
invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 7 14: StackMap locals:
StackMap stack:
aload 6
aload 0
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "fallback"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
15: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 28
16: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 5
invokestatic org.jruby.util.TypeConverter.checkHashType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 17: aload 7
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 22
18: aload 5
instanceof org.jruby.RubyProc
ifne 19
aload 5
instanceof org.jruby.RubyMethod
ifne 19
aload 5
ldc "[]"
invokeinterface org.jruby.runtime.builtin.IRubyObject.respondsTo:(Ljava/lang/String;)Z
ifne 19
iconst_0
goto 20
StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
19: iconst_1
StackMap locals:
StackMap stack: int
20: istore 8
start local 8 21: goto 24
end local 8 22: StackMap locals:
StackMap stack:
aload 7
astore 5
23: iconst_1
istore 8
start local 8 24: StackMap locals: int
StackMap stack:
iload 8
ifeq 28
25: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 27
26: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
astore 4
27: StackMap locals:
StackMap stack:
aload 4
checkcast org.jruby.RubyHash
aload 0
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "fallback"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
aload 5
invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 8 end local 7 28: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 30
29: aload 4
iconst_1
invokeinterface org.jruby.runtime.builtin.IRubyObject.setFrozen:(Z)V
30: StackMap locals:
StackMap stack:
aload 2
iconst_0
aload 4
aastore
31: iload 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 32 0 context Lorg/jruby/runtime/ThreadContext;
0 32 1 opthash Lorg/jruby/runtime/builtin/IRubyObject;
0 32 2 opts [Lorg/jruby/runtime/builtin/IRubyObject;
0 32 3 ecflags I
1 32 4 newhash Lorg/jruby/runtime/builtin/IRubyObject;
7 32 5 v Lorg/jruby/runtime/builtin/IRubyObject;
5 32 6 optHash2 Lorg/jruby/RubyHash;
9 14 7 v_str Lorg/jruby/RubyString;
17 28 7 h Lorg/jruby/runtime/builtin/IRubyObject;
21 22 8 condition Z
24 28 8 condition Z
MethodParameters:
Name Flags
context
opthash
opts
ecflags
public static int econvOpts(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 1
checkcast org.jruby.RubyHash
aload 0
aload 3
ldc "invalid"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 2: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 7
3: aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
ldc "replace"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
4: iload 2
iconst_2
ior
istore 2
5: goto 7
6: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 3
ldc "unknown value for invalid character option"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
7: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.RubyHash
aload 0
aload 3
ldc "undef"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
8: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 13
9: aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
ldc "replace"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
10: iload 2
bipush 32
ior
istore 2
11: goto 13
12: StackMap locals:
StackMap stack:
aload 3
ldc "unknown value for undefined character option"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
13: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.RubyHash
aload 0
aload 3
ldc "replace"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
14: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 16
iload 2
iconst_2
iand
ifeq 16
15: iload 2
bipush 32
ior
istore 2
16: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.RubyHash
aload 0
aload 3
ldc "xml"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
17: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 25
18: aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
ldc "text"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
19: iload 2
sipush 16432
ior
istore 2
20: goto 25
StackMap locals:
StackMap stack:
21: aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
ldc "attr"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
22: iload 2
ldc 1081392
ior
istore 2
23: goto 25
24: StackMap locals:
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
ldc "unexpected value for xml option: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
25: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.RubyHash
aload 0
aload 3
ldc "newline"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
26: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 41
27: iload 2
sipush -16129
iand
istore 2
28: aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
ldc "universal"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
29: iload 2
sipush 256
ior
istore 2
30: goto 41
StackMap locals:
StackMap stack:
31: aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
ldc "crlf"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 34
32: iload 2
sipush 4096
ior
istore 2
33: goto 41
StackMap locals:
StackMap stack:
34: aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
ldc "cr"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 37
35: iload 2
sipush 8192
ior
istore 2
36: goto 41
StackMap locals:
StackMap stack:
37: aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
ldc "lf"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 41
38: aload 4
instanceof org.jruby.RubySymbol
ifeq 40
39: aload 3
new java.lang.StringBuilder
dup
ldc "unexpected value for newline option: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
checkcast org.jruby.RubySymbol
aload 0
invokevirtual org.jruby.RubySymbol.to_s:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
40: StackMap locals:
StackMap stack:
aload 3
ldc "unexpected value for newline option"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
41: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 42: iconst_0
istore 6
start local 6 43: aload 1
checkcast org.jruby.RubyHash
aload 0
aload 3
ldc "universal_newline"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
44: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 46
45: iload 5
sipush 256
ior
istore 5
46: StackMap locals: int int
StackMap stack:
iload 6
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 47
iconst_0
goto 48
StackMap locals:
StackMap stack: int
47: iconst_1
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int int
StackMap stack: int int
48: ior
istore 6
49: aload 1
checkcast org.jruby.RubyHash
aload 0
aload 3
ldc "crlf_newline"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
50: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 52
51: iload 5
sipush 4096
ior
istore 5
52: StackMap locals:
StackMap stack:
iload 6
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 53
iconst_0
goto 54
StackMap locals:
StackMap stack: int
53: iconst_1
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int int
StackMap stack: int int
54: ior
istore 6
55: aload 1
checkcast org.jruby.RubyHash
aload 0
aload 3
ldc "cr_newline"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
56: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 58
57: iload 5
sipush 8192
ior
istore 5
58: StackMap locals:
StackMap stack:
iload 6
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 59
iconst_0
goto 60
StackMap locals:
StackMap stack: int
59: iconst_1
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int int
StackMap stack: int int
60: ior
istore 6
61: iload 6
ifeq 64
62: iload 2
sipush -16129
iand
istore 2
63: iload 2
iload 5
ior
istore 2
64: StackMap locals:
StackMap stack:
iload 2
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 65 0 context Lorg/jruby/runtime/ThreadContext;
0 65 1 opt Lorg/jruby/runtime/builtin/IRubyObject;
0 65 2 ecflags I
1 65 3 runtime Lorg/jruby/Ruby;
2 65 4 v Lorg/jruby/runtime/builtin/IRubyObject;
42 65 5 setflags I
43 65 6 newlineflag Z
MethodParameters:
Name Flags
context
opt
ecflags
public static org.jcodings.transcode.EConv econvOpenOpts(org.jruby.runtime.ThreadContext, byte[], byte[], int, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;[B[BILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/transcode/EConv;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 5
start local 5 1: aload 4
ifnull 2
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 4
2: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 3: goto 7
end local 6 4: StackMap locals:
StackMap stack:
aload 4
instanceof org.jruby.RubyHash
ifeq 5
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isFrozen:()Z
ifne 6
5: StackMap locals:
StackMap stack:
aload 5
ldc "bug: EncodingUtils.econvOpenOpts called with invalid opthash"
invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals:
StackMap stack:
aload 4
checkcast org.jruby.RubyHash
aload 0
aload 5
ldc "replace"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 7: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 1
aload 2
iload 3
invokestatic org.jcodings.transcode.TranscoderDB.open:([B[BI)Lorg/jcodings/transcode/EConv;
astore 7
start local 7 8: aload 7
ifnonnull 9
aload 7
areturn
9: StackMap locals: org.jcodings.transcode.EConv
StackMap stack:
aload 6
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 17
10: aload 6
checkcast org.jruby.RubyString
astore 9
start local 9 11: aload 9
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 10
start local 10 12: aload 7
invokevirtual org.jcodings.transcode.EConv.makeReplacement:()I
pop
13: aload 7
aload 10
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 10
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 10
invokevirtual org.jruby.util.ByteList.getRealSize:()I
aload 10
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jcodings.Encoding.getName:()[B
invokevirtual org.jcodings.transcode.EConv.setReplacement:([BII[B)I
istore 8
start local 8 14: iload 8
iconst_m1
if_icmpne 17
15: aload 7
invokevirtual org.jcodings.transcode.EConv.close:()V
16: aconst_null
areturn
end local 10 end local 9 end local 8 17: StackMap locals:
StackMap stack:
aload 7
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 context Lorg/jruby/runtime/ThreadContext;
0 18 1 sourceEncoding [B
0 18 2 destinationEncoding [B
0 18 3 ecflags I
0 18 4 opthash Lorg/jruby/runtime/builtin/IRubyObject;
1 18 5 runtime Lorg/jruby/Ruby;
3 4 6 replacement Lorg/jruby/runtime/builtin/IRubyObject;
7 18 6 replacement Lorg/jruby/runtime/builtin/IRubyObject;
8 18 7 ec Lorg/jcodings/transcode/EConv;
14 17 8 ret I
11 17 9 replStr Lorg/jruby/RubyString;
12 17 10 replBL Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
context
sourceEncoding
destinationEncoding
ecflags
opthash
public static org.jruby.exceptions.RaiseException econvOpenExc(org.jruby.runtime.ThreadContext, byte[], byte[], int);
descriptor: (Lorg/jruby/runtime/ThreadContext;[B[BI)Lorg/jruby/exceptions/RaiseException;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.StringBuilder
dup
aload 0
aload 1
aload 2
iload 3
ldc "code converter not found ("
invokestatic org.jruby.util.io.EncodingUtils.econvDescription:(Lorg/jruby/runtime/ThreadContext;[B[BILjava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 1: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
invokevirtual org.jruby.Ruby.newConverterNotFoundError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 sourceEncoding [B
0 2 2 destinationEncoding [B
0 2 3 ecflags I
1 2 4 message Ljava/lang/String;
MethodParameters:
Name Flags
context
sourceEncoding
destinationEncoding
ecflags
public static java.lang.String econvDescription(org.jruby.runtime.ThreadContext, byte[], byte[], int, java.lang.String);
descriptor: (Lorg/jruby/runtime/ThreadContext;[B[BILjava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 1
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 2
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 sourceEncoding [B
0 1 2 destinationEncoding [B
0 1 3 ecflags I
0 1 4 message Ljava/lang/String;
MethodParameters:
Name Flags
context
sourceEncoding
destinationEncoding
ecflags
message
public static org.jcodings.Encoding econvAsciicompatEncoding(org.jcodings.Encoding);
descriptor: (Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.jruby.RubyConverter.NONASCII_TO_ASCII:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jcodings.Encoding
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 enc Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
enc
public static boolean encAsciicompat(org.jcodings.Encoding);
descriptor: (Lorg/jcodings/Encoding;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.util.io.EncodingUtils.encMbminlen:(Lorg/jcodings/Encoding;)I
iconst_1
if_icmpne 1
aload 0
invokestatic org.jruby.util.io.EncodingUtils.encDummy:(Lorg/jcodings/Encoding;)Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 enc Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
enc
public static int encAscget(byte[], int, int, int[], org.jcodings.Encoding);
descriptor: ([BII[ILorg/jcodings/Encoding;)I
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 1
if_icmpgt 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 4
invokestatic org.jruby.util.io.EncodingUtils.encAsciicompat:(Lorg/jcodings/Encoding;)Z
ifeq 8
3: aload 0
iload 1
baload
sipush 255
iand
istore 5
start local 5 4: iload 5
i2b
invokestatic org.jcodings.Encoding.isAscii:(B)Z
ifne 6
5: iconst_m1
ireturn
6: StackMap locals: int
StackMap stack:
aload 3
ifnull 7
aload 3
iconst_0
iconst_1
iastore
7: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 5 8: StackMap locals:
StackMap stack:
aload 4
aload 0
iload 1
iload 2
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 6
start local 6 9: iload 6
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
ifne 11
10: iconst_m1
ireturn
11: StackMap locals: byte[] int int int[] org.jcodings.Encoding top int
StackMap stack:
aload 4
aload 0
iload 1
iload 2
invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
istore 5
start local 5 12: iload 5
invokestatic org.jcodings.Encoding.isAscii:(I)Z
ifne 14
13: iconst_m1
ireturn
14: StackMap locals: byte[] int int int[] org.jcodings.Encoding int int
StackMap stack:
aload 3
ifnull 15
aload 3
iconst_0
iload 6
iastore
15: StackMap locals:
StackMap stack:
iload 5
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 16 0 pBytes [B
0 16 1 p I
0 16 2 e I
0 16 3 len [I
0 16 4 enc Lorg/jcodings/Encoding;
4 8 5 c I
12 16 5 c I
9 16 6 l I
MethodParameters:
Name Flags
pBytes
p
e
len
enc
public static int encMbminlen(org.jcodings.Encoding);
descriptor: (Lorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jcodings.Encoding.minLength:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 encoding Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
encoding
public static boolean encDummy(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.isDummy:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 enc Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
enc
public static org.jcodings.Encoding encGet(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.runtime.encoding.EncodingCapable
ifeq 2
1: aload 1
checkcast org.jruby.runtime.encoding.EncodingCapable
invokeinterface org.jruby.runtime.encoding.EncodingCapable.getEncoding:()Lorg/jcodings/Encoding;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getDefaultInternalEncoding:()Lorg/jcodings/Encoding;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lorg/jruby/runtime/ThreadContext;
0 3 1 obj Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
obj
public static boolean encodingEqual(byte[], byte[]);
descriptor: ([B[B)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.String
dup
aload 0
invokespecial java.lang.String.<init>:([B)V
new java.lang.String
dup
aload 1
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 enc1 [B
0 1 1 enc2 [B
MethodParameters:
Name Flags
enc1
enc2
public static org.jcodings.Encoding encArg(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, byte[][], org.jcodings.Encoding[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[[B[Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
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
invokestatic org.jruby.util.io.EncodingUtils.toEncodingIndex:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
dup
astore 4
start local 4 1: ifnonnull 4
2: aload 2
iconst_0
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getBytes:()[B
aastore
3: goto 5
4: StackMap locals: org.jcodings.Encoding
StackMap stack:
aload 2
iconst_0
aload 4
invokevirtual org.jcodings.Encoding.getName:()[B
aastore
5: StackMap locals:
StackMap stack:
aload 3
iconst_0
aload 4
dup_x2
aastore
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 context Lorg/jruby/runtime/ThreadContext;
0 6 1 encval Lorg/jruby/runtime/builtin/IRubyObject;
0 6 2 name_p [[B
0 6 3 enc_p [Lorg/jcodings/Encoding;
1 6 4 enc Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
encval
name_p
enc_p
public static org.jcodings.Encoding toEncodingIndex(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.RubyEncoding
ifeq 2
1: aload 1
checkcast org.jruby.RubyEncoding
invokevirtual org.jruby.RubyEncoding.getEncoding:()Lorg/jcodings/Encoding;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifne 6
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 1
invokevirtual org.jruby.runtime.encoding.EncodingService.getEncodingFromObjectNoError:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 context Lorg/jruby/runtime/ThreadContext;
0 7 1 enc Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
enc
public static org.jruby.runtime.builtin.IRubyObject encodedDup(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jcodings.Encoding);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnonnull 1
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
aload 1
aload 2
if_acmpne 4
2: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
astore 1
3: goto 5
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.RubyBasicObject
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyBasicObject.setMetaClass:(Lorg/jruby/RubyClass;)V
5: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.modify19:()V
6: aload 0
aload 1
aload 3
invokestatic org.jruby.util.io.EncodingUtils.strEncodeAssociate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 context Lorg/jruby/runtime/ThreadContext;
0 7 1 newstr Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 str Lorg/jruby/runtime/builtin/IRubyObject;
0 7 3 encindex Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
newstr
str
encindex
public static org.jruby.runtime.builtin.IRubyObject strEncodeAssociate(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jcodings.Encoding);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
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 1
aload 2
invokestatic org.jruby.util.io.EncodingUtils.encAssociateIndex:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
1: aload 2
invokestatic org.jruby.util.io.EncodingUtils.encAsciicompat:(Lorg/jcodings/Encoding;)Z
ifeq 4
2: aload 1
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.scanForCodeRange:()I
pop
3: goto 5
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.RubyString
bipush 32
invokevirtual org.jruby.RubyString.setCodeRange:(I)V
5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 context Lorg/jruby/runtime/ThreadContext;
0 6 1 str Lorg/jruby/runtime/builtin/IRubyObject;
0 6 2 encidx Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
str
encidx
public static org.jruby.runtime.builtin.IRubyObject encAssociateIndex(org.jruby.runtime.builtin.IRubyObject, org.jcodings.Encoding);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
checkcast org.jruby.RubyBasicObject
invokevirtual org.jruby.RubyBasicObject.checkFrozen:()V
1: aload 1
ifnonnull 2
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
astore 1
2: StackMap locals:
StackMap stack:
aload 0
checkcast org.jruby.runtime.encoding.EncodingCapable
invokeinterface org.jruby.runtime.encoding.EncodingCapable.getEncoding:()Lorg/jcodings/Encoding;
aload 1
if_acmpne 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof org.jruby.RubyString
ifeq 6
5: aload 0
checkcast org.jruby.RubyString
invokestatic org.jruby.util.CodeRangeSupport.isCodeRangeAsciiOnly:(Lorg/jruby/util/CodeRangeable;)Z
ifeq 7
6: StackMap locals:
StackMap stack:
aload 1
invokestatic org.jruby.util.io.EncodingUtils.encAsciicompat:(Lorg/jcodings/Encoding;)Z
ifeq 8
7: StackMap locals:
StackMap stack:
aload 0
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.clearCodeRange:()V
8: StackMap locals:
StackMap stack:
aload 0
checkcast org.jruby.runtime.encoding.EncodingCapable
aload 1
invokeinterface org.jruby.runtime.encoding.EncodingCapable.setEncoding:(Lorg/jcodings/Encoding;)V
9: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 obj Lorg/jruby/runtime/builtin/IRubyObject;
0 10 1 encidx Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
obj
encidx
public static org.jruby.runtime.builtin.IRubyObject strEncode(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 1
aastore
astore 3
start local 3 1: aload 0
aload 2
aload 3
invokestatic org.jruby.util.io.EncodingUtils.strTranscode:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
astore 4
start local 4 2: aload 0
aload 3
iconst_0
aaload
aload 1
aload 4
invokestatic org.jruby.util.io.EncodingUtils.encodedDup:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lorg/jruby/runtime/ThreadContext;
0 3 1 str Lorg/jruby/runtime/builtin/IRubyObject;
0 3 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 3 3 newstr_p [Lorg/jruby/runtime/builtin/IRubyObject;
2 3 4 dencindex Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
str
args
public static org.jruby.runtime.builtin.IRubyObject rbStrEncode(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, int, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 1
aastore
astore 5
start local 5 1: aload 0
iconst_1
iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 2
aastore
aload 5
iload 3
aload 4
invokestatic org.jruby.util.io.EncodingUtils.strTranscode0:(Lorg/jruby/runtime/ThreadContext;I[Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
astore 6
start local 6 2: aload 0
aload 5
iconst_0
aaload
aload 1
aload 6
invokestatic org.jruby.util.io.EncodingUtils.encodedDup:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jcodings/Encoding;)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 3 0 context Lorg/jruby/runtime/ThreadContext;
0 3 1 str Lorg/jruby/runtime/builtin/IRubyObject;
0 3 2 to Lorg/jruby/runtime/builtin/IRubyObject;
0 3 3 ecflags I
0 3 4 ecopt Lorg/jruby/runtime/builtin/IRubyObject;
1 3 5 newstr_p [Lorg/jruby/runtime/builtin/IRubyObject;
2 3 6 dencindex Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
str
to
ecflags
ecopt
public static org.jcodings.Encoding strTranscode(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 1
arraylength
istore 4
start local 4 2: iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
astore 5
start local 5 3: aload 1
arraylength
iconst_1
if_icmplt 8
4: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 1
aload 1
arraylength
iconst_1
isub
aaload
invokestatic org.jruby.util.TypeConverter.checkHashType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 5: aload 6
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 8
6: iinc 4 -1
7: aload 0
aload 6
aload 5
invokestatic org.jruby.util.io.EncodingUtils.econvPrepareOpts:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 3
end local 6 8: StackMap locals: int int org.jruby.runtime.builtin.IRubyObject[]
StackMap stack:
aload 0
iload 4
aload 1
aload 2
iload 3
aload 5
iconst_0
aaload
invokestatic org.jruby.util.io.EncodingUtils.strTranscode0:(Lorg/jruby/runtime/ThreadContext;I[Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
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 9 0 context Lorg/jruby/runtime/ThreadContext;
0 9 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 9 2 self_p [Lorg/jruby/runtime/builtin/IRubyObject;
1 9 3 ecflags I
2 9 4 argc I
3 9 5 ecopts_p [Lorg/jruby/runtime/builtin/IRubyObject;
5 8 6 tmp Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
args
self_p
public static org.jcodings.Encoding strTranscode0(org.jruby.runtime.ThreadContext, int, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.builtin.IRubyObject[], int, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;I[Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=13, locals=26, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 6
start local 6 1: aload 3
iconst_0
aaload
astore 7
start local 7 2: iconst_1
anewarray org.jcodings.Encoding
astore 10
start local 10 3: iconst_1
anewarray org.jcodings.Encoding
astore 11
start local 11 4: iconst_1
anewarray byte[]
astore 12
start local 12 5: iconst_1
anewarray byte[]
astore 13
start local 13 6: iconst_1
istore 15
start local 15 7: iload 1
iconst_2
if_icmple 9
8: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
arraylength
iconst_2
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
9: StackMap locals: org.jruby.runtime.ThreadContext int org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject[] int org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject top top org.jcodings.Encoding[] org.jcodings.Encoding[] byte[][] byte[][] top int
StackMap stack:
iload 1
ifne 18
10: aload 6
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
invokevirtual org.jruby.runtime.encoding.EncodingService.getDefaultInternal:()Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
start local 8 11: aload 8
ifnull 12
aload 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 14
12: StackMap locals: org.jruby.runtime.ThreadContext int org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject[] int org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject top org.jcodings.Encoding[] org.jcodings.Encoding[] byte[][] byte[][] top int
StackMap stack:
iload 4
ifne 13
aconst_null
areturn
13: StackMap locals:
StackMap stack:
aload 0
aload 7
invokestatic org.jruby.util.io.EncodingUtils.objEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
14: StackMap locals:
StackMap stack:
iload 4
bipush 15
iand
ifne 16
15: iconst_0
istore 15
16: StackMap locals:
StackMap stack:
iload 4
bipush 34
ior
istore 4
17: goto 19
end local 8 18: StackMap locals: org.jruby.runtime.ThreadContext int org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject[] int org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject top top org.jcodings.Encoding[] org.jcodings.Encoding[] byte[][] byte[][] top int
StackMap stack:
aload 2
iconst_0
aaload
astore 8
start local 8 19: StackMap locals: org.jruby.runtime.ThreadContext int org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject[] int org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject top org.jcodings.Encoding[] org.jcodings.Encoding[] byte[][] byte[][] top int
StackMap stack:
iload 1
iconst_1
if_icmpgt 20
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
goto 21
StackMap locals:
StackMap stack:
20: aload 2
iconst_1
aaload
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
21: astore 9
start local 9 22: aload 0
aload 7
aload 8
aload 9
aload 12
aload 10
aload 13
aload 11
invokestatic org.jruby.util.io.EncodingUtils.strTranscodeEncArgs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;[[B[Lorg/jcodings/Encoding;[[B[Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
astore 14
start local 14 23: iload 4
ldc 1113856
iand
ifne 43
24: aload 10
iconst_0
aaload
ifnull 36
aload 10
iconst_0
aaload
aload 11
iconst_0
aaload
if_acmpne 36
25: iload 4
bipush 15
iand
ifeq 33
iload 15
ifeq 33
26: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 17
start local 17 27: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 29
28: aload 5
checkcast org.jruby.RubyHash
aload 0
aload 6
ldc "replace"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 17
29: StackMap locals: org.jruby.runtime.ThreadContext int org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject[] int org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jcodings.Encoding[] org.jcodings.Encoding[] byte[][] byte[][] org.jcodings.Encoding int top org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 7
checkcast org.jruby.RubyString
aload 0
aload 17
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
invokevirtual org.jruby.RubyString.scrub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 16
start local 16 30: aload 16
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 31
aload 7
astore 16
31: StackMap locals: org.jruby.runtime.ThreadContext int org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject[] int org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jcodings.Encoding[] org.jcodings.Encoding[] byte[][] byte[][] org.jcodings.Encoding int org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 3
iconst_0
aload 16
aastore
32: aload 14
areturn
end local 17 end local 16 33: StackMap locals:
StackMap stack:
aload 9
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 34
aconst_null
goto 35
StackMap locals:
StackMap stack:
34: aload 14
StackMap locals:
StackMap stack: org.jcodings.Encoding
35: areturn
36: StackMap locals:
StackMap stack:
aload 10
iconst_0
aaload
ifnull 39
aload 11
iconst_0
aaload
ifnull 39
aload 10
iconst_0
aaload
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 39
aload 11
iconst_0
aaload
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 39
37: aload 7
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.scanForCodeRange:()I
bipush 16
if_icmpne 39
38: aload 14
areturn
39: StackMap locals:
StackMap stack:
aload 12
iconst_0
aaload
aload 13
iconst_0
aaload
invokestatic org.jruby.util.io.EncodingUtils.encodingEqual:([B[B)Z
ifeq 46
40: aload 9
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 41
aconst_null
goto 42
StackMap locals:
StackMap stack:
41: aload 14
StackMap locals:
StackMap stack: org.jcodings.Encoding
42: areturn
43: StackMap locals:
StackMap stack:
aload 12
iconst_0
aaload
aload 13
iconst_0
aaload
invokestatic org.jruby.util.io.EncodingUtils.encodingEqual:([B[B)Z
ifeq 46
44: aload 12
iconst_0
getstatic org.jruby.util.io.EncodingUtils.NULL_BYTE_ARRAY:[B
aastore
45: aload 13
iconst_0
getstatic org.jruby.util.io.EncodingUtils.NULL_BYTE_ARRAY:[B
aastore
46: StackMap locals:
StackMap stack:
aload 7
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 17
start local 17 47: aload 17
astore 18
start local 18 48: aload 7
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.size:()I
istore 19
start local 19 49: iload 19
bipush 30
iadd
istore 20
start local 20 50: aload 6
iload 20
invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyString;
astore 16
start local 16 51: aload 16
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 21
start local 21 52: aload 18
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
astore 22
start local 22 53: aload 21
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
astore 23
start local 23 54: new org.jcodings.Ptr
dup
aload 18
invokevirtual org.jruby.util.ByteList.getBegin:()I
invokespecial org.jcodings.Ptr.<init>:(I)V
astore 24
start local 24 55: new org.jcodings.Ptr
dup
aload 21
invokevirtual org.jruby.util.ByteList.getBegin:()I
invokespecial org.jcodings.Ptr.<init>:(I)V
astore 25
start local 25 56: aload 0
aload 22
aload 24
aload 23
aload 25
aload 24
getfield org.jcodings.Ptr.p:I
iload 19
iadd
aload 25
getfield org.jcodings.Ptr.p:I
iload 20
iadd
aload 21
getstatic org.jruby.util.io.EncodingUtils.strTranscodingResize:Lorg/jruby/util/io/EncodingUtils$ResizeFunction;
aload 12
iconst_0
aaload
aload 13
iconst_0
aaload
iload 4
aload 5
invokestatic org.jruby.util.io.EncodingUtils.transcodeLoop:(Lorg/jruby/runtime/ThreadContext;[BLorg/jcodings/Ptr;[BLorg/jcodings/Ptr;IILorg/jruby/util/ByteList;Lorg/jruby/util/io/EncodingUtils$ResizeFunction;[B[BILorg/jruby/runtime/builtin/IRubyObject;)V
57: aload 24
getfield org.jcodings.Ptr.p:I
aload 17
invokevirtual org.jruby.util.ByteList.begin:()I
iload 19
iadd
if_icmpeq 59
58: aload 6
new java.lang.StringBuilder
dup
ldc "not fully converted, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 19
aload 24
getfield org.jcodings.Ptr.p:I
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes left"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
59: StackMap locals: org.jruby.runtime.ThreadContext int org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject[] int org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jcodings.Encoding[] org.jcodings.Encoding[] byte[][] byte[][] org.jcodings.Encoding int org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList org.jruby.util.ByteList int int org.jruby.util.ByteList byte[] byte[] org.jcodings.Ptr org.jcodings.Ptr
StackMap stack:
aload 11
iconst_0
aaload
ifnonnull 61
60: aload 0
aload 13
iconst_0
aaload
invokestatic org.jruby.util.io.EncodingUtils.defineDummyEncoding:(Lorg/jruby/runtime/ThreadContext;[B)Lorg/jcodings/Encoding;
astore 14
61: StackMap locals:
StackMap stack:
aload 3
iconst_0
aload 16
aastore
62: aload 14
areturn
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 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 context Lorg/jruby/runtime/ThreadContext;
0 63 1 argc I
0 63 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 63 3 self_p [Lorg/jruby/runtime/builtin/IRubyObject;
0 63 4 ecflags I
0 63 5 ecopts Lorg/jruby/runtime/builtin/IRubyObject;
1 63 6 runtime Lorg/jruby/Ruby;
2 63 7 str Lorg/jruby/runtime/builtin/IRubyObject;
11 18 8 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
19 63 8 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
22 63 9 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
3 63 10 senc_p [Lorg/jcodings/Encoding;
4 63 11 denc_p [Lorg/jcodings/Encoding;
5 63 12 sname_p [[B
6 63 13 dname_p [[B
23 63 14 dencindex Lorg/jcodings/Encoding;
7 63 15 explicitlyInvalidReplace Z
30 33 16 dest Lorg/jruby/runtime/builtin/IRubyObject;
51 63 16 dest Lorg/jruby/runtime/builtin/IRubyObject;
27 33 17 rep Lorg/jruby/runtime/builtin/IRubyObject;
47 63 17 sp Lorg/jruby/util/ByteList;
48 63 18 fromp Lorg/jruby/util/ByteList;
49 63 19 slen I
50 63 20 blen I
52 63 21 destp Lorg/jruby/util/ByteList;
53 63 22 frompBytes [B
54 63 23 destpBytes [B
55 63 24 frompPos Lorg/jcodings/Ptr;
56 63 25 destpPos Lorg/jcodings/Ptr;
MethodParameters:
Name Flags
context
argc
args
self_p
ecflags
ecopts
public static org.jruby.runtime.builtin.IRubyObject objEncoding(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.jruby.util.io.EncodingUtils.encGet:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "unknown encoding"
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: org.jcodings.Encoding
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 2
invokevirtual org.jruby.runtime.encoding.EncodingService.convertEncodingToRubyEncoding:(Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lorg/jruby/runtime/ThreadContext;
0 4 1 obj Lorg/jruby/runtime/builtin/IRubyObject;
1 4 2 enc Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
obj
public static org.jcodings.Encoding strTranscodeEncArgs(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, byte[][], org.jcodings.Encoding[], byte[][], org.jcodings.Encoding[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;[[B[Lorg/jcodings/Encoding;[[B[Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 2
aload 6
aload 7
invokestatic org.jruby.util.io.EncodingUtils.encArg:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[[B[Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
astore 8
start local 8 1: aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 5
2: aload 5
iconst_0
aload 0
aload 1
invokestatic org.jruby.util.io.EncodingUtils.encGet:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
aastore
3: aload 4
iconst_0
aload 5
iconst_0
aaload
invokevirtual org.jcodings.Encoding.getName:()[B
aastore
4: goto 6
5: StackMap locals: org.jcodings.Encoding
StackMap stack:
aload 0
aload 3
aload 4
aload 5
invokestatic org.jruby.util.io.EncodingUtils.encArg:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[[B[Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
pop
6: StackMap locals:
StackMap stack:
aload 8
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 7 0 context Lorg/jruby/runtime/ThreadContext;
0 7 1 str Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 7 3 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
0 7 4 sname_p [[B
0 7 5 senc_p [Lorg/jcodings/Encoding;
0 7 6 dname_p [[B
0 7 7 denc_p [Lorg/jcodings/Encoding;
1 7 8 dencindex Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
str
arg1
arg2
sname_p
senc_p
dname_p
denc_p
public static boolean encRegistered(byte[]);
descriptor: ([B)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.jcodings.EncodingDB.getEncodings:()Lorg/jcodings/util/CaseInsensitiveBytesHash;
aload 0
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name [B
MethodParameters:
Name Flags
name
public static void encCheckDuplication(org.jruby.runtime.ThreadContext, byte[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[B)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.jruby.util.io.EncodingUtils.encRegistered:([B)Z
ifeq 2
1: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "encoding "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 1
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is already registered"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lorg/jruby/runtime/ThreadContext;
0 3 1 name [B
MethodParameters:
Name Flags
context
name
public static org.jcodings.Encoding encReplicate(org.jruby.runtime.ThreadContext, byte[], org.jcodings.Encoding);
descriptor: (Lorg/jruby/runtime/ThreadContext;[BLorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic org.jruby.util.io.EncodingUtils.encCheckDuplication:(Lorg/jruby/runtime/ThreadContext;[B)V
1: new java.lang.String
dup
aload 1
invokespecial java.lang.String.<init>:([B)V
new java.lang.String
dup
aload 2
invokevirtual org.jcodings.Encoding.getName:()[B
invokespecial java.lang.String.<init>:([B)V
invokestatic org.jcodings.EncodingDB.replicate:(Ljava/lang/String;Ljava/lang/String;)V
2: invokestatic org.jcodings.EncodingDB.getEncodings:()Lorg/jcodings/util/CaseInsensitiveBytesHash;
aload 1
invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
checkcast org.jcodings.EncodingDB$Entry
invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lorg/jruby/runtime/ThreadContext;
0 3 1 name [B
0 3 2 encoding Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
name
encoding
public static org.jcodings.Encoding defineDummyEncoding(org.jruby.runtime.ThreadContext, byte[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[B)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.util.io.EncodingUtils.ascii8bitEncoding:(Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
invokestatic org.jruby.util.io.EncodingUtils.encReplicate:(Lorg/jruby/runtime/ThreadContext;[BLorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
astore 2
start local 2 1: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 name [B
1 2 2 dummy Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
name
public static boolean DECORATOR_P(byte[], byte[]);
descriptor: ([B[B)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 0
arraylength
ifeq 1
aload 0
iconst_0
baload
ifeq 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 sname [B
0 2 1 dname [B
MethodParameters:
Name Flags
sname
dname
public static org.jruby.util.ByteList strConvEncOpts(org.jruby.runtime.ThreadContext, org.jruby.util.ByteList, org.jcodings.Encoding, org.jcodings.Encoding, int, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
1: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 1
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
2: aload 2
aload 3
iload 4
aload 5
3: invokestatic org.jruby.util.io.EncodingUtils.strConvEncOpts:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
4: invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
5: areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 context Lorg/jruby/runtime/ThreadContext;
0 6 1 str Lorg/jruby/util/ByteList;
0 6 2 fromEncoding Lorg/jcodings/Encoding;
0 6 3 toEncoding Lorg/jcodings/Encoding;
0 6 4 ecflags I
0 6 5 ecopts Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
str
fromEncoding
toEncoding
ecflags
ecopts
public static org.jruby.RubyString strConvEncOpts(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jcodings.Encoding, org.jcodings.Encoding, int, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=21, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 3
ifnonnull 1
aload 1
areturn
1: StackMap locals:
StackMap stack:
aload 2
ifnonnull 2
aload 1
invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
astore 2
2: StackMap locals:
StackMap stack:
aload 2
aload 3
if_acmpne 3
aload 1
areturn
3: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifeq 4
aload 1
invokevirtual org.jruby.RubyString.isAsciiOnly:()Z
ifne 5
4: StackMap locals:
StackMap stack:
aload 3
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
if_acmpne 9
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
aload 3
if_acmpeq 8
6: aload 1
invokevirtual org.jruby.RubyString.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
astore 1
7: aload 1
aload 3
invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
8: StackMap locals:
StackMap stack:
aload 1
areturn
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 6
start local 6 10: aload 6
invokevirtual org.jruby.util.ByteList.getRealSize:()I
istore 7
start local 7 11: new org.jruby.util.ByteList
dup
iload 7
invokespecial org.jruby.util.ByteList.<init>:(I)V
astore 8
start local 8 12: iload 7
istore 9
start local 9 13: aload 0
aload 2
invokevirtual org.jcodings.Encoding.getName:()[B
aload 3
invokevirtual org.jcodings.Encoding.getName:()[B
iload 4
aload 5
invokestatic org.jruby.util.io.EncodingUtils.econvOpenOpts:(Lorg/jruby/runtime/ThreadContext;[B[BILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/transcode/EConv;
astore 10
start local 10 14: aload 10
ifnonnull 15
aload 1
areturn
15: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jcodings.Encoding org.jcodings.Encoding int org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList int org.jruby.util.ByteList int org.jcodings.transcode.EConv
StackMap stack:
aload 6
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 11
start local 11 16: new org.jcodings.Ptr
dup
aload 6
invokevirtual org.jruby.util.ByteList.getBegin:()I
invokespecial org.jcodings.Ptr.<init>:(I)V
astore 12
start local 12 17: aload 12
getfield org.jcodings.Ptr.p:I
istore 13
start local 13 18: new org.jcodings.Ptr
dup
iconst_0
invokespecial org.jcodings.Ptr.<init>:(I)V
astore 15
start local 15 19: iconst_0
istore 17
start local 17 20: aload 8
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 14
start local 14 21: aload 8
invokevirtual org.jruby.util.ByteList.begin:()I
istore 18
start local 18 22: aload 15
iload 18
iload 17
iadd
putfield org.jcodings.Ptr.p:I
23: aload 10
aload 11
aload 12
iload 13
iload 7
iadd
aload 14
aload 15
iload 18
iload 9
iadd
iconst_0
invokevirtual org.jcodings.transcode.EConv.convert:([BLorg/jcodings/Ptr;I[BLorg/jcodings/Ptr;II)Lorg/jcodings/transcode/EConvResult;
astore 16
start local 16 24: goto 42
25: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jcodings.Encoding org.jcodings.Encoding int org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList int org.jruby.util.ByteList int org.jcodings.transcode.EConv byte[] org.jcodings.Ptr int byte[] org.jcodings.Ptr org.jcodings.transcode.EConvResult int int
StackMap stack:
aload 12
getfield org.jcodings.Ptr.p:I
iload 13
isub
istore 19
start local 19 26: iload 7
iload 19
isub
istore 20
start local 20 27: aload 15
getfield org.jcodings.Ptr.p:I
iload 18
isub
istore 17
28: aload 8
iload 17
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
29: iload 19
ifeq 33
iload 17
ifeq 33
30: iload 20
ldc 2147483647
iload 17
idiv
if_icmpge 33
31: iload 20
iload 17
imul
iload 19
idiv
istore 20
32: goto 34
33: StackMap locals: int int
StackMap stack:
iload 9
istore 20
34: StackMap locals:
StackMap stack:
iload 9
iload 20
iconst_2
if_icmpge 35
iconst_2
goto 36
StackMap locals:
StackMap stack: int
35: iload 20
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jcodings.Encoding org.jcodings.Encoding int org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList int org.jruby.util.ByteList int org.jcodings.transcode.EConv byte[] org.jcodings.Ptr int byte[] org.jcodings.Ptr org.jcodings.transcode.EConvResult int int int int
StackMap stack: int int
36: iadd
istore 9
37: aload 8
iload 9
invokevirtual org.jruby.util.ByteList.ensure:(I)V
38: aload 8
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 14
39: aload 8
invokevirtual org.jruby.util.ByteList.begin:()I
istore 18
40: aload 15
iload 18
iload 17
iadd
putfield org.jcodings.Ptr.p:I
41: aload 10
aload 11
aload 12
iload 13
iload 7
iadd
aload 14
aload 15
iload 18
iload 9
iadd
iconst_0
invokevirtual org.jcodings.transcode.EConv.convert:([BLorg/jcodings/Ptr;I[BLorg/jcodings/Ptr;II)Lorg/jcodings/transcode/EConvResult;
astore 16
end local 20 end local 19 42: StackMap locals:
StackMap stack:
aload 16
getstatic org.jcodings.transcode.EConvResult.DestinationBufferFull:Lorg/jcodings/transcode/EConvResult;
if_acmpeq 25
43: aload 10
invokevirtual org.jcodings.transcode.EConv.close:()V
44: invokestatic org.jruby.util.io.EncodingUtils.$SWITCH_TABLE$org$jcodings$transcode$EConvResult:()[I
aload 16
invokevirtual org.jcodings.transcode.EConvResult.ordinal:()I
iaload
tableswitch { // 5 - 5
5: 45
default: 49
}
45: StackMap locals:
StackMap stack:
aload 15
getfield org.jcodings.Ptr.p:I
istore 7
46: aload 8
iload 7
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
47: aload 8
aload 3
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
48: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 8
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
areturn
49: StackMap locals:
StackMap stack:
aload 1
areturn
end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 context Lorg/jruby/runtime/ThreadContext;
0 50 1 str Lorg/jruby/RubyString;
0 50 2 fromEncoding Lorg/jcodings/Encoding;
0 50 3 toEncoding Lorg/jcodings/Encoding;
0 50 4 ecflags I
0 50 5 ecopts Lorg/jruby/runtime/builtin/IRubyObject;
10 50 6 strByteList Lorg/jruby/util/ByteList;
11 50 7 len I
12 50 8 newStr Lorg/jruby/util/ByteList;
13 50 9 olen I
14 50 10 ec Lorg/jcodings/transcode/EConv;
16 50 11 sbytes [B
17 50 12 sp Lorg/jcodings/Ptr;
18 50 13 start I
21 50 14 destbytes [B
19 50 15 dp Lorg/jcodings/Ptr;
24 50 16 ret Lorg/jcodings/transcode/EConvResult;
20 50 17 convertedOutput I
22 50 18 dest I
26 42 19 convertedInput I
27 42 20 rest I
MethodParameters:
Name Flags
context
str
fromEncoding
toEncoding
ecflags
ecopts
public static org.jruby.RubyString strConvEnc(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jcodings.Encoding, org.jcodings.Encoding);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_0
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.io.EncodingUtils.strConvEncOpts:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 value Lorg/jruby/RubyString;
0 1 2 fromEncoding Lorg/jcodings/Encoding;
0 1 3 toEncoding Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
value
fromEncoding
toEncoding
public static org.jruby.util.ByteList strConvEnc(org.jruby.runtime.ThreadContext, org.jruby.util.ByteList, org.jcodings.Encoding, org.jcodings.Encoding);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_0
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.io.EncodingUtils.strConvEncOpts:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/ByteList;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 value Lorg/jruby/util/ByteList;
0 1 2 fromEncoding Lorg/jcodings/Encoding;
0 1 3 toEncoding Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
value
fromEncoding
toEncoding
public static org.jruby.RubyString setStrBuf(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, int);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/RubyString;
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 1
ifnull 1
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 3
1: StackMap locals:
StackMap stack:
aload 0
iload 2
invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyString;
astore 3
start local 3 2: goto 9
end local 3 3: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
astore 3
start local 3 4: aload 3
invokevirtual org.jruby.RubyString.size:()I
istore 4
start local 4 5: iload 4
iload 2
if_icmplt 8
6: aload 3
invokevirtual org.jruby.RubyString.modify:()V
7: aload 3
areturn
8: StackMap locals: org.jruby.RubyString int
StackMap stack:
aload 3
iload 2
invokevirtual org.jruby.RubyString.modifyExpand:(I)V
end local 4 9: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 runtime Lorg/jruby/Ruby;
0 10 1 obj Lorg/jruby/runtime/builtin/IRubyObject;
0 10 2 len I
2 3 3 str Lorg/jruby/RubyString;
4 10 3 str Lorg/jruby/RubyString;
5 9 4 clen I
MethodParameters:
Name Flags
runtime
obj final
len final
public static java.util.List<java.lang.String> encodingNames(byte[], int, int);
descriptor: ([BII)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
astore 4
start local 4 2: iload 1
istore 5
start local 5 3: aload 0
iload 5
baload
sipush 255
iand
istore 6
start local 6 4: aload 4
iload 6
invokevirtual org.jcodings.Encoding.isDigit:(I)Z
ifeq 5
aload 3
areturn
5: StackMap locals: byte[] int int java.util.List org.jcodings.Encoding int int
StackMap stack:
iconst_0
istore 7
start local 7 6: iconst_0
istore 8
start local 8 7: aload 4
iload 6
invokevirtual org.jcodings.Encoding.isUpper:(I)Z
ifeq 12
8: iconst_1
istore 7
9: goto 11
10: StackMap locals: int int
StackMap stack:
aload 4
aload 0
iload 5
baload
sipush 255
iand
invokevirtual org.jcodings.Encoding.isLower:(I)Z
ifeq 11
iconst_1
istore 8
11: StackMap locals:
StackMap stack:
iinc 5 1
iload 5
iload 2
if_icmpge 12
aload 4
aload 0
iload 5
baload
sipush 255
iand
invokevirtual org.jcodings.Encoding.isAlnum:(I)Z
ifne 10
aload 0
iload 5
baload
bipush 95
if_icmpeq 10
12: StackMap locals:
StackMap stack:
iconst_0
istore 9
start local 9 13: iload 5
iload 2
if_icmplt 16
14: iconst_1
istore 9
15: aload 3
new java.lang.String
dup
aload 0
iload 1
iload 2
invokespecial java.lang.String.<init>:([BII)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: StackMap locals: int
StackMap stack:
iload 9
ifeq 17
iload 8
ifeq 41
17: StackMap locals:
StackMap stack:
iload 8
ifeq 18
iload 7
ifne 22
18: StackMap locals:
StackMap stack:
aload 0
iload 5
baload
sipush 255
iand
istore 6
19: aload 4
iload 6
invokevirtual org.jcodings.Encoding.isLower:(I)Z
ifeq 20
iconst_1
istore 8
20: StackMap locals:
StackMap stack:
aload 4
iload 6
invokevirtual org.jcodings.Encoding.isUpper:(I)Z
ifeq 21
iconst_1
istore 7
21: StackMap locals:
StackMap stack:
iinc 5 1
iload 5
iload 2
if_icmpge 22
iload 8
ifeq 18
iload 7
ifeq 18
22: StackMap locals:
StackMap stack:
iload 2
iload 1
isub
newarray 8
astore 10
start local 10 23: aload 0
iload 1
aload 10
iconst_0
iload 2
iload 1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
24: iconst_0
istore 5
25: aload 10
iload 5
baload
sipush 255
iand
istore 6
26: iload 9
ifne 34
27: aload 4
iload 6
invokevirtual org.jcodings.Encoding.isLower:(I)Z
ifeq 31
aload 10
iload 5
getstatic org.jcodings.ascii.AsciiTables.ToUpperCaseTable:[B
iload 6
baload
bastore
28: goto 31
29: StackMap locals: byte[]
StackMap stack:
aload 4
aload 10
iload 5
baload
sipush 255
iand
invokevirtual org.jcodings.Encoding.isAlnum:(I)Z
ifne 30
aload 10
iload 5
bipush 95
bastore
30: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
31: iload 5
aload 10
arraylength
if_icmplt 29
32: iload 7
ifeq 34
33: aload 3
new java.lang.String
dup
aload 10
iconst_0
aload 10
arraylength
invokespecial java.lang.String.<init>:([BII)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
34: StackMap locals:
StackMap stack:
iload 8
ifeq 41
35: iconst_0
istore 5
goto 39
36: StackMap locals:
StackMap stack:
aload 10
iload 5
baload
sipush 255
iand
istore 6
37: aload 4
iload 6
invokevirtual org.jcodings.Encoding.isLower:(I)Z
ifeq 38
aload 10
iload 5
getstatic org.jcodings.ascii.AsciiTables.ToUpperCaseTable:[B
iload 6
baload
bastore
38: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
39: iload 5
aload 10
arraylength
if_icmplt 36
40: aload 3
new java.lang.String
dup
aload 10
iconst_0
aload 10
arraylength
invokespecial java.lang.String.<init>:([BII)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 41: StackMap locals:
StackMap stack:
aload 3
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 42 0 name [B
0 42 1 p I
0 42 2 end I
1 42 3 names Ljava/util/List<Ljava/lang/String;>;
2 42 4 enc Lorg/jcodings/Encoding;
3 42 5 s I
4 42 6 code I
6 42 7 hasUpper Z
7 42 8 hasLower Z
13 42 9 isValid Z
23 41 10 constName [B
Signature: ([BII)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
name
p
end
public static void transcodeLoop(org.jruby.runtime.ThreadContext, byte[], org.jcodings.Ptr, byte[], org.jcodings.Ptr, int, int, org.jruby.util.ByteList, org.jruby.util.io.EncodingUtils$ResizeFunction, byte[], byte[], int, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;[BLorg/jcodings/Ptr;[BLorg/jcodings/Ptr;IILorg/jruby/util/ByteList;Lorg/jruby/util/io/EncodingUtils$ResizeFunction;[B[BILorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=12, locals=19, args_size=13
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 start local 11 start local 12 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 13
start local 13 1: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 15
start local 15 2: aconst_null
astore 16
start local 16 3: aload 0
aload 9
aload 10
iload 11
aload 12
invokestatic org.jruby.util.io.EncodingUtils.econvOpenOpts:(Lorg/jruby/runtime/ThreadContext;[B[BILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/transcode/EConv;
astore 14
start local 14 4: aload 14
ifnonnull 6
5: aload 0
aload 9
aload 10
iload 11
invokestatic org.jruby.util.io.EncodingUtils.econvOpenExc:(Lorg/jruby/runtime/ThreadContext;[B[BI)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals: org.jruby.runtime.ThreadContext byte[] org.jcodings.Ptr byte[] org.jcodings.Ptr int int org.jruby.util.ByteList org.jruby.util.io.EncodingUtils$ResizeFunction byte[] byte[] int org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jcodings.transcode.EConv org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.EncodingUtils$TranscodeFallback
StackMap stack:
aload 12
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 18
aload 12
instanceof org.jruby.RubyHash
ifeq 18
7: aload 12
checkcast org.jruby.RubyHash
aload 0
aload 13
ldc "fallback"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 15
8: aload 15
instanceof org.jruby.RubyHash
ifeq 11
9: getstatic org.jruby.util.io.EncodingUtils.HASH_FALLBACK:Lorg/jruby/util/io/EncodingUtils$AbstractTranscodeFallback;
astore 16
10: goto 18
StackMap locals:
StackMap stack:
11: aload 15
instanceof org.jruby.RubyProc
ifeq 14
12: getstatic org.jruby.util.io.EncodingUtils.PROC_FALLBACK:Lorg/jruby/util/io/EncodingUtils$AbstractTranscodeFallback;
astore 16
13: goto 18
StackMap locals:
StackMap stack:
14: aload 15
instanceof org.jruby.RubyMethod
ifeq 17
15: getstatic org.jruby.util.io.EncodingUtils.METHOD_FALLBACK:Lorg/jruby/util/io/EncodingUtils$AbstractTranscodeFallback;
astore 16
16: goto 18
17: StackMap locals:
StackMap stack:
getstatic org.jruby.util.io.EncodingUtils.AREF_FALLBACK:Lorg/jruby/util/io/EncodingUtils$AbstractTranscodeFallback;
astore 16
18: StackMap locals:
StackMap stack:
aload 14
aload 16
aload 0
aload 15
aload 1
aload 2
aload 3
aload 4
iload 5
iload 6
aload 7
aload 8
invokestatic org.jruby.util.io.EncodingUtils.transcodeLoop:(Lorg/jcodings/transcode/EConv;Lorg/jruby/util/io/EncodingUtils$TranscodeFallback;Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;[BLorg/jcodings/Ptr;[BLorg/jcodings/Ptr;IILorg/jruby/util/ByteList;Lorg/jruby/util/io/EncodingUtils$ResizeFunction;)Z
istore 17
start local 17 19: iload 17
ifne 23
20: aload 13
aload 14
invokestatic org.jruby.util.io.EncodingUtils.makeEconvException:(Lorg/jruby/Ruby;Lorg/jcodings/transcode/EConv;)Lorg/jruby/exceptions/RaiseException;
astore 18
start local 18 21: aload 14
invokevirtual org.jcodings.transcode.EConv.close:()V
22: aload 18
athrow
end local 18 23: StackMap locals: int
StackMap stack:
return
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 context Lorg/jruby/runtime/ThreadContext;
0 24 1 inBytes [B
0 24 2 inPos Lorg/jcodings/Ptr;
0 24 3 outBytes [B
0 24 4 outPos Lorg/jcodings/Ptr;
0 24 5 inStop I
0 24 6 _outStop I
0 24 7 destination Lorg/jruby/util/ByteList;
0 24 8 resizeFunction Lorg/jruby/util/io/EncodingUtils$ResizeFunction;
0 24 9 sname [B
0 24 10 dname [B
0 24 11 ecflags I
0 24 12 ecopts Lorg/jruby/runtime/builtin/IRubyObject;
1 24 13 runtime Lorg/jruby/Ruby;
4 24 14 ec Lorg/jcodings/transcode/EConv;
2 24 15 fallback Lorg/jruby/runtime/builtin/IRubyObject;
3 24 16 fallbackFunc Lorg/jruby/util/io/EncodingUtils$TranscodeFallback;
19 24 17 success Z
21 23 18 re Lorg/jruby/exceptions/RaiseException;
MethodParameters:
Name Flags
context
inBytes
inPos
outBytes
outPos
inStop
_outStop
destination
resizeFunction
sname
dname
ecflags
ecopts
public static org.jruby.util.ByteList transcodeString(java.lang.String, org.jcodings.Encoding, int);
descriptor: (Ljava/lang/String;Lorg/jcodings/Encoding;I)Lorg/jruby/util/ByteList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=12, locals=13, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.jruby.util.io.EncodingUtils.getUTF16ForPlatform:()Lorg/jcodings/Encoding;
astore 3
start local 3 1: aload 3
invokevirtual org.jcodings.Encoding.getName:()[B
aload 1
invokevirtual org.jcodings.Encoding.getName:()[B
iload 2
invokestatic org.jcodings.transcode.TranscoderDB.open:([B[BI)Lorg/jcodings/transcode/EConv;
astore 4
start local 4 2: aload 0
aload 3
invokestatic org.jruby.util.io.EncodingUtils.charsetForEncoding:(Lorg/jcodings/Encoding;)Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 5
start local 5 3: new org.jcodings.Ptr
dup
iconst_0
invokespecial org.jcodings.Ptr.<init>:(I)V
astore 6
start local 6 4: aload 5
arraylength
istore 7
start local 7 5: aload 5
arraylength
i2d
ldc 1.5
ddiv
dconst_1
dadd
d2i
istore 8
start local 8 6: iload 8
newarray 8
astore 9
start local 9 7: new org.jcodings.Ptr
dup
iconst_0
invokespecial org.jcodings.Ptr.<init>:(I)V
astore 10
start local 10 8: new org.jruby.util.ByteList
dup
aload 9
aload 1
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
astore 11
start local 11 9: aload 4
aconst_null
aconst_null
aconst_null
aload 5
aload 6
aload 9
aload 10
iload 7
iload 8
aload 11
getstatic org.jruby.util.io.EncodingUtils.strTranscodingResize:Lorg/jruby/util/io/EncodingUtils$ResizeFunction;
invokestatic org.jruby.util.io.EncodingUtils.transcodeLoop:(Lorg/jcodings/transcode/EConv;Lorg/jruby/util/io/EncodingUtils$TranscodeFallback;Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;[BLorg/jcodings/Ptr;[BLorg/jcodings/Ptr;IILorg/jruby/util/ByteList;Lorg/jruby/util/io/EncodingUtils$ResizeFunction;)Z
istore 12
start local 12 10: aload 11
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 11 0 string Ljava/lang/String;
0 11 1 toEncoding Lorg/jcodings/Encoding;
0 11 2 ecflags I
1 11 3 encoding Lorg/jcodings/Encoding;
2 11 4 ec Lorg/jcodings/transcode/EConv;
3 11 5 inBytes [B
4 11 6 inPos Lorg/jcodings/Ptr;
5 11 7 inStop I
6 11 8 outStop I
7 11 9 outBytes [B
8 11 10 outPos Lorg/jcodings/Ptr;
9 11 11 destination Lorg/jruby/util/ByteList;
10 11 12 success Z
MethodParameters:
Name Flags
string
toEncoding
ecflags
public static org.jcodings.Encoding getUTF16ForPlatform();
descriptor: ()Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: getstatic org.jruby.platform.Platform.BYTE_ORDER:I
sipush 1234
if_icmpne 3
1: getstatic org.jcodings.specific.UTF16LEEncoding.INSTANCE:Lorg/jcodings/specific/UTF16LEEncoding;
astore 0
start local 0 2: goto 4
end local 0 3: StackMap locals:
StackMap stack:
getstatic org.jcodings.specific.UTF16BEEncoding.INSTANCE:Lorg/jcodings/specific/UTF16BEEncoding;
astore 0
start local 0 4: StackMap locals: org.jcodings.Encoding
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
2 3 0 encoding Lorg/jcodings/Encoding;
4 5 0 encoding Lorg/jcodings/Encoding;
public static <Data> boolean transcodeLoop(org.jcodings.transcode.EConv, org.jruby.util.io.EncodingUtils$TranscodeFallback<Data>, org.jruby.runtime.ThreadContext, Data, byte[], org.jcodings.Ptr, byte[], org.jcodings.Ptr, int, int, org.jruby.util.ByteList, org.jruby.util.io.EncodingUtils$ResizeFunction);
descriptor: (Lorg/jcodings/transcode/EConv;Lorg/jruby/util/io/EncodingUtils$TranscodeFallback;Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;[BLorg/jcodings/Ptr;[BLorg/jcodings/Ptr;IILorg/jruby/util/ByteList;Lorg/jruby/util/io/EncodingUtils$ResizeFunction;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=18, args_size=12
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 start local 11 0: new org.jcodings.Ptr
dup
iload 9
invokespecial org.jcodings.Ptr.<init>:(I)V
astore 12
start local 12 1: aload 0
getfield org.jcodings.transcode.EConv.lastTranscoding:Lorg/jcodings/transcode/Transcoding;
astore 13
start local 13 2: aload 13
ifnull 3
aload 13
getfield org.jcodings.transcode.Transcoding.transcoder:Lorg/jcodings/transcode/Transcoder;
getfield org.jcodings.transcode.Transcoder.maxOutput:I
goto 4
StackMap locals: org.jcodings.Ptr org.jcodings.transcode.Transcoding
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: istore 14
start local 14 5: new org.jcodings.Ptr
dup
aload 7
getfield org.jcodings.Ptr.p:I
invokespecial org.jcodings.Ptr.<init>:(I)V
astore 15
start local 15 6: StackMap locals: int org.jcodings.Ptr
StackMap stack:
aload 0
aload 4
aload 5
iload 8
aload 6
aload 7
aload 12
getfield org.jcodings.Ptr.p:I
iconst_0
invokevirtual org.jcodings.transcode.EConv.convert:([BLorg/jcodings/Ptr;I[BLorg/jcodings/Ptr;II)Lorg/jcodings/transcode/EConvResult;
astore 16
start local 16 7: aload 1
ifnull 10
aload 16
getstatic org.jcodings.transcode.EConvResult.UndefinedConversion:Lorg/jcodings/transcode/EConvResult;
if_acmpne 10
8: aload 1
aload 2
aload 3
aload 0
invokeinterface org.jruby.util.io.EncodingUtils$TranscodeFallback.call:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;Lorg/jcodings/transcode/EConv;)Z
ifeq 10
9: goto 6
10: StackMap locals: org.jcodings.transcode.EConvResult
StackMap stack:
aload 16
getstatic org.jcodings.transcode.EConvResult.InvalidByteSequence:Lorg/jcodings/transcode/EConvResult;
if_acmpeq 13
11: aload 16
getstatic org.jcodings.transcode.EConvResult.IncompleteInput:Lorg/jcodings/transcode/EConvResult;
if_acmpeq 13
12: aload 16
getstatic org.jcodings.transcode.EConvResult.UndefinedConversion:Lorg/jcodings/transcode/EConvResult;
if_acmpne 17
13: StackMap locals:
StackMap stack:
aload 2
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
invokestatic org.jruby.util.io.EncodingUtils.makeEconvException:(Lorg/jruby/Ruby;Lorg/jcodings/transcode/EConv;)Lorg/jruby/exceptions/RaiseException;
astore 17
start local 17 14: aload 0
invokevirtual org.jcodings.transcode.EConv.close:()V
15: aload 10
aload 7
getfield org.jcodings.Ptr.p:I
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
16: aload 17
athrow
end local 17 17: StackMap locals:
StackMap stack:
aload 16
getstatic org.jcodings.transcode.EConvResult.DestinationBufferFull:Lorg/jcodings/transcode/EConvResult;
if_acmpne 21
18: aload 10
aload 11
iload 14
aload 15
aload 7
aload 12
invokestatic org.jruby.util.io.EncodingUtils.moreOutputBuffer:(Lorg/jruby/util/ByteList;Lorg/jruby/util/io/EncodingUtils$ResizeFunction;ILorg/jcodings/Ptr;Lorg/jcodings/Ptr;Lorg/jcodings/Ptr;)V
19: aload 10
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 6
20: goto 6
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jcodings.transcode.EConv.close:()V
22: aload 10
aload 7
getfield org.jcodings.Ptr.p:I
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
23: iconst_1
ireturn
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 ec Lorg/jcodings/transcode/EConv;
0 24 1 fallbackFunc Lorg/jruby/util/io/EncodingUtils$TranscodeFallback<TData;>;
0 24 2 context Lorg/jruby/runtime/ThreadContext;
0 24 3 fallbackData TData;
0 24 4 inBytes [B
0 24 5 inPos Lorg/jcodings/Ptr;
0 24 6 outBytes [B
0 24 7 outPos Lorg/jcodings/Ptr;
0 24 8 inStop I
0 24 9 outStop I
0 24 10 destination Lorg/jruby/util/ByteList;
0 24 11 resizeFunction Lorg/jruby/util/io/EncodingUtils$ResizeFunction;
1 24 12 outstopPos Lorg/jcodings/Ptr;
2 24 13 lastTC Lorg/jcodings/transcode/Transcoding;
5 24 14 maxOutput I
6 24 15 outStart Lorg/jcodings/Ptr;
7 24 16 ret Lorg/jcodings/transcode/EConvResult;
14 17 17 exc Lorg/jruby/exceptions/RaiseException;
Signature: <Data:Ljava/lang/Object;>(Lorg/jcodings/transcode/EConv;Lorg/jruby/util/io/EncodingUtils$TranscodeFallback<TData;>;Lorg/jruby/runtime/ThreadContext;TData;[BLorg/jcodings/Ptr;[BLorg/jcodings/Ptr;IILorg/jruby/util/ByteList;Lorg/jruby/util/io/EncodingUtils$ResizeFunction;)Z
MethodParameters:
Name Flags
ec
fallbackFunc
context
fallbackData
inBytes
inPos
outBytes
outPos
inStop
outStop
destination
resizeFunction
public static org.jruby.exceptions.RaiseException makeEconvException(org.jruby.Ruby, org.jcodings.transcode.EConv);
descriptor: (Lorg/jruby/Ruby;Lorg/jcodings/transcode/EConv;)Lorg/jruby/exceptions/RaiseException;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=14, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getResult:()Lorg/jcodings/transcode/EConvResult;
astore 4
start local 4 2: aload 4
getstatic org.jcodings.transcode.EConvResult.InvalidByteSequence:Lorg/jcodings/transcode/EConvResult;
if_acmpeq 3
aload 4
getstatic org.jcodings.transcode.EConvResult.IncompleteInput:Lorg/jcodings/transcode/EConvResult;
if_acmpne 27
3: StackMap locals: org.jruby.Ruby org.jcodings.transcode.EConv java.lang.StringBuilder top org.jcodings.transcode.EConvResult
StackMap stack:
aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getErrorBytes:()[B
astore 5
start local 5 4: aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getErrorBytesP:()I
istore 6
start local 6 5: aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getErrorBytesLength:()I
istore 7
start local 7 6: new org.jruby.util.ByteList
dup
aload 5
iload 6
iload 7
iload 6
isub
invokespecial org.jruby.util.ByteList.<init>:([BII)V
astore 8
start local 8 7: aload 0
aload 8
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
astore 9
start local 9 8: aload 9
invokevirtual org.jruby.RubyString.dump:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
astore 10
start local 10 9: aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getReadAgainLength:()I
istore 11
start local 11 10: aload 0
invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
start local 12 11: aload 4
getstatic org.jcodings.transcode.EConvResult.IncompleteInput:Lorg/jcodings/transcode/EConvResult;
if_acmpne 14
12: aload 2
ldc "incomplete "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
ldc " on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getSource:()[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: goto 20
StackMap locals: org.jruby.Ruby org.jcodings.transcode.EConv java.lang.StringBuilder top org.jcodings.transcode.EConvResult byte[] int int org.jruby.util.ByteList org.jruby.RubyString org.jruby.RubyString int org.jruby.runtime.builtin.IRubyObject
StackMap stack:
14: iload 11
ifeq 19
15: aload 0
new org.jruby.util.ByteList
dup
aload 5
iload 7
iload 6
iadd
aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getReadAgainLength:()I
invokespecial org.jruby.util.ByteList.<init>:([BII)V
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
astore 12
16: aload 12
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.dump:()Lorg/jruby/runtime/builtin/IRubyObject;
astore 13
start local 13 17: aload 2
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
ldc " followed by "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getSource:()[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 13 18: goto 20
19: StackMap locals:
StackMap stack:
aload 2
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
ldc " on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getSource:()[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newInvalidByteSequenceError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
astore 3
start local 3 21: aload 3
invokevirtual org.jruby.exceptions.RaiseException.getException:()Lorg/jruby/RubyException;
ldc "error_bytes"
aload 9
invokevirtual org.jruby.RubyException.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
22: aload 3
invokevirtual org.jruby.exceptions.RaiseException.getException:()Lorg/jruby/RubyException;
ldc "readagain_bytes"
aload 12
invokevirtual org.jruby.RubyException.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
23: aload 3
invokevirtual org.jruby.exceptions.RaiseException.getException:()Lorg/jruby/RubyException;
ldc "incomplete_input"
aload 4
getstatic org.jcodings.transcode.EConvResult.IncompleteInput:Lorg/jcodings/transcode/EConvResult;
if_acmpne 24
aload 0
invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
goto 25
StackMap locals: org.jruby.Ruby org.jcodings.transcode.EConv java.lang.StringBuilder org.jruby.exceptions.RaiseException org.jcodings.transcode.EConvResult byte[] int int org.jruby.util.ByteList org.jruby.RubyString org.jruby.RubyString int org.jruby.runtime.builtin.IRubyObject
StackMap stack: org.jruby.RubyException java.lang.String
24: aload 0
invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
StackMap locals: org.jruby.Ruby org.jcodings.transcode.EConv java.lang.StringBuilder org.jruby.exceptions.RaiseException org.jcodings.transcode.EConvResult byte[] int int org.jruby.util.ByteList org.jruby.RubyString org.jruby.RubyString int org.jruby.runtime.builtin.IRubyObject
StackMap stack: org.jruby.RubyException java.lang.String org.jruby.RubyBoolean
25: invokevirtual org.jruby.RubyException.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
26: aload 3
aload 0
aload 1
invokestatic org.jruby.util.io.EncodingUtils.makeEConvExceptionSetEncs:(Lorg/jruby/exceptions/RaiseException;Lorg/jruby/Ruby;Lorg/jcodings/transcode/EConv;)Lorg/jruby/exceptions/RaiseException;
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 3 27: StackMap locals: org.jruby.Ruby org.jcodings.transcode.EConv java.lang.StringBuilder top org.jcodings.transcode.EConvResult
StackMap stack:
aload 4
getstatic org.jcodings.transcode.EConvResult.UndefinedConversion:Lorg/jcodings/transcode/EConvResult;
if_acmpne 50
28: aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getErrorBytes:()[B
astore 5
start local 5 29: aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getErrorBytesP:()I
istore 6
start local 6 30: aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getErrorBytesLength:()I
istore 7
start local 7 31: aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getSource:()[B
astore 8
start local 8 32: aload 8
ldc "UTF-8"
invokevirtual java.lang.String.getBytes:()[B
invokestatic java.util.Arrays.equals:([B[B)Z
pop
33: aload 0
new org.jruby.util.ByteList
dup
aload 5
iload 6
iload 7
iload 6
isub
invokespecial org.jruby.util.ByteList.<init>:([BII)V
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
astore 9
start local 9 34: aload 9
invokevirtual org.jruby.RubyString.dump:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
astore 10
start local 10 35: aload 8
aload 1
getfield org.jcodings.transcode.EConv.source:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 38
aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getDestination:()[B
aload 1
getfield org.jcodings.transcode.EConv.destination:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 38
36: aload 2
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
ldc " from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 8
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getDestination:()[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
37: goto 44
38: StackMap locals: org.jruby.Ruby org.jcodings.transcode.EConv java.lang.StringBuilder top org.jcodings.transcode.EConvResult byte[] int int byte[] org.jruby.RubyString org.jruby.RubyString
StackMap stack:
aload 2
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 1
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getDestination:()[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in conversion from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 1
getfield org.jcodings.transcode.EConv.source:[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
39: iconst_0
istore 11
start local 11 40: goto 43
41: StackMap locals: int
StackMap stack:
aload 2
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 1
getfield org.jcodings.transcode.EConv.elements:[Lorg/jcodings/transcode/EConv$EConvElement;
iload 11
aaload
getfield org.jcodings.transcode.EConv$EConvElement.transcoding:Lorg/jcodings/transcode/Transcoding;
getfield org.jcodings.transcode.Transcoding.transcoder:Lorg/jcodings/transcode/Transcoder;
invokevirtual org.jcodings.transcode.Transcoder.getDestination:()[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
42: iinc 11 1
StackMap locals:
StackMap stack:
43: iload 11
aload 1
getfield org.jcodings.transcode.EConv.numTranscoders:I
if_icmplt 41
end local 11 44: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newUndefinedConversionError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
astore 3
start local 3 45: aload 0
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 8
invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingOrAliasEntry:([B)Lorg/jcodings/EncodingDB$Entry;
astore 11
start local 11 46: aload 11
ifnull 49
47: aload 9
aload 11
invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
48: aload 3
invokevirtual org.jruby.exceptions.RaiseException.getException:()Lorg/jruby/RubyException;
ldc "error_char"
aload 9
invokevirtual org.jruby.RubyException.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
49: StackMap locals: org.jruby.Ruby org.jcodings.transcode.EConv java.lang.StringBuilder org.jruby.exceptions.RaiseException org.jcodings.transcode.EConvResult byte[] int int byte[] org.jruby.RubyString org.jruby.RubyString org.jcodings.EncodingDB$Entry
StackMap stack:
aload 3
aload 0
aload 1
invokestatic org.jruby.util.io.EncodingUtils.makeEConvExceptionSetEncs:(Lorg/jruby/exceptions/RaiseException;Lorg/jruby/Ruby;Lorg/jcodings/transcode/EConv;)Lorg/jruby/exceptions/RaiseException;
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 50: StackMap locals: org.jruby.Ruby org.jcodings.transcode.EConv java.lang.StringBuilder top org.jcodings.transcode.EConvResult
StackMap stack:
aconst_null
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 runtime Lorg/jruby/Ruby;
0 51 1 ec Lorg/jcodings/transcode/EConv;
1 51 2 mesg Ljava/lang/StringBuilder;
21 27 3 exc Lorg/jruby/exceptions/RaiseException;
45 50 3 exc Lorg/jruby/exceptions/RaiseException;
2 51 4 result Lorg/jcodings/transcode/EConvResult;
4 27 5 errBytes [B
5 27 6 errBytesP I
6 27 7 errorLen I
7 27 8 _bytes Lorg/jruby/util/ByteList;
8 27 9 bytes Lorg/jruby/RubyString;
9 27 10 dumped Lorg/jruby/RubyString;
10 27 11 readagainLen I
11 27 12 bytes2 Lorg/jruby/runtime/builtin/IRubyObject;
17 18 13 dumped2 Lorg/jruby/runtime/builtin/IRubyObject;
29 50 5 errBytes [B
30 50 6 errBytesP I
31 50 7 errorLen I
32 50 8 errSource [B
34 50 9 bytes Lorg/jruby/RubyString;
35 50 10 dumped Lorg/jruby/RubyString;
40 44 11 i I
46 50 11 entry Lorg/jcodings/EncodingDB$Entry;
MethodParameters:
Name Flags
runtime
ec
private static org.jruby.exceptions.RaiseException makeEConvExceptionSetEncs(org.jruby.exceptions.RaiseException, org.jruby.Ruby, org.jcodings.transcode.EConv);
descriptor: (Lorg/jruby/exceptions/RaiseException;Lorg/jruby/Ruby;Lorg/jcodings/transcode/EConv;)Lorg/jruby/exceptions/RaiseException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.exceptions.RaiseException.getException:()Lorg/jruby/RubyException;
ldc "source_encoding_name"
aload 1
aload 2
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getSource:()[B
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;[B)Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyException.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
1: aload 0
invokevirtual org.jruby.exceptions.RaiseException.getException:()Lorg/jruby/RubyException;
ldc "destination_encoding_name"
aload 1
aload 2
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getDestination:()[B
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;[B)Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyException.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
2: aload 1
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 2
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getSource:()[B
invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingOrAliasEntry:([B)Lorg/jcodings/EncodingDB$Entry;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 0
invokevirtual org.jruby.exceptions.RaiseException.getException:()Lorg/jruby/RubyException;
ldc "source_encoding"
aload 1
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 3
invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jruby.runtime.encoding.EncodingService.convertEncodingToRubyEncoding:(Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.RubyException.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
5: StackMap locals: org.jcodings.EncodingDB$Entry
StackMap stack:
aload 1
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 2
getfield org.jcodings.transcode.EConv.lastError:Lorg/jcodings/transcode/EConv$LastError;
invokevirtual org.jcodings.transcode.EConv$LastError.getDestination:()[B
invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingOrAliasEntry:([B)Lorg/jcodings/EncodingDB$Entry;
astore 3
6: aload 3
ifnull 8
7: aload 0
invokevirtual org.jruby.exceptions.RaiseException.getException:()Lorg/jruby/RubyException;
ldc "destination_encoding"
aload 1
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 3
invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jruby.runtime.encoding.EncodingService.convertEncodingToRubyEncoding:(Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.RubyException.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 exc Lorg/jruby/exceptions/RaiseException;
0 9 1 runtime Lorg/jruby/Ruby;
0 9 2 ec Lorg/jcodings/transcode/EConv;
3 9 3 entry Lorg/jcodings/EncodingDB$Entry;
MethodParameters:
Name Flags
exc
runtime
ec
static void moreOutputBuffer(org.jruby.util.ByteList, org.jruby.util.io.EncodingUtils$ResizeFunction, int, org.jcodings.Ptr, org.jcodings.Ptr, org.jcodings.Ptr);
descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/io/EncodingUtils$ResizeFunction;ILorg/jcodings/Ptr;Lorg/jcodings/Ptr;Lorg/jcodings/Ptr;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
getfield org.jcodings.Ptr.p:I
aload 3
getfield org.jcodings.Ptr.p:I
isub
istore 6
start local 6 1: iload 6
iload 2
iadd
iconst_2
imul
istore 7
start local 7 2: aload 3
aload 1
aload 0
iload 6
iload 7
invokeinterface org.jruby.util.io.EncodingUtils$ResizeFunction.resize:(Lorg/jruby/util/ByteList;II)I
putfield org.jcodings.Ptr.p:I
3: aload 4
aload 3
getfield org.jcodings.Ptr.p:I
iload 6
iadd
putfield org.jcodings.Ptr.p:I
4: aload 5
aload 3
getfield org.jcodings.Ptr.p:I
iload 7
iadd
putfield org.jcodings.Ptr.p:I
5: return
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 6 0 destination Lorg/jruby/util/ByteList;
0 6 1 resizeDestination Lorg/jruby/util/io/EncodingUtils$ResizeFunction;
0 6 2 maxOutput I
0 6 3 outStart Lorg/jcodings/Ptr;
0 6 4 outPos Lorg/jcodings/Ptr;
0 6 5 outStop Lorg/jcodings/Ptr;
1 6 6 len I
2 6 7 newLen I
MethodParameters:
Name Flags
destination
resizeDestination
maxOutput
outStart
outPos
outStop
public static void ioSetEncodingByBOM(org.jruby.runtime.ThreadContext, org.jruby.RubyIO);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyIO;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 0
aload 1
invokestatic org.jruby.util.io.EncodingUtils.ioStripBOM:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyIO;)Lorg/jcodings/Encoding;
astore 3
start local 3 2: aload 3
ifnull 7
3: aload 2
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 3
invokevirtual org.jruby.runtime.encoding.EncodingService.getEncoding:(Lorg/jcodings/Encoding;)Lorg/jruby/RubyEncoding;
astore 4
start local 4 4: aload 1
aload 0
invokevirtual org.jruby.RubyIO.internal_encoding:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 5: aload 1
aload 2
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 4
aload 5
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.RubyIO.setEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
end local 5 end local 4 6: goto 8
7: StackMap locals: org.jruby.Ruby org.jcodings.Encoding
StackMap stack:
aload 1
aconst_null
invokevirtual org.jruby.RubyIO.setEnc2:(Lorg/jcodings/Encoding;)V
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 context Lorg/jruby/runtime/ThreadContext;
0 9 1 io Lorg/jruby/RubyIO;
1 9 2 runtime Lorg/jruby/Ruby;
2 9 3 bomEncoding Lorg/jcodings/Encoding;
4 6 4 theBom Lorg/jruby/runtime/builtin/IRubyObject;
5 6 5 theInternal Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
io
public static org.jcodings.Encoding ioStripBOM(org.jruby.runtime.ThreadContext, org.jruby.RubyIO);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyIO;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.RubyIO.getOpenFile:()Lorg/jruby/util/io/OpenFile;
invokevirtual org.jruby.util.io.OpenFile.getMode:()I
iconst_1
iand
ifne 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.jruby.RubyIO.getbyte:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 2
start local 2 2: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 3
aconst_null
areturn
3: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
l2i
lookupswitch { // 4
0: 34
239: 4
254: 13
255: 19
default: 45
}
4: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.jruby.RubyIO.getbyte:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 3
start local 3 5: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 6
goto 45
6: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 3
instanceof org.jruby.RubyFixnum
ifeq 11
aload 3
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
ldc 187
lcmp
ifne 11
aload 1
aload 0
invokevirtual org.jruby.RubyIO.getbyte:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 4
start local 4 7: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 11
8: aload 4
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
ldc 191
lcmp
ifne 10
9: getstatic org.jcodings.specific.UTF8Encoding.INSTANCE:Lorg/jcodings/specific/UTF8Encoding;
areturn
10: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 1
aload 0
aload 4
invokevirtual org.jruby.RubyIO.ungetbyte:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 4 11: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 3
invokevirtual org.jruby.RubyIO.ungetbyte:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
12: goto 45
end local 3 13: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.jruby.RubyIO.getbyte:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 3
start local 3 14: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 15
goto 45
15: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 3
instanceof org.jruby.RubyFixnum
ifeq 17
aload 3
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
ldc 255
lcmp
ifne 17
16: getstatic org.jcodings.specific.UTF16BEEncoding.INSTANCE:Lorg/jcodings/specific/UTF16BEEncoding;
areturn
17: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 3
invokevirtual org.jruby.RubyIO.ungetbyte:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
18: goto 45
end local 3 19: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.jruby.RubyIO.getbyte:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 3
start local 3 20: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 21
goto 45
21: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 3
instanceof org.jruby.RubyFixnum
ifeq 32
aload 3
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
ldc 254
lcmp
ifne 32
22: aload 1
aload 0
invokevirtual org.jruby.RubyIO.getbyte:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 23: aload 4
instanceof org.jruby.RubyFixnum
ifeq 29
aload 4
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
lconst_0
lcmp
ifne 29
aload 1
aload 0
invokevirtual org.jruby.RubyIO.getbyte:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 5
start local 5 24: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 29
25: aload 5
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
lconst_0
lcmp
ifne 27
26: getstatic org.jcodings.specific.UTF32LEEncoding.INSTANCE:Lorg/jcodings/specific/UTF32LEEncoding;
areturn
27: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 1
aload 0
aload 5
invokevirtual org.jruby.RubyIO.ungetbyte:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
28: goto 31
end local 5 29: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 4
invokevirtual org.jruby.RubyIO.ungetbyte:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
30: getstatic org.jcodings.specific.UTF16LEEncoding.INSTANCE:Lorg/jcodings/specific/UTF16LEEncoding;
areturn
start local 5 31: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 1
aload 0
aload 4
invokevirtual org.jruby.RubyIO.ungetbyte:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 5 end local 4 32: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 3
invokevirtual org.jruby.RubyIO.ungetbyte:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
33: goto 45
end local 3 34: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.jruby.RubyIO.getbyte:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 3
start local 3 35: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 36
goto 45
36: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 3
instanceof org.jruby.RubyFixnum
ifeq 44
aload 3
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
lconst_0
lcmp
ifne 44
aload 1
aload 0
invokevirtual org.jruby.RubyIO.getbyte:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 4
start local 4 37: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 44
38: aload 4
instanceof org.jruby.RubyFixnum
ifeq 43
aload 4
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
ldc 254
lcmp
ifne 43
aload 1
aload 0
invokevirtual org.jruby.RubyIO.getbyte:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 5
start local 5 39: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 43
40: aload 5
instanceof org.jruby.RubyFixnum
ifeq 42
aload 5
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
ldc 255
lcmp
ifne 42
41: getstatic org.jcodings.specific.UTF32BEEncoding.INSTANCE:Lorg/jcodings/specific/UTF32BEEncoding;
areturn
42: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 1
aload 0
aload 5
invokevirtual org.jruby.RubyIO.ungetbyte:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 5 43: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 4
invokevirtual org.jruby.RubyIO.ungetbyte:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 4 44: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 3
invokevirtual org.jruby.RubyIO.ungetbyte:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 3 45: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 2
invokevirtual org.jruby.RubyIO.ungetbyte:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
46: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 context Lorg/jruby/runtime/ThreadContext;
0 47 1 io Lorg/jruby/RubyIO;
2 47 2 b1 Lorg/jruby/runtime/builtin/IRubyObject;
5 13 3 b2 Lorg/jruby/runtime/builtin/IRubyObject;
14 19 3 b2 Lorg/jruby/runtime/builtin/IRubyObject;
20 34 3 b2 Lorg/jruby/runtime/builtin/IRubyObject;
35 45 3 b2 Lorg/jruby/runtime/builtin/IRubyObject;
7 11 4 b3 Lorg/jruby/runtime/builtin/IRubyObject;
23 32 4 b3 Lorg/jruby/runtime/builtin/IRubyObject;
37 44 4 b3 Lorg/jruby/runtime/builtin/IRubyObject;
24 29 5 b4 Lorg/jruby/runtime/builtin/IRubyObject;
31 32 5 b4 Lorg/jruby/runtime/builtin/IRubyObject;
39 43 5 b4 Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
io
public static void validateEncodingBinmode(org.jruby.runtime.ThreadContext, int[], int, org.jruby.util.io.IOEncodable);
descriptor: (Lorg/jruby/runtime/ThreadContext;[IILorg/jruby/util/io/IOEncodable;)V
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: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 1
iconst_0
iaload
istore 5
start local 5 2: iload 5
iconst_1
iand
ifeq 9
3: aload 3
invokeinterface org.jruby.util.io.IOEncodable.getEnc2:()Lorg/jcodings/Encoding;
ifnonnull 9
4: iload 5
iconst_4
iand
ifne 9
5: aload 3
invokeinterface org.jruby.util.io.IOEncodable.getEnc:()Lorg/jcodings/Encoding;
ifnull 6
aload 3
invokeinterface org.jruby.util.io.IOEncodable.getEnc:()Lorg/jcodings/Encoding;
goto 7
StackMap locals: org.jruby.Ruby int
StackMap stack:
6: aload 4
invokevirtual org.jruby.Ruby.getDefaultExternalEncoding:()Lorg/jcodings/Encoding;
StackMap locals:
StackMap stack: org.jcodings.Encoding
7: invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
ifne 9
8: aload 4
ldc "ASCII incompatible encoding needs binmode"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
9: StackMap locals:
StackMap stack:
iload 5
iconst_4
iand
ifeq 11
iload 2
sipush 16128
iand
ifeq 11
10: aload 4
ldc "newline decorator with binary mode"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
11: StackMap locals:
StackMap stack:
iload 5
iconst_4
iand
ifne 15
getstatic org.jruby.util.io.EncodingUtils.DEFAULT_TEXTMODE:I
ifne 12
iload 2
sipush 16128
iand
ifeq 15
12: StackMap locals:
StackMap stack:
iload 5
sipush 4096
ior
istore 5
13: aload 1
iconst_0
iload 5
iastore
14: goto 18
StackMap locals:
StackMap stack:
15: getstatic org.jruby.util.io.EncodingUtils.DEFAULT_TEXTMODE:I
ifne 18
iload 2
sipush 16128
iand
ifne 18
16: iload 5
sipush -4097
iand
istore 5
17: aload 1
iconst_0
iload 5
iastore
18: 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 19 0 context Lorg/jruby/runtime/ThreadContext;
0 19 1 fmode_p [I
0 19 2 ecflags I
0 19 3 ioEncodable Lorg/jruby/util/io/IOEncodable;
1 19 4 runtime Lorg/jruby/Ruby;
2 19 5 fmode I
MethodParameters:
Name Flags
context
fmode_p
ecflags
ioEncodable
public static void rbEncSetDefaultExternal(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 2
1: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "default external can not be nil"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
iconst_1
anewarray org.jcodings.Encoding
dup
iconst_0
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getDefaultExternalEncoding:()Lorg/jcodings/Encoding;
aastore
astore 2
start local 2 3: aload 0
aload 2
aload 1
ldc "external"
invokestatic org.jruby.util.io.EncodingUtils.encSetDefaultEncoding:(Lorg/jruby/runtime/ThreadContext;[Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Z
pop
4: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
iconst_0
aaload
invokevirtual org.jruby.Ruby.setDefaultExternalEncoding:(Lorg/jcodings/Encoding;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 context Lorg/jruby/runtime/ThreadContext;
0 6 1 encoding Lorg/jruby/runtime/builtin/IRubyObject;
3 6 2 enc_p [Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
encoding
public static void rbEncSetDefaultInternal(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iconst_1
anewarray org.jcodings.Encoding
dup
iconst_0
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getDefaultInternalEncoding:()Lorg/jcodings/Encoding;
aastore
astore 2
start local 2 1: aload 0
aload 2
aload 1
ldc "internal"
invokestatic org.jruby.util.io.EncodingUtils.encSetDefaultEncoding:(Lorg/jruby/runtime/ThreadContext;[Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Z
pop
2: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
iconst_0
aaload
invokevirtual org.jruby.Ruby.setDefaultInternalEncoding:(Lorg/jcodings/Encoding;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lorg/jruby/runtime/ThreadContext;
0 4 1 encoding Lorg/jruby/runtime/builtin/IRubyObject;
1 4 2 enc_p [Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
encoding
public static boolean encSetDefaultEncoding(org.jruby.runtime.ThreadContext, org.jcodings.Encoding[], org.jruby.runtime.builtin.IRubyObject, java.lang.String);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Z
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: iconst_0
istore 4
start local 4 1: aload 1
ifnull 3
2: iconst_1
istore 4
3: StackMap locals: int
StackMap stack:
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 6
4: aload 1
iconst_0
aconst_null
aastore
5: goto 7
6: StackMap locals:
StackMap stack:
aload 1
iconst_0
aload 0
aload 2
invokestatic org.jruby.util.io.EncodingUtils.rbToEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
aastore
7: StackMap locals:
StackMap stack:
aload 3
ldc "external"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
pop
8: 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 9 0 context Lorg/jruby/runtime/ThreadContext;
0 9 1 def_p [Lorg/jcodings/Encoding;
0 9 2 encoding Lorg/jruby/runtime/builtin/IRubyObject;
0 9 3 name Ljava/lang/String;
1 9 4 overridden Z
MethodParameters:
Name Flags
context
def_p
encoding
name
public static org.jcodings.Encoding defaultExternalEncoding(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.Ruby.getDefaultExternalEncoding:()Lorg/jcodings/Encoding;
ifnull 1
aload 0
invokevirtual org.jruby.Ruby.getDefaultExternalEncoding:()Lorg/jcodings/Encoding;
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
invokevirtual org.jruby.runtime.encoding.EncodingService.getLocaleEncoding:()Lorg/jcodings/Encoding;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
runtime
public static void rbStrBufCat(org.jruby.Ruby, org.jruby.RubyString, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;)V
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 2
invokevirtual org.jruby.util.ByteList.length:()I
ifne 1
return
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokestatic org.jruby.util.io.EncodingUtils.strBufCat:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 runtime Lorg/jruby/Ruby;
0 3 1 str Lorg/jruby/RubyString;
0 3 2 ptr Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
runtime
str
ptr
public static void rbStrBufCat(org.jruby.Ruby, org.jruby.util.ByteListHolder, byte[], int, int);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteListHolder;[BII)V
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: iload 4
ifne 1
return
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 3
iload 4
invokestatic org.jruby.util.io.EncodingUtils.strBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteListHolder;[BII)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 runtime Lorg/jruby/Ruby;
0 3 1 str Lorg/jruby/util/ByteListHolder;
0 3 2 ptrBytes [B
0 3 3 ptr I
0 3 4 len I
MethodParameters:
Name Flags
runtime
str
ptrBytes
ptr
len
public static void rbStrBufCat(org.jruby.Ruby, org.jruby.util.ByteList, byte[], int, int);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
ifne 1
return
1: StackMap locals:
StackMap stack:
aload 1
aload 2
iload 3
iload 4
invokestatic org.jruby.util.io.EncodingUtils.strBufCat:(Lorg/jruby/util/ByteList;[BII)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 runtime Lorg/jruby/Ruby;
0 3 1 str Lorg/jruby/util/ByteList;
0 3 2 ptrBytes [B
0 3 3 ptr I
0 3 4 len I
MethodParameters:
Name Flags
runtime
str
ptrBytes
ptr
len
public static void strBufCat(org.jruby.Ruby, org.jruby.RubyString, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;)V
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
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 2
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 2
invokevirtual org.jruby.util.ByteList.getRealSize:()I
invokestatic org.jruby.util.io.EncodingUtils.strBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteListHolder;[BII)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 runtime Lorg/jruby/Ruby;
0 2 1 str Lorg/jruby/RubyString;
0 2 2 ptr Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
runtime
str
ptr
public static void strBufCat(org.jruby.Ruby, org.jruby.util.ByteListHolder, byte[], int, int);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteListHolder;[BII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokeinterface org.jruby.util.ByteListHolder.modify:()V
1: aload 1
invokeinterface org.jruby.util.ByteListHolder.getByteList:()Lorg/jruby/util/ByteList;
aload 2
iload 3
iload 4
invokestatic org.jruby.util.io.EncodingUtils.strBufCat:(Lorg/jruby/util/ByteList;[BII)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 runtime Lorg/jruby/Ruby;
0 3 1 str Lorg/jruby/util/ByteListHolder;
0 3 2 ptrBytes [B
0 3 3 ptr I
0 3 4 len I
MethodParameters:
Name Flags
runtime
str
ptrBytes
ptr
len
public static void strBufCat(org.jruby.util.ByteList, byte[], int, int);
descriptor: (Lorg/jruby/util/ByteList;[BII)V
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 3
ifne 1
return
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iload 3
iadd
istore 4
start local 4 2: aload 0
iload 4
invokevirtual org.jruby.util.ByteList.ensure:(I)V
3: aload 0
aload 1
iload 2
iload 3
invokevirtual org.jruby.util.ByteList.append:([BII)V
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 str Lorg/jruby/util/ByteList;
0 5 1 ptrBytes [B
0 5 2 ptr I
0 5 3 len I
2 5 4 total I
MethodParameters:
Name Flags
str
ptrBytes
ptr
len
public static void encStrBufCat(org.jruby.Ruby, org.jruby.RubyString, org.jruby.util.ByteList, org.jcodings.Encoding);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 2
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 2
invokevirtual org.jruby.util.ByteList.getRealSize:()I
1: aload 3
iconst_0
2: invokestatic org.jruby.util.io.EncodingUtils.encCrStrBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;[BIILorg/jcodings/Encoding;I)I
pop
3: return
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 str Lorg/jruby/RubyString;
0 4 2 ptr Lorg/jruby/util/ByteList;
0 4 3 enc Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
runtime
str
ptr
enc
public static void encStrBufCat(org.jruby.Ruby, org.jruby.RubyString, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
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.getRealSize:()I
1: aload 2
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
iconst_0
2: invokestatic org.jruby.util.io.EncodingUtils.encCrStrBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;[BIILorg/jcodings/Encoding;I)I
pop
3: return
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 str Lorg/jruby/RubyString;
0 4 2 ptr Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
runtime
str
ptr
public static void encStrBufCat(org.jruby.Ruby, org.jruby.RubyString, byte[]);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;[B)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
aload 2
arraylength
getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
iconst_0
invokestatic org.jruby.util.io.EncodingUtils.encCrStrBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;[BIILorg/jcodings/Encoding;I)I
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 runtime Lorg/jruby/Ruby;
0 2 1 str Lorg/jruby/RubyString;
0 2 2 ptrBytes [B
MethodParameters:
Name Flags
runtime
str
ptrBytes
public static void encStrBufCat(org.jruby.Ruby, org.jruby.RubyString, byte[], org.jcodings.Encoding);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;[BLorg/jcodings/Encoding;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iconst_0
aload 2
arraylength
aload 3
iconst_0
invokestatic org.jruby.util.io.EncodingUtils.encCrStrBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;[BIILorg/jcodings/Encoding;I)I
pop
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 runtime Lorg/jruby/Ruby;
0 2 1 str Lorg/jruby/RubyString;
0 2 2 ptrBytes [B
0 2 3 enc Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
runtime
str
ptrBytes
enc
public static void encStrBufCat(org.jruby.Ruby, org.jruby.RubyString, byte[], int, int, org.jcodings.Encoding);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;[BIILorg/jcodings/Encoding;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=6, 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
aload 2
iload 3
iload 4
1: aload 5
iconst_0
2: invokestatic org.jruby.util.io.EncodingUtils.encCrStrBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;[BIILorg/jcodings/Encoding;I)I
pop
3: 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 4 0 runtime Lorg/jruby/Ruby;
0 4 1 str Lorg/jruby/RubyString;
0 4 2 ptrBytes [B
0 4 3 ptr I
0 4 4 len I
0 4 5 enc Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
runtime
str
ptrBytes
ptr
len
enc
public static void encStrBufCat(org.jruby.Ruby, org.jruby.RubyString, java.lang.CharSequence);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/CharSequence;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic org.jruby.RubyEncoding.encodeUTF8:(Ljava/lang/String;)[B
astore 3
start local 3 1: aload 0
aload 1
aload 3
iconst_0
aload 3
arraylength
getstatic org.jcodings.specific.UTF8Encoding.INSTANCE:Lorg/jcodings/specific/UTF8Encoding;
iconst_0
invokestatic org.jruby.util.io.EncodingUtils.encCrStrBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;[BIILorg/jcodings/Encoding;I)I
pop
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 runtime Lorg/jruby/Ruby;
0 3 1 str Lorg/jruby/RubyString;
0 3 2 cseq Ljava/lang/CharSequence;
1 3 3 utf8 [B
MethodParameters:
Name Flags
runtime
str
cseq
public static int encCrStrBufCat(org.jruby.Ruby, org.jruby.util.CodeRangeable, org.jruby.util.ByteList, org.jcodings.Encoding, int);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, 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
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 2
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 2
invokevirtual org.jruby.util.ByteList.getRealSize:()I
aload 3
iload 4
invokestatic org.jruby.util.io.EncodingUtils.encCrStrBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;[BIILorg/jcodings/Encoding;I)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 runtime Lorg/jruby/Ruby;
0 1 1 str Lorg/jruby/util/CodeRangeable;
0 1 2 ptr Lorg/jruby/util/ByteList;
0 1 3 ptrEnc Lorg/jcodings/Encoding;
0 1 4 ptr_cr I
MethodParameters:
Name Flags
runtime
str
ptr
ptrEnc
ptr_cr
public static int encCrStrBufCat(org.jruby.Ruby, org.jruby.util.CodeRangeable, byte[], int, int, org.jcodings.Encoding, int);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;[BIILorg/jcodings/Encoding;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=12, 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
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
astore 7
start local 7 1: iconst_0
istore 11
start local 11 2: aload 1
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getRealSize:()I
ifle 3
aload 1
invokeinterface org.jruby.util.CodeRangeable.getCodeRange:()I
goto 4
StackMap locals: org.jruby.Ruby org.jruby.util.CodeRangeable byte[] int int org.jcodings.Encoding int org.jcodings.Encoding top top top int
StackMap stack:
3: bipush 16
StackMap locals:
StackMap stack: int
4: istore 9
start local 9 5: aload 7
aload 5
if_acmpne 12
6: iload 9
ifne 9
7: iconst_0
istore 6
8: goto 26
StackMap locals: org.jruby.Ruby org.jruby.util.CodeRangeable byte[] int int org.jcodings.Encoding int org.jcodings.Encoding top int top int
StackMap stack:
9: iload 6
ifne 26
10: aload 5
aload 2
iload 3
iload 4
invokestatic org.jruby.util.StringSupport.codeRangeScan:(Lorg/jcodings/Encoding;[BII)I
istore 6
11: goto 26
12: StackMap locals:
StackMap stack:
aload 7
invokestatic org.jruby.util.io.EncodingUtils.encAsciicompat:(Lorg/jcodings/Encoding;)Z
ifeq 13
aload 5
invokestatic org.jruby.util.io.EncodingUtils.encAsciicompat:(Lorg/jcodings/Encoding;)Z
ifne 20
13: StackMap locals:
StackMap stack:
iload 4
ifne 14
iload 6
ireturn
14: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.getRealSize:()I
ifne 19
15: aload 0
aload 1
aload 2
iload 3
iload 4
invokestatic org.jruby.util.io.EncodingUtils.strBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteListHolder;[BII)V
16: aload 1
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
aload 5
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
17: aload 1
iload 6
invokeinterface org.jruby.util.CodeRangeable.setCodeRange:(I)V
18: iload 6
ireturn
19: StackMap locals:
StackMap stack:
iconst_1
istore 11
20: StackMap locals:
StackMap stack:
iload 11
ifne 26
21: iload 6
ifne 23
22: aload 5
aload 2
iload 3
iload 4
invokestatic org.jruby.util.StringSupport.codeRangeScan:(Lorg/jcodings/Encoding;[BII)I
istore 6
23: StackMap locals:
StackMap stack:
iload 9
ifne 26
24: aload 7
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
if_acmpeq 25
iload 6
bipush 16
if_icmpeq 26
25: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.jruby.util.CodeRangeable.scanForCodeRange:()I
istore 9
26: StackMap locals:
StackMap stack:
iload 11
ifne 30
27: aload 7
aload 5
if_acmpeq 31
28: iload 9
bipush 16
if_icmpeq 31
29: iload 6
bipush 16
if_icmpeq 31
30: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "incompatible encodings: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newEncodingCompatibilityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
31: StackMap locals:
StackMap stack:
iload 9
ifne 35
32: aload 7
astore 8
start local 8 33: iconst_0
istore 10
start local 10 34: goto 53
end local 10 end local 8 StackMap locals:
StackMap stack:
35: iload 9
bipush 16
if_icmpne 43
36: iload 6
bipush 16
if_icmpne 40
37: aload 7
astore 8
start local 8 38: bipush 16
istore 10
start local 10 39: goto 53
end local 10 end local 8 40: StackMap locals:
StackMap stack:
aload 5
astore 8
start local 8 41: iload 6
istore 10
start local 10 42: goto 53
end local 10 end local 8 StackMap locals:
StackMap stack:
43: iload 9
bipush 32
if_icmpne 50
44: aload 7
astore 8
start local 8 45: iload 6
bipush 16
if_icmpeq 46
iload 6
bipush 32
if_icmpne 48
46: StackMap locals: org.jruby.Ruby org.jruby.util.CodeRangeable byte[] int int org.jcodings.Encoding int org.jcodings.Encoding org.jcodings.Encoding int top int
StackMap stack:
iload 9
istore 10
start local 10 47: goto 53
end local 10 48: StackMap locals:
StackMap stack:
iload 6
istore 10
start local 10 49: goto 53
end local 10 end local 8 50: StackMap locals: org.jruby.Ruby org.jruby.util.CodeRangeable byte[] int int org.jcodings.Encoding int org.jcodings.Encoding top int top int
StackMap stack:
aload 7
astore 8
start local 8 51: iload 9
istore 10
start local 10 52: iload 4
ifle 53
iconst_0
istore 10
53: StackMap locals: org.jruby.Ruby org.jruby.util.CodeRangeable byte[] int int org.jcodings.Encoding int org.jcodings.Encoding org.jcodings.Encoding int int int
StackMap stack:
aload 0
aload 1
aload 2
iload 3
iload 4
invokestatic org.jruby.util.io.EncodingUtils.strBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteListHolder;[BII)V
54: aload 1
invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
aload 8
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
55: aload 1
iload 10
invokeinterface org.jruby.util.CodeRangeable.setCodeRange:(I)V
56: iload 6
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 57 0 runtime Lorg/jruby/Ruby;
0 57 1 str Lorg/jruby/util/CodeRangeable;
0 57 2 ptrBytes [B
0 57 3 ptr I
0 57 4 len I
0 57 5 ptrEnc Lorg/jcodings/Encoding;
0 57 6 ptr_cr I
1 57 7 strEnc Lorg/jcodings/Encoding;
33 35 8 resEnc Lorg/jcodings/Encoding;
38 40 8 resEnc Lorg/jcodings/Encoding;
41 43 8 resEnc Lorg/jcodings/Encoding;
45 50 8 resEnc Lorg/jcodings/Encoding;
51 57 8 resEnc Lorg/jcodings/Encoding;
5 57 9 str_cr I
34 35 10 res_cr I
39 40 10 res_cr I
42 43 10 res_cr I
47 48 10 res_cr I
49 50 10 res_cr I
52 57 10 res_cr I
2 57 11 incompatible Z
MethodParameters:
Name Flags
runtime
str
ptrBytes
ptr
len
ptrEnc
ptr_cr
public static void econvArgs(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], byte[][], org.jcodings.Encoding[], int[], org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;[[B[Lorg/jcodings/Encoding;[I[Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, 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 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 6
start local 6 1: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 2: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
start local 8 3: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
start local 9 4: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 10
start local 10 5: aload 1
arraylength
tableswitch { // 1 - 3
1: 8
2: 7
3: 6
default: 9
}
6: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] byte[][] org.jcodings.Encoding[] int[] org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 1
iconst_2
aaload
astore 9
7: StackMap locals:
StackMap stack:
aload 1
iconst_1
aaload
astore 8
8: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
astore 7
9: StackMap locals:
StackMap stack:
aload 6
aload 9
invokestatic org.jruby.util.TypeConverter.checkHashType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 11
start local 11 10: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 13
11: aload 11
astore 10
12: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
end local 11 13: StackMap locals:
StackMap stack:
aload 9
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 19
14: aload 10
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 16
15: aload 6
aload 1
arraylength
iconst_3
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
16: StackMap locals:
StackMap stack:
aload 4
iconst_0
aload 9
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getLongValue:()J
l2i
iastore
17: aload 5
iconst_0
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
18: goto 24
StackMap locals:
StackMap stack:
19: aload 10
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 22
20: aload 4
iconst_0
aload 0
aload 10
aload 5
invokestatic org.jruby.util.io.EncodingUtils.econvPrepareOpts:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)I
iastore
21: goto 24
22: StackMap locals:
StackMap stack:
aload 4
iconst_0
iconst_0
iastore
23: aload 5
iconst_0
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
24: StackMap locals:
StackMap stack:
aload 3
iconst_0
aload 6
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 7
invokevirtual org.jruby.runtime.encoding.EncodingService.getEncodingFromObjectNoError:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
aastore
25: aload 3
iconst_0
aaload
ifnonnull 27
26: aload 7
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
astore 7
27: StackMap locals:
StackMap stack:
aload 3
iconst_1
aload 6
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 8
invokevirtual org.jruby.runtime.encoding.EncodingService.getEncodingFromObjectNoError:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
aastore
28: aload 3
iconst_1
aaload
ifnonnull 30
29: aload 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
astore 8
30: StackMap locals:
StackMap stack:
aload 2
iconst_0
aload 3
iconst_0
aaload
ifnull 31
aload 3
iconst_0
aaload
invokevirtual org.jcodings.Encoding.getName:()[B
goto 32
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] byte[][] org.jcodings.Encoding[] int[] org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack: byte[][] int
31: aload 7
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.getBytes:()[B
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] byte[][] org.jcodings.Encoding[] int[] org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack: byte[][] int byte[]
32: aastore
33: aload 2
iconst_1
aload 3
iconst_1
aaload
ifnull 34
aload 3
iconst_1
aaload
invokevirtual org.jcodings.Encoding.getName:()[B
goto 35
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] byte[][] org.jcodings.Encoding[] int[] org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack: byte[][] int
34: aload 8
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.getBytes:()[B
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] byte[][] org.jcodings.Encoding[] int[] org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack: byte[][] int byte[]
35: aastore
36: return
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 context Lorg/jruby/runtime/ThreadContext;
0 37 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 37 2 encNames [[B
0 37 3 encs [Lorg/jcodings/Encoding;
0 37 4 ecflags_p [I
0 37 5 ecopts_p [Lorg/jruby/runtime/builtin/IRubyObject;
1 37 6 runtime Lorg/jruby/Ruby;
2 37 7 snamev Lorg/jruby/runtime/builtin/IRubyObject;
3 37 8 dnamev Lorg/jruby/runtime/builtin/IRubyObject;
4 37 9 flags Lorg/jruby/runtime/builtin/IRubyObject;
5 37 10 opt Lorg/jruby/runtime/builtin/IRubyObject;
10 13 11 tmp Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
args
encNames
encs
ecflags_p
ecopts_p
public static org.jcodings.transcode.EConv econvInitByConvpath(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, byte[][], org.jcodings.Encoding[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[[B[Lorg/jcodings/Encoding;)Lorg/jcodings/transcode/EConv;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=19, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
invokevirtual org.jruby.RubyArray.size:()I
invokestatic org.jcodings.transcode.TranscoderDB.alloc:(I)Lorg/jcodings/transcode/EConv;
astore 5
start local 5 2: iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
astore 6
start local 6 3: iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
astore 7
start local 7 4: iconst_1
anewarray byte[]
astore 8
start local 8 5: iconst_1
anewarray byte[]
astore 9
start local 9 6: iconst_1
anewarray org.jcodings.Encoding
astore 10
start local 10 7: iconst_1
anewarray org.jcodings.Encoding
astore 11
start local 11 8: iconst_1
istore 12
start local 12 9: iconst_0
istore 13
start local 13 10: goto 39
11: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject byte[][] org.jcodings.Encoding[] org.jruby.Ruby org.jcodings.transcode.EConv org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject[] byte[][] byte[][] org.jcodings.Encoding[] org.jcodings.Encoding[] int int
StackMap stack:
aload 1
checkcast org.jruby.RubyArray
iload 13
i2l
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 14
start local 14 12: aload 14
invokeinterface org.jruby.runtime.builtin.IRubyObject.checkArrayType:()Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 15
start local 15 13: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 21
14: aload 15
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.size:()I
iconst_2
if_icmpeq 16
15: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "not a 2-element array in convpath"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
16: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 6
iconst_0
aload 15
checkcast org.jruby.RubyArray
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
aastore
17: aload 0
aload 6
iconst_0
aaload
aload 8
aload 10
invokestatic org.jruby.util.io.EncodingUtils.encArg:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[[B[Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
pop
18: aload 7
iconst_0
aload 15
checkcast org.jruby.RubyArray
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
aastore
19: aload 0
aload 7
iconst_0
aaload
aload 9
aload 11
invokestatic org.jruby.util.io.EncodingUtils.encArg:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[[B[Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
pop
20: goto 23
21: StackMap locals:
StackMap stack:
aload 8
iconst_0
getstatic org.jruby.util.io.EncodingUtils.NULL_BYTE_ARRAY:[B
aastore
22: aload 9
iconst_0
aload 14
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getBytes:()[B
aastore
23: StackMap locals:
StackMap stack:
aload 8
iconst_0
aaload
aload 9
iconst_0
aaload
invokestatic org.jruby.util.io.EncodingUtils.DECORATOR_P:([B[B)Z
ifeq 27
24: aload 5
aload 8
iconst_0
aaload
aload 9
iconst_0
aaload
aload 5
getfield org.jcodings.transcode.EConv.numTranscoders:I
invokevirtual org.jcodings.transcode.EConv.addConverter:([B[BI)Z
istore 16
start local 16 25: iload 16
ifne 38
26: aload 4
new java.lang.StringBuilder
dup
ldc "decoration failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 9
iconst_0
aaload
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 16 27: StackMap locals:
StackMap stack:
aload 5
getfield org.jcodings.transcode.EConv.numTranscoders:I
istore 16
start local 16 28: iconst_2
newarray 10
dup
iconst_0
iload 16
iastore
astore 17
start local 17 29: aload 8
iconst_0
aaload
aload 9
iconst_0
aaload
new org.jruby.util.io.EncodingUtils$6
dup
aload 17
aload 5
invokespecial org.jruby.util.io.EncodingUtils$6.<init>:([ILorg/jcodings/transcode/EConv;)V
invokestatic org.jcodings.transcode.TranscoderDB.searchPath:([B[BLorg/jcodings/transcode/TranscoderDB$SearchPathCallback;)I
istore 18
start local 18 30: iload 18
iconst_m1
if_icmpeq 31
aload 17
iconst_1
iaload
iconst_m1
if_icmpne 32
31: StackMap locals: int int[] int
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
ldc "adding conversion failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 8
iconst_0
aaload
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 9
iconst_0
aaload
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
32: StackMap locals:
StackMap stack:
iload 12
ifeq 36
33: iconst_0
istore 12
34: aload 3
iconst_0
aload 10
iconst_0
aaload
aastore
35: aload 2
iconst_0
aload 5
getfield org.jcodings.transcode.EConv.elements:[Lorg/jcodings/transcode/EConv$EConvElement;
iload 16
aaload
getfield org.jcodings.transcode.EConv$EConvElement.transcoding:Lorg/jcodings/transcode/Transcoding;
getfield org.jcodings.transcode.Transcoding.transcoder:Lorg/jcodings/transcode/Transcoder;
invokevirtual org.jcodings.transcode.Transcoder.getSource:()[B
aastore
36: StackMap locals:
StackMap stack:
aload 3
iconst_1
aload 11
iconst_0
aaload
aastore
37: aload 2
iconst_1
aload 5
getfield org.jcodings.transcode.EConv.elements:[Lorg/jcodings/transcode/EConv$EConvElement;
aload 5
getfield org.jcodings.transcode.EConv.numTranscoders:I
iconst_1
isub
aaload
getfield org.jcodings.transcode.EConv$EConvElement.transcoding:Lorg/jcodings/transcode/Transcoding;
getfield org.jcodings.transcode.Transcoding.transcoder:Lorg/jcodings/transcode/Transcoder;
invokevirtual org.jcodings.transcode.Transcoder.getDestination:()[B
aastore
end local 18 end local 17 end local 16 end local 15 end local 14 38: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject byte[][] org.jcodings.Encoding[] org.jruby.Ruby org.jcodings.transcode.EConv org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject[] byte[][] byte[][] org.jcodings.Encoding[] org.jcodings.Encoding[] int int
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
39: iload 13
aload 1
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.size:()I
if_icmplt 11
end local 13 40: iload 12
ifeq 45
41: aload 3
iconst_0
aconst_null
aastore
42: aload 3
iconst_1
aconst_null
aastore
43: aload 2
iconst_0
getstatic org.jruby.util.io.EncodingUtils.NULL_BYTE_ARRAY:[B
aastore
44: aload 2
iconst_1
getstatic org.jruby.util.io.EncodingUtils.NULL_BYTE_ARRAY:[B
aastore
45: StackMap locals:
StackMap stack:
aload 5
aload 2
iconst_0
aaload
putfield org.jcodings.transcode.EConv.source:[B
46: aload 5
aload 2
iconst_0
aaload
putfield org.jcodings.transcode.EConv.destination:[B
47: aload 5
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 48 0 context Lorg/jruby/runtime/ThreadContext;
0 48 1 convpath Lorg/jruby/runtime/builtin/IRubyObject;
0 48 2 encNames [[B
0 48 3 encs [Lorg/jcodings/Encoding;
1 48 4 runtime Lorg/jruby/Ruby;
2 48 5 ec Lorg/jcodings/transcode/EConv;
3 48 6 sname_v [Lorg/jruby/runtime/builtin/IRubyObject;
4 48 7 dname_v [Lorg/jruby/runtime/builtin/IRubyObject;
5 48 8 sname [[B
6 48 9 dname [[B
7 48 10 senc [Lorg/jcodings/Encoding;
8 48 11 denc [Lorg/jcodings/Encoding;
9 48 12 first Z
10 40 13 i I
12 38 14 elt Lorg/jruby/runtime/builtin/IRubyObject;
13 38 15 pair Lorg/jruby/runtime/builtin/IRubyObject;
25 27 16 ret Z
28 38 16 j I
29 38 17 arg [I
30 38 18 ret I
MethodParameters:
Name Flags
context
convpath
encNames
encs
public static int decorateConvpath(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: bipush 32
anewarray byte[]
astore 5
start local 5 2: iload 2
aload 5
invokestatic org.jcodings.transcode.TranscoderDB.decoratorNames:(I[[B)I
istore 4
start local 4 3: iload 4
iconst_m1
if_icmpne 5
4: iconst_m1
ireturn
5: StackMap locals: org.jruby.Ruby int byte[][]
StackMap stack:
aload 1
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.size:()I
dup
istore 7
start local 7 6: istore 8
start local 8 7: iload 7
ifeq 22
8: aload 1
checkcast org.jruby.RubyArray
iload 7
iconst_1
isub
i2l
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
start local 9 9: aload 9
instanceof org.jruby.RubyArray
ifeq 21
10: aload 3
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 9
checkcast org.jruby.RubyArray
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.runtime.encoding.EncodingService.getEncodingFromObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
invokevirtual org.jcodings.Encoding.getName:()[B
astore 10
start local 10 11: aload 3
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 9
checkcast org.jruby.RubyArray
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.runtime.encoding.EncodingService.getEncodingFromObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
invokevirtual org.jcodings.Encoding.getName:()[B
astore 11
start local 11 12: aload 10
aload 11
invokestatic org.jcodings.transcode.TranscoderDB.getEntry:([B[B)Lorg/jcodings/transcode/TranscoderDB$Entry;
astore 12
start local 12 13: aload 12
invokevirtual org.jcodings.transcode.TranscoderDB$Entry.getTranscoder:()Lorg/jcodings/transcode/Transcoder;
astore 13
start local 13 14: aload 13
ifnonnull 16
15: iconst_m1
ireturn
16: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int org.jruby.Ruby int byte[][] top int int org.jruby.runtime.builtin.IRubyObject byte[] byte[] org.jcodings.transcode.TranscoderDB$Entry org.jcodings.transcode.Transcoder
StackMap stack:
aload 13
invokevirtual org.jcodings.transcode.Transcoder.getSource:()[B
aload 13
invokevirtual org.jcodings.transcode.Transcoder.getDestination:()[B
invokestatic org.jruby.util.io.EncodingUtils.DECORATOR_P:([B[B)Z
ifne 22
17: aload 13
getfield org.jcodings.transcode.Transcoder.compatibility:Lorg/jcodings/transcode/AsciiCompatibility;
invokevirtual org.jcodings.transcode.AsciiCompatibility.isEncoder:()Z
ifeq 22
18: iinc 7 -1
19: aload 1
checkcast org.jruby.RubyArray
iload 8
iload 4
iadd
iconst_1
isub
i2l
aload 9
invokevirtual org.jruby.RubyArray.store:(JLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 13 end local 12 end local 11 end local 10 20: goto 22
21: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int org.jruby.Ruby int byte[][] top int int org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 1
checkcast org.jruby.RubyArray
iload 8
iload 4
iadd
iconst_1
isub
i2l
aload 9
invokevirtual org.jruby.RubyArray.store:(JLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 9 22: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 23: goto 26
24: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int org.jruby.Ruby int byte[][] int int int
StackMap stack:
aload 1
checkcast org.jruby.RubyArray
iload 7
iload 6
iadd
i2l
aload 3
aload 5
iload 6
aaload
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;[B)Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyArray.store:(JLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
25: iinc 6 1
StackMap locals:
StackMap stack:
26: iload 6
iload 4
if_icmplt 24
27: iconst_0
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 28 0 context Lorg/jruby/runtime/ThreadContext;
0 28 1 convpath Lorg/jruby/runtime/builtin/IRubyObject;
0 28 2 ecflags I
1 28 3 runtime Lorg/jruby/Ruby;
3 28 4 num_decorators I
2 28 5 decorators [[B
23 28 6 i I
6 28 7 n I
7 28 8 len I
9 22 9 pair Lorg/jruby/runtime/builtin/IRubyObject;
11 20 10 sname [B
12 20 11 dname [B
13 20 12 entry Lorg/jcodings/transcode/TranscoderDB$Entry;
14 20 13 tr Lorg/jcodings/transcode/Transcoder;
MethodParameters:
Name Flags
context
convpath
ecflags
public static org.jruby.runtime.builtin.IRubyObject ioEncStr(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.util.io.OpenFile);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/io/OpenFile;)Lorg/jruby/runtime/builtin/IRubyObject;
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
iconst_1
invokeinterface org.jruby.runtime.builtin.IRubyObject.setTaint:(Z)V
1: aload 1
checkcast org.jruby.RubyString
aload 2
aload 0
invokevirtual org.jruby.util.io.OpenFile.readEncoding:(Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
2: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 runtime Lorg/jruby/Ruby;
0 3 1 str Lorg/jruby/runtime/builtin/IRubyObject;
0 3 2 fptr Lorg/jruby/util/io/OpenFile;
MethodParameters:
Name Flags
runtime
str
fptr
public static org.jruby.RubyString encUintChr(org.jruby.runtime.ThreadContext, int, org.jcodings.Encoding);
descriptor: (Lorg/jruby/runtime/ThreadContext;ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: iload 1
i2l
ldc 4294967295
land
lstore 4
start local 4 2: aload 0
iload 1
aload 2
invokestatic org.jruby.util.io.EncodingUtils.encCodelen:(Lorg/jruby/runtime/ThreadContext;ILorg/jcodings/Encoding;)I
dup
istore 6
start local 6 3: lookupswitch { // 3
-401: 5
-400: 4
0: 5
default: 6
}
4: StackMap locals: org.jruby.Ruby long int
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
ldc "invalid codepoint "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 4
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals:
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
lload 4
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " out of char range"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals:
StackMap stack:
new org.jruby.util.ByteList
dup
iload 6
invokespecial org.jruby.util.ByteList.<init>:(I)V
astore 7
start local 7 7: aload 7
aload 2
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
8: aload 7
iload 6
invokevirtual org.jruby.util.ByteList.length:(I)V
9: aload 7
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
astore 8
start local 8 10: aload 7
invokevirtual org.jruby.util.ByteList.begin:()I
istore 9
start local 9 11: aload 7
invokevirtual org.jruby.util.ByteList.realSize:()I
istore 10
start local 10 12: aload 0
iload 1
aload 8
iload 9
aload 2
invokestatic org.jruby.util.io.EncodingUtils.encMbcput:(Lorg/jruby/runtime/ThreadContext;I[BILorg/jcodings/Encoding;)I
pop
13: aload 2
aload 8
iload 9
iload 10
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
iload 6
if_icmpeq 15
14: aload 3
new java.lang.StringBuilder
dup
ldc "invalid codepoint "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 4
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
15: StackMap locals: org.jruby.runtime.ThreadContext int org.jcodings.Encoding org.jruby.Ruby long int org.jruby.util.ByteList byte[] int int
StackMap stack:
aload 3
aload 7
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 context Lorg/jruby/runtime/ThreadContext;
0 16 1 code I
0 16 2 enc Lorg/jcodings/Encoding;
1 16 3 runtime Lorg/jruby/Ruby;
2 16 4 i J
3 16 6 n I
7 16 7 strBytes Lorg/jruby/util/ByteList;
10 16 8 bytes [B
11 16 9 begin I
12 16 10 end I
MethodParameters:
Name Flags
context
code
enc
public static int encMbcput(int, byte[], int, org.jcodings.Encoding);
descriptor: (I[BILorg/jcodings/Encoding;)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 3
iload 0
aload 1
iload 2
invokevirtual org.jcodings.Encoding.codeToMbc:(I[BI)I
istore 4
start local 4 1: iload 4
ifge 3
2: new org.jcodings.exception.EncodingException
dup
iload 4
invokestatic org.jcodings.exception.EncodingError.fromCode:(I)Lorg/jcodings/exception/EncodingError;
invokespecial org.jcodings.exception.EncodingException.<init>:(Lorg/jcodings/exception/EncodingError;)V
athrow
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 c I
0 4 1 buf [B
0 4 2 p I
0 4 3 enc Lorg/jcodings/Encoding;
1 4 4 len I
MethodParameters:
Name Flags
c
buf
p
enc
public static int encMbcput(org.jruby.runtime.ThreadContext, int, byte[], int, org.jcodings.Encoding);
descriptor: (Lorg/jruby/runtime/ThreadContext;I[BILorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
iload 1
aload 2
iload 3
invokevirtual org.jcodings.Encoding.codeToMbc:(I[BI)I
istore 5
start local 5 1: iload 5
ifge 7
2: iload 5
tableswitch { // -401 - -400
-401: 4
-400: 3
default: 5
}
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "invalid codepoint "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
i2l
ldc 4294967295
land
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 1
i2l
ldc 4294967295
land
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " out of char range"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals:
StackMap stack:
aload 0
6: getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
iload 5
invokestatic org.jcodings.exception.EncodingError.fromCode:(I)Lorg/jcodings/exception/EncodingError;
invokevirtual org.jcodings.exception.EncodingError.getMessage:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newEncodingError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
7: 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 8 0 context Lorg/jruby/runtime/ThreadContext;
0 8 1 c I
0 8 2 buf [B
0 8 3 p I
0 8 4 enc Lorg/jcodings/Encoding;
1 8 5 len I
MethodParameters:
Name Flags
context
c
buf
p
enc
public static int encCodepointLength(byte[], int, int, int[], org.jcodings.Encoding);
descriptor: ([BII[ILorg/jcodings/Encoding;)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: iload 2
iload 1
if_icmpgt 2
1: new java.lang.IllegalArgumentException
dup
ldc "empty string"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 4
aload 0
iload 1
iload 2
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 5
start local 5 3: iload 5
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
ifne 5
4: 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 4
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
5: StackMap locals: int
StackMap stack:
aload 3
ifnull 6
aload 3
iconst_0
iload 5
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
iastore
6: StackMap locals:
StackMap stack:
aload 4
aload 0
iload 1
iload 2
invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jcodings/Encoding;[BII)I
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 7 0 pBytes [B
0 7 1 p I
0 7 2 e I
0 7 3 len_p [I
0 7 4 enc Lorg/jcodings/Encoding;
3 7 5 r I
MethodParameters:
Name Flags
pBytes
p
e
len_p
enc
public static int encCodepointLength(org.jruby.Ruby, byte[], int, int, int[], org.jcodings.Encoding);
descriptor: (Lorg/jruby/Ruby;[BII[ILorg/jcodings/Encoding;)I
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
iload 2
iload 3
aload 4
aload 5
invokestatic org.jruby.util.io.EncodingUtils.encCodepointLength:([BII[ILorg/jcodings/Encoding;)I
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 pBytes [B
0 4 2 p I
0 4 3 e I
0 4 4 len_p [I
0 4 5 enc Lorg/jcodings/Encoding;
3 4 6 ex Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
runtime
pBytes
p
e
len_p
enc
public static org.jruby.runtime.builtin.IRubyObject strCompatAndValid(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jcodings.Encoding);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
astore 4
start local 4 1: aload 4
invokevirtual org.jruby.RubyString.scanForCodeRange:()I
istore 3
start local 3 2: iload 3
bipush 48
if_icmpne 4
3: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "replacement must be valid byte sequence '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
4: StackMap locals: int org.jruby.RubyString
StackMap stack:
aload 4
invokestatic org.jruby.util.io.EncodingUtils.STR_ENC_GET:(Lorg/jruby/util/ByteListHolder;)Lorg/jcodings/Encoding;
astore 5
start local 5 5: iload 3
bipush 16
if_icmpne 6
aload 2
invokevirtual org.jcodings.Encoding.minLength:()I
iconst_1
if_icmpeq 8
goto 7
StackMap locals: org.jcodings.Encoding
StackMap stack:
6: aload 2
aload 5
if_acmpeq 8
7: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "incompatible character encodings: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newEncodingCompatibilityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 5 8: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 context Lorg/jruby/runtime/ThreadContext;
0 9 1 _str Lorg/jruby/runtime/builtin/IRubyObject;
0 9 2 enc Lorg/jcodings/Encoding;
2 9 3 cr I
1 9 4 str Lorg/jruby/RubyString;
5 8 5 e Lorg/jcodings/Encoding;
MethodParameters:
Name Flags
context
_str
enc
public static org.jcodings.Encoding getEncoding(org.jruby.util.ByteList);
descriptor: (Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
aload 0
invokestatic org.jruby.util.io.EncodingUtils.getActualEncoding:(Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
str
public static org.jcodings.Encoding getActualEncoding(org.jcodings.Encoding, org.jruby.util.ByteList);
descriptor: (Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, 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.begin:()I
aload 1
invokevirtual org.jruby.util.ByteList.begin:()I
aload 1
invokevirtual org.jruby.util.ByteList.realSize:()I
iadd
invokestatic org.jruby.util.io.EncodingUtils.getActualEncoding:(Lorg/jcodings/Encoding;[BII)Lorg/jcodings/Encoding;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 enc Lorg/jcodings/Encoding;
0 1 1 byteList Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
enc
byteList
public static org.jcodings.Encoding getActualEncoding(org.jcodings.Encoding, byte[], int, int);
descriptor: (Lorg/jcodings/Encoding;[BII)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jcodings.Encoding.isDummy:()Z
ifeq 19
aload 0
instanceof org.jcodings.unicode.UnicodeEncoding
ifeq 19
1: aload 0
getstatic org.jruby.util.io.EncodingUtils.UTF16Dummy:Lorg/jcodings/Encoding;
if_acmpne 9
iload 3
iload 2
isub
iconst_2
if_icmplt 9
2: aload 1
iload 2
baload
sipush 255
iand
istore 4
start local 4 3: aload 1
iload 2
iconst_1
iadd
baload
sipush 255
iand
istore 5
start local 5 4: iload 4
sipush 254
if_icmpne 6
iload 5
sipush 255
if_icmpne 6
5: getstatic org.jcodings.specific.UTF16BEEncoding.INSTANCE:Lorg/jcodings/specific/UTF16BEEncoding;
areturn
6: StackMap locals: int int
StackMap stack:
iload 4
sipush 255
if_icmpne 8
iload 5
sipush 254
if_icmpne 8
7: getstatic org.jcodings.specific.UTF16LEEncoding.INSTANCE:Lorg/jcodings/specific/UTF16LEEncoding;
areturn
8: StackMap locals:
StackMap stack:
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
areturn
end local 5 end local 4 9: StackMap locals:
StackMap stack:
aload 0
getstatic org.jruby.util.io.EncodingUtils.UTF32Dummy:Lorg/jcodings/Encoding;
if_acmpne 19
iload 3
iload 2
isub
iconst_4
if_icmplt 19
10: aload 1
iload 2
baload
sipush 255
iand
istore 4
start local 4 11: aload 1
iload 2
iconst_1
iadd
baload
sipush 255
iand
istore 5
start local 5 12: aload 1
iload 2
iconst_2
iadd
baload
sipush 255
iand
istore 6
start local 6 13: aload 1
iload 2
iconst_3
iadd
baload
sipush 255
iand
istore 7
start local 7 14: iload 4
ifne 16
iload 5
ifne 16
iload 6
sipush 254
if_icmpne 16
iload 7
sipush 255
if_icmpne 16
15: getstatic org.jcodings.specific.UTF32BEEncoding.INSTANCE:Lorg/jcodings/specific/UTF32BEEncoding;
areturn
16: StackMap locals: org.jcodings.Encoding byte[] int int int int int int
StackMap stack:
iload 7
ifne 18
iload 6
ifne 18
iload 5
sipush 254
if_icmpne 18
iload 4
sipush 255
if_icmpne 18
17: getstatic org.jcodings.specific.UTF32LEEncoding.INSTANCE:Lorg/jcodings/specific/UTF32LEEncoding;
areturn
18: StackMap locals:
StackMap stack:
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
areturn
end local 7 end local 6 end local 5 end local 4 19: StackMap locals: org.jcodings.Encoding byte[] int int
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 enc Lorg/jcodings/Encoding;
0 20 1 bytes [B
0 20 2 p I
0 20 3 end I
3 9 4 c0 I
4 9 5 c1 I
11 19 4 c0 I
12 19 5 c1 I
13 19 6 c2 I
14 19 7 c3 I
MethodParameters:
Name Flags
enc
bytes
p
end
public static org.jcodings.Encoding STR_ENC_GET(org.jruby.util.ByteListHolder);
descriptor: (Lorg/jruby/util/ByteListHolder;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface org.jruby.util.ByteListHolder.getByteList:()Lorg/jruby/util/ByteList;
invokestatic org.jruby.util.io.EncodingUtils.getEncoding:(Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Lorg/jruby/util/ByteListHolder;
MethodParameters:
Name Flags
str
public static org.jruby.RubyString rbStrEscape(org.jruby.Ruby, org.jruby.RubyString);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=17, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
astore 2
start local 2 1: aload 1
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: iload 5
aload 3
invokevirtual org.jruby.util.ByteList.realSize:()I
iadd
istore 6
start local 6 5: iload 5
istore 7
start local 7 6: aload 0
invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
astore 9
start local 9 7: aload 2
invokevirtual org.jcodings.Encoding.isUnicode:()Z
istore 10
start local 10 8: aload 2
invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
istore 11
start local 11 9: goto 53
10: StackMap locals: org.jruby.Ruby org.jruby.RubyString org.jcodings.Encoding org.jruby.util.ByteList byte[] int int int top org.jruby.RubyString int int
StackMap stack:
aload 2
aload 4
iload 5
iload 6
invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
istore 16
start local 16 11: iload 16
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
ifne 22
12: iload 5
iload 7
if_icmple 13
aload 9
aload 4
iload 7
iload 5
iload 7
isub
invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
pop
13: StackMap locals: org.jruby.Ruby org.jruby.RubyString org.jcodings.Encoding org.jruby.util.ByteList byte[] int int int top org.jruby.RubyString int int top top top top int
StackMap stack:
aload 2
invokevirtual org.jcodings.Encoding.minLength:()I
istore 16
14: iload 6
iload 5
iload 16
iadd
if_icmpge 20
15: iload 6
iload 5
isub
istore 16
16: goto 20
17: StackMap locals:
StackMap stack:
ldc "x%02X"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
iload 5
baload
sipush 255
iand
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
astore 8
start local 8 18: aload 9
aload 8
iconst_0
aload 8
arraylength
invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
pop
19: iinc 5 1
iload 5
istore 7
end local 8 20: StackMap locals:
StackMap stack:
iload 16
iinc 16 -1
ifne 17
21: goto 53
22: StackMap locals:
StackMap stack:
iload 16
invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
istore 16
23: aload 2
aload 4
iload 5
iload 6
invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
i2l
lstore 12
start local 12 24: iload 5
iload 16
iadd
istore 5
25: lload 12
l2i
lookupswitch { // 8
7: 38
8: 36
9: 30
10: 26
11: 34
12: 32
13: 28
27: 40
default: 42
}
26: StackMap locals: org.jruby.Ruby org.jruby.RubyString org.jcodings.Encoding org.jruby.util.ByteList byte[] int int int top org.jruby.RubyString int int long top top int
StackMap stack:
ldc 110
lstore 14
start local 14 27: goto 43
end local 14 28: StackMap locals:
StackMap stack:
ldc 114
lstore 14
start local 14 29: goto 43
end local 14 30: StackMap locals:
StackMap stack:
ldc 116
lstore 14
start local 14 31: goto 43
end local 14 32: StackMap locals:
StackMap stack:
ldc 102
lstore 14
start local 14 33: goto 43
end local 14 34: StackMap locals:
StackMap stack:
ldc 118
lstore 14
start local 14 35: goto 43
end local 14 36: StackMap locals:
StackMap stack:
ldc 98
lstore 14
start local 14 37: goto 43
end local 14 38: StackMap locals:
StackMap stack:
ldc 97
lstore 14
start local 14 39: goto 43
end local 14 40: StackMap locals:
StackMap stack:
ldc 101
lstore 14
start local 14 41: goto 43
end local 14 42: StackMap locals:
StackMap stack:
lconst_0
lstore 14
start local 14 43: StackMap locals: org.jruby.Ruby org.jruby.RubyString org.jcodings.Encoding org.jruby.util.ByteList byte[] int int int top org.jruby.RubyString int int long long int
StackMap stack:
lload 14
lconst_0
lcmp
ifeq 49
44: iload 5
iload 16
isub
iload 7
if_icmple 45
aload 9
aload 4
iload 7
iload 5
iload 16
isub
iload 7
isub
invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
pop
45: StackMap locals:
StackMap stack:
iconst_2
newarray 8
dup
iconst_0
bipush 92
bastore
dup
iconst_1
lload 14
l2i
i2b
bastore
astore 8
start local 8 46: aload 9
aload 8
iconst_0
iconst_2
invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
pop
47: iload 5
istore 7
48: goto 53
end local 8 StackMap locals:
StackMap stack:
49: iload 11
ifeq 50
lload 12
l2i
i2b
invokestatic org.jcodings.Encoding.isAscii:(B)Z
ifeq 50
lload 12
ldc 31
lcmp
ifgt 53
50: StackMap locals:
StackMap stack:
iload 5
iload 16
isub
iload 7
if_icmple 51
aload 9
aload 4
iload 7
iload 5
iload 16
isub
iload 7
isub
invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
pop
51: StackMap locals:
StackMap stack:
aload 9
lload 12
iload 10
invokestatic org.jruby.util.io.EncodingUtils.rbStrBufCatEscapedChar:(Lorg/jruby/RubyString;JZ)I
pop
52: iload 5
istore 7
end local 16 end local 14 end local 12 53: StackMap locals:
StackMap stack:
iload 5
iload 6
if_icmplt 10
54: iload 5
iload 7
if_icmple 55
aload 9
aload 4
iload 7
iload 5
iload 7
isub
invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
pop
55: StackMap locals:
StackMap stack:
aload 9
getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
bipush 16
invokevirtual org.jruby.RubyString.setEncodingAndCodeRange:(Lorg/jcodings/Encoding;I)V
56: aload 9
aload 1
invokevirtual org.jruby.RubyString.isTaint:()Z
invokevirtual org.jruby.RubyString.setTaint:(Z)V
57: aload 9
areturn
end local 11 end local 10 end local 9 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 runtime Lorg/jruby/Ruby;
0 58 1 str Lorg/jruby/RubyString;
1 58 2 enc Lorg/jcodings/Encoding;
2 58 3 pByteList Lorg/jruby/util/ByteList;
3 58 4 pBytes [B
4 58 5 p I
5 58 6 pend I
6 58 7 prev I
18 20 8 buf [B
46 49 8 buf [B
7 58 9 result Lorg/jruby/RubyString;
8 58 10 unicode_p Z
9 58 11 asciicompat Z
24 53 12 c J
27 28 14 cc J
29 30 14 cc J
31 32 14 cc J
33 34 14 cc J
35 36 14 cc J
37 38 14 cc J
39 40 14 cc J
41 42 14 cc J
43 53 14 cc J
11 53 16 n I
MethodParameters:
Name Flags
runtime
str
public static int rbStrBufCatEscapedChar(org.jruby.RubyString, long, boolean);
descriptor: (Lorg/jruby/RubyString;JZ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
ldc -1
land
lstore 1
1: iload 3
ifeq 10
2: lload 1
ldc 127
lcmp
ifge 5
lload 1
ldc 31
lcmp
ifle 5
3: ldc "%c"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 1
l2i
i2c
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
astore 4
start local 4 4: goto 14
end local 4 5: StackMap locals:
StackMap stack:
lload 1
ldc 65536
lcmp
ifge 8
6: ldc "\\u%04X"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
astore 4
start local 4 7: goto 14
end local 4 8: StackMap locals:
StackMap stack:
ldc "\\u{%X}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
astore 4
start local 4 9: goto 14
end local 4 10: StackMap locals:
StackMap stack:
lload 1
ldc 256
lcmp
ifge 13
11: ldc "\\x{%02X}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
astore 4
start local 4 12: goto 14
end local 4 13: StackMap locals:
StackMap stack:
ldc "\\x{%X}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
astore 4
start local 4 14: StackMap locals: byte[]
StackMap stack:
aload 0
aload 4
invokevirtual org.jruby.RubyString.cat:([B)Lorg/jruby/RubyString;
pop
15: aload 4
arraylength
ireturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 result Lorg/jruby/RubyString;
0 16 1 c J
0 16 3 unicode_p Z
4 5 4 buf [B
7 8 4 buf [B
9 10 4 buf [B
12 13 4 buf [B
14 16 4 buf [B
MethodParameters:
Name Flags
result
c
unicode_p
public static java.nio.charset.Charset charsetForEncoding(org.jcodings.Encoding);
descriptor: (Lorg/jcodings/Encoding;)Ljava/nio/charset/Charset;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jcodings.Encoding.getCharset:()Ljava/nio/charset/Charset;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
invokevirtual org.jcodings.Encoding.toString:()Ljava/lang/String;
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 1
3: StackMap locals: java.nio.charset.Charset
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 enc Lorg/jcodings/Encoding;
1 4 1 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
enc
public static int encCodelen(org.jruby.runtime.ThreadContext, int, org.jcodings.Encoding);
descriptor: (Lorg/jruby/runtime/ThreadContext;ILorg/jcodings/Encoding;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iload 1
invokevirtual org.jcodings.Encoding.codeToMbcLength:(I)I
istore 3
start local 3 1: iload 3
ifne 3
2: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "invalid codepoint "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
i2l
ldc 4294967295
land
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lorg/jruby/runtime/ThreadContext;
0 4 1 c I
0 4 2 enc Lorg/jcodings/Encoding;
1 4 3 n I
MethodParameters:
Name Flags
context
c
enc
public static org.jcodings.Encoding ioStripBOM(org.jruby.RubyIO);
descriptor: (Lorg/jruby/RubyIO;)Lorg/jcodings/Encoding;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyIO.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 0
invokestatic org.jruby.util.io.EncodingUtils.ioStripBOM:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyIO;)Lorg/jcodings/Encoding;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 io Lorg/jruby/RubyIO;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
io
static int[] $SWITCH_TABLE$org$jcodings$transcode$EConvResult();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.util.io.EncodingUtils.$SWITCH_TABLE$org$jcodings$transcode$EConvResult:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.jcodings.transcode.EConvResult.values:()[Lorg/jcodings/transcode/EConvResult;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.jcodings.transcode.EConvResult.AfterOutput:Lorg/jcodings/transcode/EConvResult;
invokevirtual org.jcodings.transcode.EConvResult.ordinal:()I
bipush 6
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.jcodings.transcode.EConvResult.DestinationBufferFull:Lorg/jcodings/transcode/EConvResult;
invokevirtual org.jcodings.transcode.EConvResult.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.jcodings.transcode.EConvResult.Finished:Lorg/jcodings/transcode/EConvResult;
invokevirtual org.jcodings.transcode.EConvResult.ordinal:()I
iconst_5
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.jcodings.transcode.EConvResult.IncompleteInput:Lorg/jcodings/transcode/EConvResult;
invokevirtual org.jcodings.transcode.EConvResult.ordinal:()I
bipush 7
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.jcodings.transcode.EConvResult.InvalidByteSequence:Lorg/jcodings/transcode/EConvResult;
invokevirtual org.jcodings.transcode.EConvResult.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.jcodings.transcode.EConvResult.SourceBufferEmpty:Lorg/jcodings/transcode/EConvResult;
invokevirtual org.jcodings.transcode.EConvResult.ordinal:()I
iconst_4
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.jcodings.transcode.EConvResult.UndefinedConversion:Lorg/jcodings/transcode/EConvResult;
invokevirtual org.jcodings.transcode.EConvResult.ordinal:()I
iconst_2
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic org.jruby.util.io.EncodingUtils.$SWITCH_TABLE$org$jcodings$transcode$EConvResult:[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
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
}
SourceFile: "EncodingUtils.java"
NestMembers:
org.jruby.util.io.EncodingUtils$1 org.jruby.util.io.EncodingUtils$2 org.jruby.util.io.EncodingUtils$3 org.jruby.util.io.EncodingUtils$4 org.jruby.util.io.EncodingUtils$5 org.jruby.util.io.EncodingUtils$6 org.jruby.util.io.EncodingUtils$AbstractTranscodeFallback org.jruby.util.io.EncodingUtils$ResizeFunction org.jruby.util.io.EncodingUtils$TranscodeFallback
InnerClasses:
public final Entry = org.jcodings.EncodingDB$Entry of org.jcodings.EncodingDB
public final EConvElement = org.jcodings.transcode.EConv$EConvElement of org.jcodings.transcode.EConv
public final LastError = org.jcodings.transcode.EConv$LastError of org.jcodings.transcode.EConv
public final Entry = org.jcodings.transcode.TranscoderDB$Entry of org.jcodings.transcode.TranscoderDB
public abstract SearchPathCallback = org.jcodings.transcode.TranscoderDB$SearchPathCallback of org.jcodings.transcode.TranscoderDB
org.jruby.util.io.EncodingUtils$1
org.jruby.util.io.EncodingUtils$2
org.jruby.util.io.EncodingUtils$3
org.jruby.util.io.EncodingUtils$4
org.jruby.util.io.EncodingUtils$5
org.jruby.util.io.EncodingUtils$6
private abstract AbstractTranscodeFallback = org.jruby.util.io.EncodingUtils$AbstractTranscodeFallback of org.jruby.util.io.EncodingUtils
public abstract ResizeFunction = org.jruby.util.io.EncodingUtils$ResizeFunction of org.jruby.util.io.EncodingUtils
public abstract TranscodeFallback = org.jruby.util.io.EncodingUtils$TranscodeFallback of org.jruby.util.io.EncodingUtils