public class org.jruby.RubyModule$ProfilingCacheEntryFactory extends org.jruby.RubyModule$WrapperCacheEntryFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.RubyModule$ProfilingCacheEntryFactory
super_class: org.jruby.RubyModule$WrapperCacheEntryFactory
{
private final org.jruby.runtime.profile.MethodEnhancer enhancer;
descriptor: Lorg/jruby/runtime/profile/MethodEnhancer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.jruby.Ruby, org.jruby.RubyModule$CacheEntryFactory);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyModule$CacheEntryFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial org.jruby.RubyModule$WrapperCacheEntryFactory.<init>:(Lorg/jruby/RubyModule$CacheEntryFactory;)V
1: aload 0
aload 1
invokevirtual org.jruby.Ruby.getProfilingService:()Lorg/jruby/runtime/profile/ProfilingService;
aload 1
invokeinterface org.jruby.runtime.profile.ProfilingService.newMethodEnhancer:(Lorg/jruby/Ruby;)Lorg/jruby/runtime/profile/MethodEnhancer;
putfield org.jruby.RubyModule$ProfilingCacheEntryFactory.enhancer:Lorg/jruby/runtime/profile/MethodEnhancer;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyModule$ProfilingCacheEntryFactory;
0 3 1 runtime Lorg/jruby/Ruby;
0 3 2 previous Lorg/jruby/RubyModule$CacheEntryFactory;
MethodParameters:
Name Flags
runtime
previous
private org.jruby.runtime.profile.MethodEnhancer getMethodEnhancer();
descriptor: ()Lorg/jruby/runtime/profile/MethodEnhancer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyModule$ProfilingCacheEntryFactory.enhancer:Lorg/jruby/runtime/profile/MethodEnhancer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyModule$ProfilingCacheEntryFactory;
public org.jruby.runtime.callsite.CacheEntry newCacheEntry(java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod, org.jruby.RubyModule, int);
descriptor: (Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)Lorg/jruby/runtime/callsite/CacheEntry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isUndefined:()Z
ifeq 1
new org.jruby.runtime.callsite.CacheEntry
dup
aload 2
iload 4
invokespecial org.jruby.runtime.callsite.CacheEntry.<init>:(Lorg/jruby/internal/runtime/methods/DynamicMethod;I)V
areturn
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyModule$ProfilingCacheEntryFactory.previous:Lorg/jruby/RubyModule$CacheEntryFactory;
aload 1
aload 2
aload 3
iload 4
invokevirtual org.jruby.RubyModule$CacheEntryFactory.newCacheEntry:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)Lorg/jruby/runtime/callsite/CacheEntry;
astore 5
start local 5 2: aload 0
invokevirtual org.jruby.RubyModule$ProfilingCacheEntryFactory.getMethodEnhancer:()Lorg/jruby/runtime/profile/MethodEnhancer;
aload 1
aload 5
getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
invokeinterface org.jruby.runtime.profile.MethodEnhancer.enhance:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
astore 6
start local 6 3: new org.jruby.runtime.callsite.CacheEntry
dup
aload 6
aload 5
getfield org.jruby.runtime.callsite.CacheEntry.sourceModule:Lorg/jruby/RubyModule;
aload 5
getfield org.jruby.runtime.callsite.CacheEntry.token:I
invokespecial org.jruby.runtime.callsite.CacheEntry.<init>:(Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)V
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 4 0 this Lorg/jruby/RubyModule$ProfilingCacheEntryFactory;
0 4 1 id Ljava/lang/String;
0 4 2 method Lorg/jruby/internal/runtime/methods/DynamicMethod;
0 4 3 sourceModule Lorg/jruby/RubyModule;
0 4 4 token I
2 4 5 delegated Lorg/jruby/runtime/callsite/CacheEntry;
3 4 6 enhancedMethod Lorg/jruby/internal/runtime/methods/DynamicMethod;
MethodParameters:
Name Flags
id
method
sourceModule
token
}
SourceFile: "RubyModule.java"
NestHost: org.jruby.RubyModule
InnerClasses:
protected abstract CacheEntryFactory = org.jruby.RubyModule$CacheEntryFactory of org.jruby.RubyModule
protected ProfilingCacheEntryFactory = org.jruby.RubyModule$ProfilingCacheEntryFactory of org.jruby.RubyModule
protected abstract WrapperCacheEntryFactory = org.jruby.RubyModule$WrapperCacheEntryFactory of org.jruby.RubyModule