class org.jruby.RubyArray$6 implements org.jruby.RubyEnumerator$SizeFn
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.jruby.RubyArray$6
super_class: java.lang.Object
{
org.jruby.runtime.CallSite op_times;
descriptor: Lorg/jruby/runtime/CallSite;
flags: (0x0000)
final org.jruby.RubyArray this$0;
descriptor: Lorg/jruby/RubyArray;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.jruby.RubyArray, org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/RubyArray;Lorg/jruby/runtime/ThreadContext;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // org.jruby.RubyArray$6 this
0: .line 3852
aload 0 /* this */
aload 1
putfield org.jruby.RubyArray$6.this$0:Lorg/jruby/RubyArray;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3853
aload 0 /* this */
aload 2
invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
getfield org.jruby.runtime.JavaSites$ArraySites.op_times:Lorg/jruby/runtime/CallSite;
putfield org.jruby.RubyArray$6.op_times:Lorg/jruby/runtime/CallSite;
2: .line 3852
return
end local 0 // org.jruby.RubyArray$6 this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyArray$6;
MethodParameters:
Name Flags
this$0 final
val$context final
public org.jruby.runtime.builtin.IRubyObject size(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: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=3
start local 0 // org.jruby.RubyArray$6 this
start local 1 // org.jruby.runtime.ThreadContext context
start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
0: .line 3856
aload 1 /* context */
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3 /* runtime */
start local 3 // org.jruby.Ruby runtime
1: .line 3857
aload 1 /* context */
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 4 /* n */
start local 4 // org.jruby.runtime.builtin.IRubyObject n
2: .line 3859
aload 0 /* this */
getfield org.jruby.RubyArray$6.this$0:Lorg/jruby/RubyArray;
getfield org.jruby.RubyArray.realLength:I
ifne 4
3: .line 3860
aload 3 /* runtime */
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
4: .line 3863
StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2 /* args */
ifnull 6
aload 2 /* args */
arraylength
ifle 6
5: .line 3864
aload 2 /* args */
iconst_0
aaload
astore 4 /* n */
6: .line 3867
StackMap locals:
StackMap stack:
aload 4 /* n */
ifnull 7
aload 4 /* n */
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 8
7: .line 3868
StackMap locals:
StackMap stack:
aload 3 /* runtime */
ldc Infinity
invokestatic org.jruby.RubyFloat.newFloat:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyFloat;
areturn
8: .line 3871
StackMap locals:
StackMap stack:
aload 4 /* n */
invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
lstore 5 /* multiple */
start local 5 // long multiple
9: .line 3872
lload 5 /* multiple */
lconst_0
lcmp
ifgt 11
10: .line 3873
aload 3 /* runtime */
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
11: .line 3876
StackMap locals: long
StackMap stack:
aload 0 /* this */
getfield org.jruby.RubyArray$6.this$0:Lorg/jruby/RubyArray;
invokevirtual org.jruby.RubyArray.length:()Lorg/jruby/RubyFixnum;
astore 7 /* length */
start local 7 // org.jruby.RubyFixnum length
12: .line 3877
aload 0 /* this */
getfield org.jruby.RubyArray$6.op_times:Lorg/jruby/runtime/CallSite;
aload 1 /* context */
aload 7 /* length */
aload 7 /* length */
aload 3 /* runtime */
lload 5 /* multiple */
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 7 // org.jruby.RubyFixnum length
end local 5 // long multiple
end local 4 // org.jruby.runtime.builtin.IRubyObject n
end local 3 // org.jruby.Ruby runtime
end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
end local 1 // org.jruby.runtime.ThreadContext context
end local 0 // org.jruby.RubyArray$6 this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/RubyArray$6;
0 13 1 context Lorg/jruby/runtime/ThreadContext;
0 13 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 13 3 runtime Lorg/jruby/Ruby;
2 13 4 n Lorg/jruby/runtime/builtin/IRubyObject;
9 13 5 multiple J
12 13 7 length Lorg/jruby/RubyFixnum;
MethodParameters:
Name Flags
context
args
}
SourceFile: "RubyArray.java"
EnclosingMethod: org.jruby.RubyArray.cycleSizeFn:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
NestHost: org.jruby.RubyArray
InnerClasses:
org.jruby.RubyArray$6
public abstract SizeFn = org.jruby.RubyEnumerator$SizeFn of org.jruby.RubyEnumerator
public ArraySites = org.jruby.runtime.JavaSites$ArraySites of org.jruby.runtime.JavaSites