abstract class org.jruby.compiler.JITCompiler$Task implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: org.jruby.compiler.JITCompiler$Task
super_class: java.lang.Object
{
protected final org.jruby.compiler.JITCompiler jitCompiler;
descriptor: Lorg/jruby/compiler/JITCompiler;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
public void <init>(org.jruby.compiler.JITCompiler);
descriptor: (Lorg/jruby/compiler/JITCompiler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.jruby.compiler.JITCompiler$Task.jitCompiler:Lorg/jruby/compiler/JITCompiler;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/compiler/JITCompiler$Task;
0 3 1 jitCompiler Lorg/jruby/compiler/JITCompiler;
MethodParameters:
Name Flags
jitCompiler
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield org.jruby.compiler.JITCompiler$Task.jitCompiler:Lorg/jruby/compiler/JITCompiler;
dup
astore 1
monitorenter
1: aload 0
invokevirtual org.jruby.compiler.JITCompiler$Task.exec:()V
2: goto 5
StackMap locals: org.jruby.compiler.JITCompiler$Task org.jruby.compiler.JITCompiler
StackMap stack: java.lang.Throwable
3: astore 2
start local 2 4: aload 0
aload 2
invokevirtual org.jruby.compiler.JITCompiler$Task.jitFailed:(Ljava/lang/Throwable;)V
end local 2 5: StackMap locals:
StackMap stack:
aload 1
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/compiler/JITCompiler$Task;
4 5 2 ex Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
1 6 7 any
7 8 7 any
protected abstract void exec();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
protected java.lang.String getSourceFile();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/compiler/JITCompiler$Task;
protected void jitFailed(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.compiler.JITCompiler$Task.jitCompiler:Lorg/jruby/compiler/JITCompiler;
getfield org.jruby.compiler.JITCompiler.config:Lorg/jruby/RubyInstanceConfig;
invokevirtual org.jruby.RubyInstanceConfig.isJitLogging:()Z
ifeq 4
1: aload 0
aload 1
invokevirtual org.jruby.compiler.JITCompiler$Task.logFailed:(Ljava/lang/Throwable;)V
2: aload 0
getfield org.jruby.compiler.JITCompiler$Task.jitCompiler:Lorg/jruby/compiler/JITCompiler;
getfield org.jruby.compiler.JITCompiler.config:Lorg/jruby/RubyInstanceConfig;
invokevirtual org.jruby.RubyInstanceConfig.isJitLoggingVerbose:()Z
ifeq 4
3: aload 1
invokevirtual java.lang.Throwable.printStackTrace:()V
4: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.compiler.JITCompiler$Task.jitCompiler:Lorg/jruby/compiler/JITCompiler;
getfield org.jruby.compiler.JITCompiler.counts:Lorg/jruby/compiler/JITCounts;
getfield org.jruby.compiler.JITCounts.failCount:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
pop2
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/compiler/JITCompiler$Task;
0 6 1 ex Ljava/lang/Throwable;
MethodParameters:
Name Flags
ex final
protected java.lang.Class<?> defineClass(org.jruby.compiler.JITClassGenerator, org.jruby.ir.targets.JVMVisitor, org.jruby.ir.IRScope, org.jruby.ir.interpreter.InterpreterContext);
descriptor: (Lorg/jruby/compiler/JITClassGenerator;Lorg/jruby/ir/targets/JVMVisitor;Lorg/jruby/ir/IRScope;Lorg/jruby/ir/interpreter/InterpreterContext;)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
aload 3
aload 1
invokevirtual org.jruby.compiler.JITClassGenerator.bytecode:()[B
aload 0
invokevirtual org.jruby.compiler.JITCompiler$Task.getCodeLoader:()Lorg/jruby/util/ClassDefiningClassLoader;
invokevirtual org.jruby.ir.targets.JVMVisitor.defineFromBytecode:(Lorg/jruby/ir/IRScope;[BLorg/jruby/util/ClassDefiningClassLoader;)Ljava/lang/Class;
astore 5
start local 5 1: aload 5
ifnonnull 4
2: aload 0
getfield org.jruby.compiler.JITCompiler$Task.jitCompiler:Lorg/jruby/compiler/JITCompiler;
getfield org.jruby.compiler.JITCompiler.counts:Lorg/jruby/compiler/JITCounts;
getfield org.jruby.compiler.JITCounts.failCount:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
pop2
3: aconst_null
areturn
4: StackMap locals: java.lang.Class
StackMap stack:
aload 1
aload 0
getfield org.jruby.compiler.JITCompiler$Task.jitCompiler:Lorg/jruby/compiler/JITCompiler;
getfield org.jruby.compiler.JITCompiler.counts:Lorg/jruby/compiler/JITCounts;
aload 4
invokevirtual org.jruby.compiler.JITClassGenerator.updateCounters:(Lorg/jruby/compiler/JITCounts;Lorg/jruby/ir/interpreter/InterpreterContext;)V
5: aload 0
getfield org.jruby.compiler.JITCompiler$Task.jitCompiler:Lorg/jruby/compiler/JITCompiler;
getfield org.jruby.compiler.JITCompiler.counts:Lorg/jruby/compiler/JITCounts;
getfield org.jruby.compiler.JITCounts.successCount:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lstore 6
start local 6 6: aload 0
getfield org.jruby.compiler.JITCompiler$Task.jitCompiler:Lorg/jruby/compiler/JITCompiler;
getfield org.jruby.compiler.JITCompiler.config:Lorg/jruby/RubyInstanceConfig;
invokevirtual org.jruby.RubyInstanceConfig.isJitLogging:()Z
ifeq 7
aload 0
invokevirtual org.jruby.compiler.JITCompiler$Task.logJitted:()V
7: StackMap locals: long
StackMap stack:
aload 0
getfield org.jruby.compiler.JITCompiler$Task.jitCompiler:Lorg/jruby/compiler/JITCompiler;
getfield org.jruby.compiler.JITCompiler.config:Lorg/jruby/RubyInstanceConfig;
invokevirtual org.jruby.RubyInstanceConfig.getJitLogEvery:()I
ifle 10
8: lload 6
aload 0
getfield org.jruby.compiler.JITCompiler$Task.jitCompiler:Lorg/jruby/compiler/JITCompiler;
getfield org.jruby.compiler.JITCompiler.config:Lorg/jruby/RubyInstanceConfig;
invokevirtual org.jruby.RubyInstanceConfig.getJitLogEvery:()I
i2l
lrem
lconst_0
lcmp
ifne 10
9: aload 0
new java.lang.StringBuilder
dup
ldc "live compiled count: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 6
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokevirtual org.jruby.compiler.JITCompiler$Task.logImpl:(Ljava/lang/String;[Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
aload 5
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 11 0 this Lorg/jruby/compiler/JITCompiler$Task;
0 11 1 generator Lorg/jruby/compiler/JITClassGenerator;
0 11 2 visitor Lorg/jruby/ir/targets/JVMVisitor;
0 11 3 scope Lorg/jruby/ir/IRScope;
0 11 4 interpreterContext Lorg/jruby/ir/interpreter/InterpreterContext;
1 11 5 sourceClass Ljava/lang/Class;
6 11 6 methodCount J
Signature: (Lorg/jruby/compiler/JITClassGenerator;Lorg/jruby/ir/targets/JVMVisitor;Lorg/jruby/ir/IRScope;Lorg/jruby/ir/interpreter/InterpreterContext;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
generator final
visitor final
scope final
interpreterContext final
org.jruby.util.ClassDefiningClassLoader getCodeLoader();
descriptor: ()Lorg/jruby/util/ClassDefiningClassLoader;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.compiler.JITCompiler$Task.jitCompiler:Lorg/jruby/compiler/JITCompiler;
aload 0
invokevirtual org.jruby.compiler.JITCompiler$Task.getSourceFile:()Ljava/lang/String;
invokevirtual org.jruby.compiler.JITCompiler.getLoaderFor:(Ljava/lang/String;)Lorg/jruby/util/ClassDefiningClassLoader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/compiler/JITCompiler$Task;
protected void logJitted();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "done jitting"
iconst_0
anewarray java.lang.Object
invokevirtual org.jruby.compiler.JITCompiler$Task.logImpl:(Ljava/lang/String;[Ljava/lang/Object;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/compiler/JITCompiler$Task;
protected void logFailed(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "could not compile"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.jruby.compiler.JITCompiler$Task.logImpl:(Ljava/lang/String;[Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/compiler/JITCompiler$Task;
0 2 1 ex Ljava/lang/Throwable;
MethodParameters:
Name Flags
ex
protected abstract void logImpl(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0484) ACC_PROTECTED, ACC_VARARGS, ACC_ABSTRACT
MethodParameters:
Name Flags
msg
cause
}
SourceFile: "JITCompiler.java"
NestHost: org.jruby.compiler.JITCompiler
InnerClasses:
abstract Task = org.jruby.compiler.JITCompiler$Task of org.jruby.compiler.JITCompiler