public final class org.jruby.internal.runtime.GlobalVariable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.jruby.internal.runtime.GlobalVariable
super_class: java.lang.Object
{
private org.jruby.runtime.IAccessor accessor;
descriptor: Lorg/jruby/runtime/IAccessor;
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<org.jruby.runtime.builtin.IRubyObject> traces;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lorg/jruby/runtime/builtin/IRubyObject;>;
private boolean tracing;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.jruby.runtime.opto.Invalidator invalidator;
descriptor: Lorg/jruby/runtime/opto/Invalidator;
flags: (0x0002) ACC_PRIVATE
private final org.jruby.internal.runtime.GlobalVariable$Scope scope;
descriptor: Lorg/jruby/internal/runtime/GlobalVariable$Scope;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.jruby.runtime.IAccessor, org.jruby.internal.runtime.GlobalVariable$Scope);
descriptor: (Lorg/jruby/runtime/IAccessor;Lorg/jruby/internal/runtime/GlobalVariable$Scope;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield org.jruby.internal.runtime.GlobalVariable.traces:Ljava/util/ArrayList;
2: aload 0
getstatic org.jruby.util.cli.Options.INVOKEDYNAMIC_GLOBAL_MAXFAIL:Lcom/headius/options/Option;
invokevirtual com.headius.options.Option.load:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic org.jruby.runtime.opto.OptoFactory.newGlobalInvalidator:(I)Lorg/jruby/runtime/opto/Invalidator;
putfield org.jruby.internal.runtime.GlobalVariable.invalidator:Lorg/jruby/runtime/opto/Invalidator;
3: aload 0
aload 1
putfield org.jruby.internal.runtime.GlobalVariable.accessor:Lorg/jruby/runtime/IAccessor;
4: aload 0
aload 2
putfield org.jruby.internal.runtime.GlobalVariable.scope:Lorg/jruby/internal/runtime/GlobalVariable$Scope;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/internal/runtime/GlobalVariable;
0 6 1 accessor Lorg/jruby/runtime/IAccessor;
0 6 2 scope Lorg/jruby/internal/runtime/GlobalVariable$Scope;
MethodParameters:
Name Flags
accessor
scope
public static org.jruby.internal.runtime.GlobalVariable newUndefined(org.jruby.Ruby, java.lang.String);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/internal/runtime/GlobalVariable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new org.jruby.internal.runtime.GlobalVariable
dup
aconst_null
getstatic org.jruby.internal.runtime.GlobalVariable$Scope.GLOBAL:Lorg/jruby/internal/runtime/GlobalVariable$Scope;
invokespecial org.jruby.internal.runtime.GlobalVariable.<init>:(Lorg/jruby/runtime/IAccessor;Lorg/jruby/internal/runtime/GlobalVariable$Scope;)V
astore 2
start local 2 1: aload 2
new org.jruby.internal.runtime.UndefinedAccessor
dup
aload 0
aload 2
aload 1
invokespecial org.jruby.internal.runtime.UndefinedAccessor.<init>:(Lorg/jruby/Ruby;Lorg/jruby/internal/runtime/GlobalVariable;Ljava/lang/String;)V
invokevirtual org.jruby.internal.runtime.GlobalVariable.setAccessor:(Lorg/jruby/runtime/IAccessor;)V
2: aload 2
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 name Ljava/lang/String;
1 3 2 variable Lorg/jruby/internal/runtime/GlobalVariable;
MethodParameters:
Name Flags
runtime
name
public org.jruby.runtime.IAccessor getAccessor();
descriptor: ()Lorg/jruby/runtime/IAccessor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.internal.runtime.GlobalVariable.accessor:Lorg/jruby/runtime/IAccessor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/internal/runtime/GlobalVariable;
public org.jruby.internal.runtime.GlobalVariable$Scope getScope();
descriptor: ()Lorg/jruby/internal/runtime/GlobalVariable$Scope;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.internal.runtime.GlobalVariable.scope:Lorg/jruby/internal/runtime/GlobalVariable$Scope;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/internal/runtime/GlobalVariable;
public java.util.ArrayList getTraces();
descriptor: ()Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.internal.runtime.GlobalVariable.traces:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/internal/runtime/GlobalVariable;
public void addTrace(org.jruby.RubyProc);
descriptor: (Lorg/jruby/RubyProc;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.internal.runtime.GlobalVariable.traces:Ljava/util/ArrayList;
ifnonnull 2
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.jruby.internal.runtime.GlobalVariable.traces:Ljava/util/ArrayList;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.internal.runtime.GlobalVariable.traces:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/internal/runtime/GlobalVariable;
0 4 1 command Lorg/jruby/RubyProc;
MethodParameters:
Name Flags
command
public boolean removeTrace(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.internal.runtime.GlobalVariable.traces:Ljava/util/ArrayList;
ifnull 1
aload 0
getfield org.jruby.internal.runtime.GlobalVariable.traces:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifne 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.internal.runtime.GlobalVariable.traces:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/internal/runtime/GlobalVariable;
0 4 1 command Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
command
public void removeTraces();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield org.jruby.internal.runtime.GlobalVariable.traces:Ljava/util/ArrayList;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/internal/runtime/GlobalVariable;
public void setAccessor(org.jruby.runtime.IAccessor);
descriptor: (Lorg/jruby/runtime/IAccessor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.jruby.internal.runtime.GlobalVariable.accessor:Lorg/jruby/runtime/IAccessor;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/internal/runtime/GlobalVariable;
0 2 1 accessor Lorg/jruby/runtime/IAccessor;
MethodParameters:
Name Flags
accessor
public boolean isTracing();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.internal.runtime.GlobalVariable.tracing:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/internal/runtime/GlobalVariable;
public void trace(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.internal.runtime.GlobalVariable.traces:Ljava/util/ArrayList;
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
astore 2
start local 2 2: aload 2
invokevirtual org.jruby.runtime.ThreadContext.isWithinTrace:()Z
ifeq 3
return
3: StackMap locals: org.jruby.runtime.ThreadContext
StackMap stack:
aload 2
iconst_1
invokevirtual org.jruby.runtime.ThreadContext.setWithinTrace:(Z)V
4: iconst_0
istore 3
start local 3 5: goto 8
6: StackMap locals: int
StackMap stack:
aload 0
getfield org.jruby.internal.runtime.GlobalVariable.traces:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.jruby.RubyProc
aload 2
iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 1
aastore
invokevirtual org.jruby.RubyProc.call:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 0
getfield org.jruby.internal.runtime.GlobalVariable.traces:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 6
end local 3 9: goto 13
StackMap locals: org.jruby.internal.runtime.GlobalVariable org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.ThreadContext
StackMap stack: java.lang.Throwable
10: astore 4
11: aload 2
iconst_0
invokevirtual org.jruby.runtime.ThreadContext.setWithinTrace:(Z)V
12: aload 4
athrow
13: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokevirtual org.jruby.runtime.ThreadContext.setWithinTrace:(Z)V
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/jruby/internal/runtime/GlobalVariable;
0 15 1 value Lorg/jruby/runtime/builtin/IRubyObject;
2 15 2 context Lorg/jruby/runtime/ThreadContext;
5 9 3 i I
Exception table:
from to target type
3 10 10 any
MethodParameters:
Name Flags
value
public org.jruby.runtime.opto.Invalidator getInvalidator();
descriptor: ()Lorg/jruby/runtime/opto/Invalidator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.internal.runtime.GlobalVariable.invalidator:Lorg/jruby/runtime/opto/Invalidator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/internal/runtime/GlobalVariable;
public void invalidate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.internal.runtime.GlobalVariable.invalidator:Lorg/jruby/runtime/opto/Invalidator;
invokeinterface org.jruby.runtime.opto.Invalidator.invalidate:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/internal/runtime/GlobalVariable;
}
SourceFile: "GlobalVariable.java"
NestMembers:
org.jruby.internal.runtime.GlobalVariable$Scope
InnerClasses:
public final Scope = org.jruby.internal.runtime.GlobalVariable$Scope of org.jruby.internal.runtime.GlobalVariable