final class org.jruby.RubyModule$Autoload
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.jruby.RubyModule$Autoload
super_class: java.lang.Object
{
private volatile org.jruby.runtime.ThreadContext ctx;
descriptor: Lorg/jruby/runtime/ThreadContext;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.lang.Object ctxLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile org.jruby.runtime.builtin.IRubyObject value;
descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final org.jruby.RubyModule$AutoloadMethod loadMethod;
descriptor: Lorg/jruby/RubyModule$AutoloadMethod;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(org.jruby.RubyModule$AutoloadMethod);
descriptor: (Lorg/jruby/RubyModule$AutoloadMethod;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield org.jruby.RubyModule$Autoload.ctxLock:Ljava/lang/Object;
2: aload 0
aconst_null
putfield org.jruby.RubyModule$Autoload.ctx:Lorg/jruby/runtime/ThreadContext;
3: aload 0
aconst_null
putfield org.jruby.RubyModule$Autoload.value:Lorg/jruby/runtime/builtin/IRubyObject;
4: aload 0
aload 1
putfield org.jruby.RubyModule$Autoload.loadMethod:Lorg/jruby/RubyModule$AutoloadMethod;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/RubyModule$Autoload;
0 6 1 loadMethod Lorg/jruby/RubyModule$AutoloadMethod;
MethodParameters:
Name Flags
loadMethod
org.jruby.runtime.builtin.IRubyObject getConstant(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyModule$Autoload.ctxLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield org.jruby.RubyModule$Autoload.ctx:Lorg/jruby/runtime/ThreadContext;
ifnonnull 4
2: aload 0
aload 1
putfield org.jruby.RubyModule$Autoload.ctx:Lorg/jruby/runtime/ThreadContext;
3: goto 7
StackMap locals: java.lang.Object
StackMap stack:
4: aload 0
aload 1
invokevirtual org.jruby.RubyModule$Autoload.isSelf:(Lorg/jruby/runtime/ThreadContext;)Z
ifeq 7
5: aload 0
invokevirtual org.jruby.RubyModule$Autoload.getValue:()Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
monitorexit
6: areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyModule$Autoload.loadMethod:Lorg/jruby/RubyModule$AutoloadMethod;
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokeinterface org.jruby.RubyModule$AutoloadMethod.load:(Lorg/jruby/Ruby;)V
8: aload 2
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 2
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyModule$Autoload.getValue:()Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/RubyModule$Autoload;
0 13 1 ctx Lorg/jruby/runtime/ThreadContext;
Exception table:
from to target type
1 6 10 any
7 9 10 any
10 11 10 any
MethodParameters:
Name Flags
ctx
boolean setConstant(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
flags: (0x0000)
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyModule$Autoload.ctxLock:Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
aload 1
invokevirtual org.jruby.RubyModule$Autoload.isSelf:(Lorg/jruby/runtime/ThreadContext;)Z
istore 4
start local 4 2: iload 4
ifeq 3
aload 0
aload 2
putfield org.jruby.RubyModule$Autoload.value:Lorg/jruby/runtime/builtin/IRubyObject;
3: StackMap locals: java.lang.Object int
StackMap stack:
iload 4
aload 3
monitorexit
4: ireturn
end local 4 5: StackMap locals: org.jruby.RubyModule$Autoload org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject java.lang.Object
StackMap stack: java.lang.Throwable
aload 3
monitorexit
6: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/RubyModule$Autoload;
0 7 1 ctx Lorg/jruby/runtime/ThreadContext;
0 7 2 newValue Lorg/jruby/runtime/builtin/IRubyObject;
2 5 4 isSelf Z
Exception table:
from to target type
1 4 5 any
5 6 5 any
MethodParameters:
Name Flags
ctx
newValue
org.jruby.runtime.builtin.IRubyObject getValue();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyModule$Autoload.value:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyModule$Autoload;
org.jruby.RubyString getFile();
descriptor: ()Lorg/jruby/RubyString;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyModule$Autoload.loadMethod:Lorg/jruby/RubyModule$AutoloadMethod;
invokeinterface org.jruby.RubyModule$AutoloadMethod.getFile:()Lorg/jruby/RubyString;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyModule$Autoload;
private boolean isSelf(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyModule$Autoload.ctx:Lorg/jruby/runtime/ThreadContext;
ifnull 1
aload 0
getfield org.jruby.RubyModule$Autoload.ctx:Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.runtime.ThreadContext.getThread:()Lorg/jruby/RubyThread;
aload 1
invokevirtual org.jruby.runtime.ThreadContext.getThread:()Lorg/jruby/RubyThread;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyModule$Autoload;
0 2 1 rhs Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
rhs
}
SourceFile: "RubyModule.java"
NestHost: org.jruby.RubyModule
InnerClasses:
private final Autoload = org.jruby.RubyModule$Autoload of org.jruby.RubyModule
public abstract AutoloadMethod = org.jruby.RubyModule$AutoloadMethod of org.jruby.RubyModule