public class org.jruby.specialized.RubyArrayTwoObject extends org.jruby.specialized.RubyArraySpecialized
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.specialized.RubyArrayTwoObject
super_class: org.jruby.specialized.RubyArraySpecialized
{
private org.jruby.runtime.builtin.IRubyObject car;
descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
private org.jruby.runtime.builtin.IRubyObject cdr;
descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
public void <init>(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iconst_0
invokespecial org.jruby.specialized.RubyArraySpecialized.<init>:(Lorg/jruby/Ruby;Z)V
1: aload 0
aload 2
putfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
2: aload 0
aload 3
putfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
3: aload 0
iconst_2
putfield org.jruby.specialized.RubyArrayTwoObject.realLength:I
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 5 1 runtime Lorg/jruby/Ruby;
0 5 2 car Lorg/jruby/runtime/builtin/IRubyObject;
0 5 3 cdr Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime
car
cdr
public void <init>(org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iconst_0
invokespecial org.jruby.specialized.RubyArraySpecialized.<init>:(Lorg/jruby/RubyClass;Z)V
1: aload 0
aload 2
putfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
2: aload 0
aload 3
putfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
3: aload 0
iconst_2
putfield org.jruby.specialized.RubyArrayTwoObject.realLength:I
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 5 1 otherClass Lorg/jruby/RubyClass;
0 5 2 car Lorg/jruby/runtime/builtin/IRubyObject;
0 5 3 cdr Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
otherClass
car
cdr
void <init>(org.jruby.specialized.RubyArrayTwoObject);
descriptor: (Lorg/jruby/specialized/RubyArrayTwoObject;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.specialized.RubyArrayTwoObject.getMetaClass:()Lorg/jruby/RubyClass;
aload 1
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
aload 1
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 2 1 other Lorg/jruby/specialized/RubyArrayTwoObject;
MethodParameters:
Name Flags
other
void <init>(org.jruby.RubyClass, org.jruby.specialized.RubyArrayTwoObject);
descriptor: (Lorg/jruby/RubyClass;Lorg/jruby/specialized/RubyArrayTwoObject;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 2 1 metaClass Lorg/jruby/RubyClass;
0 2 2 other Lorg/jruby/specialized/RubyArrayTwoObject;
MethodParameters:
Name Flags
metaClass
other
public final org.jruby.runtime.builtin.IRubyObject eltInternal(int);
descriptor: (I)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
iload 1
invokespecial org.jruby.specialized.RubyArraySpecialized.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
iload 1
ifne 2
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpne 3
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals:
StackMap stack:
new java.lang.ArrayIndexOutOfBoundsException
dup
iload 1
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 4 1 index I
MethodParameters:
Name Flags
index
public final org.jruby.runtime.builtin.IRubyObject eltInternalSet(int, org.jruby.runtime.builtin.IRubyObject);
descriptor: (ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
iload 1
aload 2
invokespecial org.jruby.specialized.RubyArraySpecialized.eltInternalSet:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
iload 1
ifne 2
aload 0
aload 2
dup_x1
putfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpne 3
aload 0
aload 2
dup_x1
putfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals:
StackMap stack:
new java.lang.ArrayIndexOutOfBoundsException
dup
iload 1
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 4 1 index I
0 4 2 value Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
index
value
protected void finishUnpack(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
dup_x1
putfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 2 1 nil Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
nil
public org.jruby.RubyArray aryDup();
descriptor: ()Lorg/jruby/RubyArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
invokespecial org.jruby.specialized.RubyArraySpecialized.aryDup:()Lorg/jruby/RubyArray;
areturn
1: StackMap locals:
StackMap stack:
new org.jruby.specialized.RubyArrayTwoObject
dup
aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
aload 0
invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/RubyClass;Lorg/jruby/specialized/RubyArrayTwoObject;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
public org.jruby.runtime.builtin.IRubyObject rb_clear();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
invokespecial org.jruby.specialized.RubyArraySpecialized.rb_clear:()Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.modifyCheck:()V
2: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
astore 1
start local 1 3: aload 0
aload 0
aload 1
dup_x1
putfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
4: aload 0
getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.specialized.RubyArrayTwoObject.values:[Lorg/jruby/runtime/builtin/IRubyObject;
5: aload 0
iconst_0
putfield org.jruby.specialized.RubyArrayTwoObject.realLength:I
6: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
3 7 1 nil Lorg/jruby/runtime/builtin/IRubyObject;
public void copyInto(org.jruby.runtime.builtin.IRubyObject[], int);
descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 3
1: aload 0
aload 1
iload 2
invokespecial org.jruby.specialized.RubyArraySpecialized.copyInto:([Lorg/jruby/runtime/builtin/IRubyObject;I)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
iload 2
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
4: aload 1
iload 2
iconst_1
iadd
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 6 1 target [Lorg/jruby/runtime/builtin/IRubyObject;
0 6 2 start I
MethodParameters:
Name Flags
target
start
public void copyInto(org.jruby.runtime.builtin.IRubyObject[], int, int);
descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 3
1: aload 0
aload 1
iload 2
iload 3
invokespecial org.jruby.specialized.RubyArraySpecialized.copyInto:([Lorg/jruby/runtime/builtin/IRubyObject;II)V
2: return
3: StackMap locals:
StackMap stack:
iload 3
iconst_2
if_icmpeq 7
4: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.unpack:()V
5: aload 0
aload 1
iload 2
iload 3
invokespecial org.jruby.specialized.RubyArraySpecialized.copyInto:([Lorg/jruby/runtime/builtin/IRubyObject;II)V
6: return
7: StackMap locals:
StackMap stack:
aload 1
iload 2
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
8: aload 1
iload 2
iconst_1
iadd
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 10 1 target [Lorg/jruby/runtime/builtin/IRubyObject;
0 10 2 start I
0 10 3 len I
MethodParameters:
Name Flags
target
start
len
protected org.jruby.RubyArray dupImpl(org.jruby.Ruby, org.jruby.RubyClass);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
aload 1
aload 2
invokespecial org.jruby.specialized.RubyArraySpecialized.dupImpl:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
areturn
1: StackMap locals:
StackMap stack:
new org.jruby.specialized.RubyArrayTwoObject
dup
aload 2
aload 0
invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/RubyClass;Lorg/jruby/specialized/RubyArrayTwoObject;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 2 1 runtime Lorg/jruby/Ruby;
0 2 2 metaClass Lorg/jruby/RubyClass;
MethodParameters:
Name Flags
runtime
metaClass
public boolean includes(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
aload 1
aload 2
invokespecial org.jruby.specialized.RubyArraySpecialized.includes:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ireturn
1: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
invokestatic org.jruby.specialized.RubyArrayTwoObject.equalInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 2
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
invokestatic org.jruby.specialized.RubyArrayTwoObject.equalInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 3
iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 item Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
item
public int indexOf(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
aload 1
invokespecial org.jruby.specialized.RubyArraySpecialized.indexOf:(Ljava/lang/Object;)I
ireturn
1: StackMap locals:
StackMap stack:
aload 1
ifnull 5
2: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.getRuntime:()Lorg/jruby/Ruby;
aload 1
invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
start local 2 3: aload 2
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
iconst_0
ireturn
4: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 5
iconst_1
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 6 1 element Ljava/lang/Object;
3 5 2 convertedElement Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
element
protected org.jruby.runtime.builtin.IRubyObject inspectAry(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
aload 1
invokespecial org.jruby.specialized.RubyArraySpecialized.inspectAry:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 2: aload 2
bipush 10
getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
astore 3
start local 3 3: aload 3
bipush 91
invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
pop
4: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.isTaint:()Z
istore 4
start local 4 5: aload 1
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.specialized.RubyArrayTwoObject.inspect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
astore 5
start local 5 6: aload 1
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.specialized.RubyArrayTwoObject.inspect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
astore 6
start local 6 7: aload 5
invokevirtual org.jruby.RubyString.isTaint:()Z
ifeq 8
iconst_1
istore 4
goto 9
8: StackMap locals: org.jruby.specialized.RubyArrayTwoObject org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.RubyString int org.jruby.RubyString org.jruby.RubyString
StackMap stack:
aload 3
aload 5
invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
9: StackMap locals:
StackMap stack:
aload 3
aload 5
invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
pop
10: aload 3
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 7
start local 7 11: aload 7
iconst_2
aload 6
invokevirtual org.jruby.RubyString.size:()I
iadd
iconst_1
iadd
invokevirtual org.jruby.util.ByteList.ensure:(I)V
12: aload 7
bipush 44
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
bipush 32
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
13: aload 6
invokevirtual org.jruby.RubyString.isTaint:()Z
ifeq 14
iconst_1
istore 4
goto 15
14: StackMap locals: org.jruby.util.ByteList
StackMap stack:
aload 3
aload 6
invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
15: StackMap locals:
StackMap stack:
aload 3
aload 6
invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
pop
16: aload 3
bipush 93
invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
pop
17: iload 4
ifeq 18
aload 3
iconst_1
invokevirtual org.jruby.RubyString.setTaint:(Z)V
18: StackMap locals:
StackMap stack:
aload 3
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 19 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 19 1 context Lorg/jruby/runtime/ThreadContext;
2 19 2 runtime Lorg/jruby/Ruby;
3 19 3 str Lorg/jruby/RubyString;
5 19 4 tainted Z
6 19 5 s1 Lorg/jruby/RubyString;
7 19 6 s2 Lorg/jruby/RubyString;
11 19 7 bytes Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
context
protected org.jruby.runtime.builtin.IRubyObject internalRotate(org.jruby.runtime.ThreadContext, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
aload 1
iload 2
invokespecial org.jruby.specialized.RubyArraySpecialized.internalRotate:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
iload 2
iconst_2
irem
iconst_1
if_icmpne 2
new org.jruby.specialized.RubyArrayTwoObject
dup
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
areturn
2: StackMap locals:
StackMap stack:
new org.jruby.specialized.RubyArrayTwoObject
dup
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 cnt I
MethodParameters:
Name Flags
context
cnt
protected org.jruby.runtime.builtin.IRubyObject internalRotateBang(org.jruby.runtime.ThreadContext, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
aload 1
iload 2
invokespecial org.jruby.specialized.RubyArraySpecialized.internalRotateBang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.modifyCheck:()V
2: iload 2
iconst_2
irem
iconst_1
if_icmpne 6
3: aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 4: aload 0
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
5: aload 0
aload 3
putfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
end local 3 6: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 cnt I
4 6 3 tmp Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
cnt
public org.jruby.runtime.builtin.IRubyObject op_plus(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
aload 1
invokespecial org.jruby.specialized.RubyArraySpecialized.op_plus:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
astore 2
start local 2 2: aload 2
invokevirtual org.jruby.RubyArray.size:()I
ifne 3
new org.jruby.specialized.RubyArrayTwoObject
dup
aload 0
invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/specialized/RubyArrayTwoObject;)V
areturn
3: StackMap locals: org.jruby.RubyArray
StackMap stack:
aload 0
aload 2
invokespecial org.jruby.specialized.RubyArraySpecialized.op_plus:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 4 1 obj Lorg/jruby/runtime/builtin/IRubyObject;
2 4 2 y Lorg/jruby/RubyArray;
MethodParameters:
Name Flags
obj
public org.jruby.runtime.builtin.IRubyObject replace(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
aload 1
invokespecial org.jruby.specialized.RubyArraySpecialized.replace:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.modifyCheck:()V
2: aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
astore 2
start local 2 3: aload 0
aload 1
if_acmpne 4
aload 0
areturn
4: StackMap locals: org.jruby.RubyArray
StackMap stack:
aload 2
invokevirtual org.jruby.RubyArray.size:()I
iconst_2
if_icmpne 8
5: aload 0
aload 2
iconst_0
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
6: aload 0
aload 2
iconst_1
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
7: aload 0
areturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.unpack:()V
9: aload 0
aload 2
invokespecial org.jruby.specialized.RubyArraySpecialized.replace:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 10 1 orig Lorg/jruby/runtime/builtin/IRubyObject;
3 10 2 origArr Lorg/jruby/RubyArray;
MethodParameters:
Name Flags
orig
public org.jruby.runtime.builtin.IRubyObject reverse_bang();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
invokespecial org.jruby.specialized.RubyArraySpecialized.reverse_bang:()Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
astore 1
start local 1 2: aload 0
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
3: aload 0
aload 1
putfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
4: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
2 5 1 tmp Lorg/jruby/runtime/builtin/IRubyObject;
protected org.jruby.RubyArray safeReverse();
descriptor: ()Lorg/jruby/RubyArray;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
invokespecial org.jruby.specialized.RubyArraySpecialized.safeReverse:()Lorg/jruby/RubyArray;
areturn
1: StackMap locals:
StackMap stack:
new org.jruby.specialized.RubyArrayTwoObject
dup
aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.getMetaClass:()Lorg/jruby/RubyClass;
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
protected org.jruby.runtime.builtin.IRubyObject sortInternal(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
aload 1
aload 2
invokespecial org.jruby.specialized.RubyArraySpecialized.sortInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
aload 2
aload 1
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.specialized.RubyArrayTwoObject.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
aconst_null
invokevirtual org.jruby.runtime.Block.yieldArray:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 2: aload 1
aload 3
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyComparable.cmpint:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 4
start local 4 3: iload 4
ifle 4
aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.reverse_bang:()Lorg/jruby/runtime/builtin/IRubyObject;
pop
4: StackMap locals: org.jruby.runtime.builtin.IRubyObject int
StackMap stack:
aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 5 1 context Lorg/jruby/runtime/ThreadContext;
0 5 2 block Lorg/jruby/runtime/Block;
2 5 3 ret Lorg/jruby/runtime/builtin/IRubyObject;
3 5 4 compare I
MethodParameters:
Name Flags
context
block
protected org.jruby.runtime.builtin.IRubyObject sortInternal(org.jruby.runtime.ThreadContext, boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
aload 1
iload 2
invokespecial org.jruby.specialized.RubyArraySpecialized.sortInternal:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 2: aload 1
invokestatic org.jruby.specialized.RubyArrayTwoObject.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$Array2Sites;
astore 4
start local 4 3: iload 2
ifeq 4
aload 4
getfield org.jruby.runtime.JavaSites$Array2Sites.op_cmp_fixnum:Lorg/jruby/runtime/callsite/CachingCallSite;
aload 3
invokevirtual org.jruby.Ruby.getFixnum:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.runtime.callsite.CachingCallSite.retrieveCache:(Lorg/jruby/RubyClass;)Lorg/jruby/runtime/callsite/CacheEntry;
getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isBuiltin:()Z
ifne 4
iconst_0
goto 5
StackMap locals: org.jruby.Ruby org.jruby.runtime.JavaSites$Array2Sites
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: istore 5
start local 5 6: iload 2
ifeq 7
aload 4
getfield org.jruby.runtime.JavaSites$Array2Sites.op_cmp_string:Lorg/jruby/runtime/callsite/CachingCallSite;
aload 3
invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.runtime.callsite.CachingCallSite.retrieveCache:(Lorg/jruby/RubyClass;)Lorg/jruby/runtime/callsite/CacheEntry;
getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isBuiltin:()Z
ifne 7
iconst_0
goto 8
StackMap locals: int
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: istore 6
start local 6 9: aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 10: aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
start local 8 11: iload 5
ifeq 14
aload 7
instanceof org.jruby.RubyFixnum
ifeq 14
aload 8
instanceof org.jruby.RubyFixnum
ifeq 14
12: aload 7
checkcast org.jruby.RubyFixnum
aload 8
checkcast org.jruby.RubyFixnum
invokestatic org.jruby.specialized.RubyArrayTwoObject.compareFixnums:(Lorg/jruby/RubyFixnum;Lorg/jruby/RubyFixnum;)I
istore 9
start local 9 13: goto 18
end local 9 StackMap locals: int org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
14: iload 6
ifeq 17
aload 7
instanceof org.jruby.RubyString
ifeq 17
aload 8
instanceof org.jruby.RubyString
ifeq 17
15: aload 7
checkcast org.jruby.RubyString
aload 8
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.op_cmp:(Lorg/jruby/RubyString;)I
istore 9
start local 9 16: goto 18
end local 9 17: StackMap locals:
StackMap stack:
aload 1
aload 7
aload 8
invokestatic org.jruby.specialized.RubyArrayTwoObject.compareOthers:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 9
start local 9 18: StackMap locals: int
StackMap stack:
iload 9
ifle 19
aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.reverse_bang:()Lorg/jruby/runtime/builtin/IRubyObject;
pop
19: StackMap locals:
StackMap stack:
aload 0
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 20 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 20 1 context Lorg/jruby/runtime/ThreadContext;
0 20 2 honorOverride Z
2 20 3 runtime Lorg/jruby/Ruby;
3 20 4 sites Lorg/jruby/runtime/JavaSites$Array2Sites;
6 20 5 fixnumBypass Z
9 20 6 stringBypass Z
10 20 7 o1 Lorg/jruby/runtime/builtin/IRubyObject;
11 20 8 o2 Lorg/jruby/runtime/builtin/IRubyObject;
13 14 9 compare I
16 17 9 compare I
18 20 9 compare I
MethodParameters:
Name Flags
context final
honorOverride
protected void storeInternal(int, org.jruby.runtime.builtin.IRubyObject);
descriptor: (ILorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifeq 5
1: iload 1
tableswitch { // 0 - 1
0: 2
1: 3
default: 4
}
2: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
return
3: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
return
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.unpack:()V
5: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
invokespecial org.jruby.specialized.RubyArraySpecialized.storeInternal:(ILorg/jruby/runtime/builtin/IRubyObject;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 7 1 index I
0 7 2 value Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
index final
value final
public org.jruby.runtime.builtin.IRubyObject subseq(org.jruby.RubyClass, long, long, boolean);
descriptor: (Lorg/jruby/RubyClass;JJZ)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
aload 1
lload 2
lload 4
iload 6
invokespecial org.jruby.specialized.RubyArraySpecialized.subseq:(Lorg/jruby/RubyClass;JJZ)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.getRuntime:()Lorg/jruby/Ruby;
astore 7
start local 7 2: lload 2
ldc 2
lcmp
ifgt 3
lload 2
lconst_0
lcmp
iflt 3
lload 4
lconst_0
lcmp
ifge 4
StackMap locals: org.jruby.Ruby
StackMap stack:
3: aload 7
invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
areturn
4: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifeq 5
lload 2
ldc 2
lcmp
ifne 6
StackMap locals:
StackMap stack:
5: new org.jruby.RubyArray
dup
aload 7
aload 1
getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[Lorg/jruby/runtime/builtin/IRubyObject;)V
areturn
6: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifne 9
7: lload 4
lconst_1
lcmp
ifne 8
new org.jruby.specialized.RubyArrayOneObject
dup
aload 1
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
invokespecial org.jruby.specialized.RubyArrayOneObject.<init>:(Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)V
areturn
8: StackMap locals:
StackMap stack:
new org.jruby.specialized.RubyArrayTwoObject
dup
aload 1
aload 0
invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/RubyClass;Lorg/jruby/specialized/RubyArrayTwoObject;)V
areturn
9: StackMap locals:
StackMap stack:
new org.jruby.specialized.RubyArrayOneObject
dup
aload 1
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
invokespecial org.jruby.specialized.RubyArrayOneObject.<init>:(Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)V
areturn
end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 10 1 metaClass Lorg/jruby/RubyClass;
0 10 2 beg J
0 10 4 len J
0 10 6 light Z
2 10 7 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
metaClass
beg
len
light
public org.jruby.runtime.builtin.IRubyObject[] toJavaArray();
descriptor: ()[Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
invokespecial org.jruby.specialized.RubyArraySpecialized.toJavaArray:()[Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
invokestatic org.jruby.runtime.Helpers.arrayOf:(Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)[Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
public org.jruby.runtime.builtin.IRubyObject uniq(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.packed:()Z
ifne 1
aload 0
aload 1
invokespecial org.jruby.specialized.RubyArraySpecialized.uniq:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
getstatic org.jruby.runtime.invokedynamic.MethodNames.HASH:Lorg/jruby/runtime/invokedynamic/MethodNames;
invokestatic org.jruby.runtime.Helpers.invokedynamic:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/invokedynamic/MethodNames;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 1
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
getstatic org.jruby.runtime.invokedynamic.MethodNames.HASH:Lorg/jruby/runtime/invokedynamic/MethodNames;
invokestatic org.jruby.runtime.Helpers.invokedynamic:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/invokedynamic/MethodNames;)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
2: aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpeq 3
aload 1
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.car:Lorg/jruby/runtime/builtin/IRubyObject;
getstatic org.jruby.runtime.invokedynamic.MethodNames.EQL:Lorg/jruby/runtime/invokedynamic/MethodNames;
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.runtime.Helpers.invokedynamic:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/invokedynamic/MethodNames;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 4
3: StackMap locals:
StackMap stack:
new org.jruby.specialized.RubyArrayOneObject
dup
aload 0
invokevirtual org.jruby.specialized.RubyArrayTwoObject.getMetaClass:()Lorg/jruby/RubyClass;
aload 0
getfield org.jruby.specialized.RubyArrayTwoObject.cdr:Lorg/jruby/runtime/builtin/IRubyObject;
invokespecial org.jruby.specialized.RubyArrayOneObject.<init>:(Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)V
areturn
4: StackMap locals:
StackMap stack:
new org.jruby.specialized.RubyArrayTwoObject
dup
aload 0
invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/specialized/RubyArrayTwoObject;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/specialized/RubyArrayTwoObject;
0 5 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
private static final org.jruby.runtime.JavaSites$Array2Sites sites(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$Array2Sites;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
getfield org.jruby.runtime.JavaSites.Array2:Lorg/jruby/runtime/JavaSites$Array2Sites;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
}
SourceFile: "RubyArrayTwoObject.java"
InnerClasses:
public Array2Sites = org.jruby.runtime.JavaSites$Array2Sites of org.jruby.runtime.JavaSites