Top Description Fields Constructors Methods
org.jruby.internal.runtime.methods

public Class ProfilingDynamicMethod

extends DelegatingDynamicMethod
implements IRMethodArgs
Class Inheritance
All Implemented Interfaces
org.jruby.internal.runtime.methods.IRMethodArgs
Imports
org.jruby.RubyModule, org.jruby.runtime.ArgumentDescriptor, .Block, .Helpers, .Signature, .ThreadContext, org.jruby.runtime.builtin.IRubyObject

A DynamicMethod wrapper that performs timed profiling for each call.

Field Summary

Inherited from org.jruby.internal.runtime.methods.DelegatingDynamicMethod:
delegate

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public IRubyObject
public IRubyObject
public IRubyObject
public IRubyObject
public IRubyObject
call(ThreadContext
The thread context for the currently executing thread
context
,
IRubyObject
The 'self' or 'receiver' object to use for this call
self
,
RubyModule
The Ruby class against which this method is binding
clazz
,
String
The incoming name used to invoke this method
name
,
IRubyObject[]
The first argument to this invocation
args
)

Overrides org.jruby.internal.runtime.methods.DelegatingDynamicMethod.call.

A default implementation of n-arity, non-block 'call' method, which simply calls the n-arity, block-receiving version with the arg list and Block.NULL_BLOCK.

public IRubyObject
public IRubyObject
public IRubyObject
public IRubyObject
public IRubyObject
call(ThreadContext
The thread context for the currently executing thread
context
,
IRubyObject
The 'self' or 'receiver' object to use for this call
self
,
RubyModule
The Ruby class against which this method is binding
clazz
,
String
The incoming name used to invoke this method
name
,
IRubyObject[]
The argument list to this invocation
args
,
Block
The block passed to this invocation
block
)

Overrides org.jruby.internal.runtime.methods.DelegatingDynamicMethod.call.

The minimum 'call' method required for a dynamic method handle.

public DynamicMethod
dup()

Implements abstract org.jruby.internal.runtime.methods.DelegatingDynamicMethod.dup.

Duplicate this method, returning DynamicMethod referencing the same code and with the same attributes.

public ArgumentDescriptor[]
getArgumentDescriptors()

Implements org.jruby.internal.runtime.methods.IRMethodArgs.getArgumentDescriptors.

Get the array of ArgumentDescriptors that represent the arguments to this method.

public Signature
public void
setRuby2Keywords()

Overrides org.jruby.internal.runtime.methods.DynamicMethod.setRuby2Keywords.

Implements org.jruby.internal.runtime.methods.IRMethodArgs.setRuby2Keywords.

Indicates the method will behave like a ruby2 keywords accepting method.

Inherited from org.jruby.internal.runtime.methods.DelegatingDynamicMethod:
equalsgetAritygetDelegategetHandlegetImplementationClassgetInstanceVariableNamesgetMethodDatagetNamegetProtectedClassgetRealMethodgetSerialNumbergetVisibilityhashCodeisBuiltinisCallableFromisImplementedByisNativeisNotImplementedisRefinedsetHandlesetImplementationClasssetIsBuiltinsetNotImplementedsetVisibility

Constructor Detail

ProfilingDynamicMethodback to summary
public ProfilingDynamicMethod(DynamicMethod delegate)

Method Detail

callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name)

Overrides org.jruby.internal.runtime.methods.DelegatingDynamicMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0)

Overrides org.jruby.internal.runtime.methods.DelegatingDynamicMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1)

Overrides org.jruby.internal.runtime.methods.DelegatingDynamicMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2)

Overrides org.jruby.internal.runtime.methods.DelegatingDynamicMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args)

Overrides org.jruby.internal.runtime.methods.DelegatingDynamicMethod.call.

Doc from org.jruby.internal.runtime.methods.DynamicMethod.call.

A default implementation of n-arity, non-block 'call' method, which simply calls the n-arity, block-receiving version with the arg list and Block.NULL_BLOCK.

Parameters
context:ThreadContext

The thread context for the currently executing thread

self:IRubyObject

The 'self' or 'receiver' object to use for this call

clazz:RubyModule

The Ruby class against which this method is binding

name:String

The incoming name used to invoke this method

args:IRubyObject[]

The first argument to this invocation

Returns:IRubyObject

The result of the call

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, Block block)

Overrides org.jruby.internal.runtime.methods.DelegatingDynamicMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, Block block)

Overrides org.jruby.internal.runtime.methods.DelegatingDynamicMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, Block block)

Overrides org.jruby.internal.runtime.methods.DelegatingDynamicMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)

Overrides org.jruby.internal.runtime.methods.DelegatingDynamicMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args, Block block)

Overrides org.jruby.internal.runtime.methods.DelegatingDynamicMethod.call.

Doc from org.jruby.internal.runtime.methods.DynamicMethod.call.

The minimum 'call' method required for a dynamic method handle. Subclasses must implement this method, but may implement the other signatures to provide faster, non-boxing call paths. Typically subclasses will implement this method to check variable arity calls, then performing a specific-arity invocation to the appropriate method or performing variable-arity logic in-line.

Parameters
context:ThreadContext

The thread context for the currently executing thread

self:IRubyObject

The 'self' or 'receiver' object to use for this call

clazz:RubyModule

The Ruby class against which this method is binding

name:String

The incoming name used to invoke this method

args:IRubyObject[]

The argument list to this invocation

block:Block

The block passed to this invocation

Returns:IRubyObject

The result of the call

Annotations
@Override
dupback to summary
public DynamicMethod dup()

Implements abstract org.jruby.internal.runtime.methods.DelegatingDynamicMethod.dup.

Doc from org.jruby.internal.runtime.methods.DynamicMethod.dup.

Duplicate this method, returning DynamicMethod referencing the same code and with the same attributes. It is not required that this method produce a new object if the semantics of the DynamicMethod subtype do not require such.

Returns:DynamicMethod

An identical DynamicMethod object to the target.

Annotations
@Override
getArgumentDescriptorsback to summary
public ArgumentDescriptor[] getArgumentDescriptors()

Implements org.jruby.internal.runtime.methods.IRMethodArgs.getArgumentDescriptors.

Doc from org.jruby.internal.runtime.methods.IRMethodArgs.getArgumentDescriptors.

Get the array of ArgumentDescriptors that represent the arguments to this method.

Returns:ArgumentDescriptor[]

this methods argument descriptors

getSignatureback to summary
public Signature getSignature()

Overrides org.jruby.internal.runtime.methods.DelegatingDynamicMethod.getSignature.

Implements org.jruby.internal.runtime.methods.IRMethodArgs.getSignature.

Doc from org.jruby.internal.runtime.methods.IRMethodArgs.getSignature.

Get the Signature for this method.

Returns:Signature

this methods signature

setRuby2Keywordsback to summary
public void setRuby2Keywords()

Overrides org.jruby.internal.runtime.methods.DynamicMethod.setRuby2Keywords.

Implements org.jruby.internal.runtime.methods.IRMethodArgs.setRuby2Keywords.

Doc from org.jruby.internal.runtime.methods.DynamicMethod.setRuby2Keywords.

Indicates the method will behave like a ruby2 keywords accepting method. This must be a Ruby implementation to work. See Module#ruby2_keywords for information on the semantics of a method which is marked this way.

Annotations
@Override