class org.jruby.compiler.MethodCompiledJITTask extends org.jruby.compiler.JITCompiler$Task
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.jruby.compiler.MethodCompiledJITTask
super_class: org.jruby.compiler.JITCompiler$Task
{
private final java.lang.String className;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jruby.internal.runtime.methods.CompiledIRMethod method;
descriptor: Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String methodName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.jruby.compiler.JITCompiler, org.jruby.internal.runtime.methods.CompiledIRMethod, java.lang.String);
descriptor: (Lorg/jruby/compiler/JITCompiler;Lorg/jruby/internal/runtime/methods/CompiledIRMethod;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial org.jruby.compiler.JITCompiler$Task.<init>:(Lorg/jruby/compiler/JITCompiler;)V
1: aload 0
aload 2
putfield org.jruby.compiler.MethodCompiledJITTask.method:Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
2: aload 0
aload 3
putfield org.jruby.compiler.MethodCompiledJITTask.className:Ljava/lang/String;
3: aload 0
aload 2
invokevirtual org.jruby.internal.runtime.methods.CompiledIRMethod.getName:()Ljava/lang/String;
putfield org.jruby.compiler.MethodCompiledJITTask.methodName:Ljava/lang/String;
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/compiler/MethodCompiledJITTask;
0 5 1 jitCompiler Lorg/jruby/compiler/JITCompiler;
0 5 2 method Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
0 5 3 className Ljava/lang/String;
MethodParameters:
Name Flags
jitCompiler
method
className
public void exec();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=13, args_size=1
start local 0 0: aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.jitCompiler:Lorg/jruby/compiler/JITCompiler;
getfield org.jruby.compiler.JITCompiler.config:Lorg/jruby/RubyInstanceConfig;
aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.className:Ljava/lang/String;
aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.methodName:Ljava/lang/String;
aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.method:Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
invokestatic org.jruby.compiler.MethodJITTask.checkExcludedMethod:(Lorg/jruby/RubyInstanceConfig;Ljava/lang/String;Ljava/lang/String;Lorg/jruby/compiler/Compilable;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnull 6
2: aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.method:Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
iconst_m1
invokevirtual org.jruby.internal.runtime.methods.CompiledIRMethod.setCallCount:(I)V
3: aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.jitCompiler:Lorg/jruby/compiler/JITCompiler;
getfield org.jruby.compiler.JITCompiler.config:Lorg/jruby/RubyInstanceConfig;
invokevirtual org.jruby.RubyInstanceConfig.isJitLogging:()Z
ifeq 5
4: aload 0
new java.lang.StringBuilder
dup
ldc "skipping (compiled) method in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokevirtual org.jruby.compiler.MethodCompiledJITTask.logImpl:(Ljava/lang/String;[Ljava/lang/Object;)V
5: StackMap locals: java.lang.String
StackMap stack:
return
6: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.method:Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
invokevirtual org.jruby.internal.runtime.methods.CompiledIRMethod.getIRScope:()Lorg/jruby/ir/IRScope;
invokestatic org.jruby.ast.util.SexpMaker.sha1:(Lorg/jruby/ir/IRScope;)Ljava/lang/String;
astore 2
start local 2 7: aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.jitCompiler:Lorg/jruby/compiler/JITCompiler;
getfield org.jruby.compiler.JITCompiler.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 8: new org.jruby.ir.targets.JVMVisitor
dup
aload 3
invokespecial org.jruby.ir.targets.JVMVisitor.<init>:(Lorg/jruby/Ruby;)V
astore 4
start local 4 9: new org.jruby.compiler.MethodJITClassGenerator
dup
aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.className:Ljava/lang/String;
aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.methodName:Ljava/lang/String;
aload 2
aload 3
aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.method:Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
aload 4
invokespecial org.jruby.compiler.MethodJITClassGenerator.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/jruby/Ruby;Lorg/jruby/internal/runtime/AbstractIRMethod;Lorg/jruby/ir/targets/JVMVisitor;)V
astore 5
start local 5 10: new org.jruby.ir.targets.JVMVisitorMethodContext
dup
invokespecial org.jruby.ir.targets.JVMVisitorMethodContext.<init>:()V
astore 6
start local 6 11: aload 5
aload 6
invokevirtual org.jruby.compiler.MethodJITClassGenerator.compile:(Lorg/jruby/ir/targets/JVMVisitorMethodContext;)V
12: aload 0
aload 5
aload 4
aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.method:Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
invokevirtual org.jruby.internal.runtime.methods.CompiledIRMethod.getIRScope:()Lorg/jruby/ir/IRScope;
aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.method:Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
invokevirtual org.jruby.internal.runtime.methods.CompiledIRMethod.ensureInstrsReady:()Lorg/jruby/ir/interpreter/InterpreterContext;
invokevirtual org.jruby.compiler.MethodCompiledJITTask.defineClass:(Lorg/jruby/compiler/JITClassGenerator;Lorg/jruby/ir/targets/JVMVisitor;Lorg/jruby/ir/IRScope;Lorg/jruby/ir/interpreter/InterpreterContext;)Ljava/lang/Class;
astore 7
start local 7 13: aload 7
ifnonnull 14
return
14: StackMap locals: org.jruby.compiler.MethodCompiledJITTask java.lang.String java.lang.String org.jruby.Ruby org.jruby.ir.targets.JVMVisitor org.jruby.compiler.MethodJITClassGenerator org.jruby.ir.targets.JVMVisitorMethodContext java.lang.Class
StackMap stack:
aload 6
invokevirtual org.jruby.ir.targets.JVMVisitorMethodContext.getVariableName:()Ljava/lang/String;
astore 8
start local 8 15: getstatic org.jruby.compiler.JITCompiler.PUBLIC_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
aload 7
aload 8
aload 6
iconst_m1
invokevirtual org.jruby.ir.targets.JVMVisitorMethodContext.getNativeSignature:(I)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 9
start local 9 16: aload 6
invokevirtual org.jruby.ir.targets.JVMVisitorMethodContext.getNativeSignaturesExceptVariable:()Lorg/jruby/util/collections/IntHashMap;
astore 10
start local 10 17: aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.method:Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
aload 9
invokevirtual org.jruby.internal.runtime.methods.CompiledIRMethod.setVariable:(Ljava/lang/invoke/MethodHandle;)V
18: aload 10
invokevirtual org.jruby.util.collections.IntHashMap.size:()I
ifeq 21
19: aload 10
invokevirtual org.jruby.util.collections.IntHashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 21
aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.util.collections.IntHashMap$Entry
astore 11
start local 11 20: aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.method:Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
getstatic org.jruby.compiler.JITCompiler.PUBLIC_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
aload 7
aload 6
invokevirtual org.jruby.ir.targets.JVMVisitorMethodContext.getSpecificName:()Ljava/lang/String;
aload 11
invokevirtual org.jruby.util.collections.IntHashMap$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.invoke.MethodType
invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
invokevirtual org.jruby.internal.runtime.methods.CompiledIRMethod.setSpecific:(Ljava/lang/invoke/MethodHandle;)V
end local 11 21: StackMap locals: java.lang.String java.lang.invoke.MethodHandle org.jruby.util.collections.IntHashMap
StackMap stack:
return
end local 10 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 22 0 this Lorg/jruby/compiler/MethodCompiledJITTask;
1 22 1 excludeModuleName Ljava/lang/String;
7 22 2 key Ljava/lang/String;
8 22 3 runtime Lorg/jruby/Ruby;
9 22 4 visitor Lorg/jruby/ir/targets/JVMVisitor;
10 22 5 generator Lorg/jruby/compiler/MethodJITClassGenerator;
11 22 6 context Lorg/jruby/ir/targets/JVMVisitorMethodContext;
13 22 7 sourceClass Ljava/lang/Class<*>;
15 22 8 variableName Ljava/lang/String;
16 22 9 variable Ljava/lang/invoke/MethodHandle;
17 22 10 signatures Lorg/jruby/util/collections/IntHashMap<Ljava/lang/invoke/MethodType;>;
20 21 11 entry Lorg/jruby/util/collections/IntHashMap$Entry<Ljava/lang/invoke/MethodType;>;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException
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: aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.method:Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
invokevirtual org.jruby.internal.runtime.methods.CompiledIRMethod.getFile:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/compiler/MethodCompiledJITTask;
protected void logJitted();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "(compiled) method done jitting"
iconst_0
anewarray java.lang.Object
invokevirtual org.jruby.compiler.MethodCompiledJITTask.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/MethodCompiledJITTask;
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
new java.lang.StringBuilder
dup
ldc "could not re-compile method; passes run: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.method:Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
invokevirtual org.jruby.internal.runtime.methods.CompiledIRMethod.getIRScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getExecutedPasses:()Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.jruby.compiler.MethodCompiledJITTask.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/MethodCompiledJITTask;
0 2 1 ex Ljava/lang/Throwable;
MethodParameters:
Name Flags
ex final
protected void logImpl(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.method:Lorg/jruby/internal/runtime/methods/CompiledIRMethod;
aload 0
getfield org.jruby.compiler.MethodCompiledJITTask.methodName:Ljava/lang/String;
aload 1
aload 2
invokestatic org.jruby.compiler.JITCompiler.log:(Lorg/jruby/compiler/Compilable;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/compiler/MethodCompiledJITTask;
0 2 1 message Ljava/lang/String;
0 2 2 reason [Ljava/lang/Object;
MethodParameters:
Name Flags
message final
reason
}
SourceFile: "MethodCompiledJITTask.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
abstract Task = org.jruby.compiler.JITCompiler$Task of org.jruby.compiler.JITCompiler
public Entry = org.jruby.util.collections.IntHashMap$Entry of org.jruby.util.collections.IntHashMap