Top Fields Constructors Methods
org.jruby.ext.ffi.jffi

public abstract Class JITNativeInvoker

extends NativeInvoker
Class Inheritance
Imports
com.kenai.jffi.*, org.jruby.Ruby, .RubyModule, org.jruby.ext.ffi.*, .NativeType, .Type, org.jruby.internal.runtime.methods.DynamicMethod, org.jruby.runtime.Arity, .ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.callsite.CachingCallSite, .FunctionalCachingCallSite, org.jruby.util.cli.Options, java.util.Arrays

Field Summary

Modifier and TypeField and Description
protected final int
protected final CallContext
protected final Function
protected final long
protected static final Invoker
protected final CachingCallSite
protected final CachingCallSite
protected final CachingCallSite
protected final CachingCallSite
protected final CachingCallSite
protected final CachingCallSite
protected final CachingCallSite
protected final NativeDataConverter
protected final NativeDataConverter
protected final NativeDataConverter
protected final NativeDataConverter
protected final NativeDataConverter
protected final NativeDataConverter
protected final ObjectParameterInfo
protected final ObjectParameterInfo
protected final ObjectParameterInfo
protected final ObjectParameterInfo
protected final ObjectParameterInfo
protected final ObjectParameterInfo
protected final NativeDataConverter
protected final Signature

Constructor Summary

AccessConstructor and Description
public
JITNativeInvoker(RubyModule implementationClass, Function function, Signature signature)

Method Summary

Modifier and TypeMethod and Description
public IRubyObject
public IRubyObject
public IRubyObject
public IRubyObject
public IRubyObject
call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, IRubyObject arg4)

public IRubyObject
call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, IRubyObject arg4, IRubyObject arg5)

public IRubyObject
call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, IRubyObject arg4, IRubyObject arg5, IRubyObject arg6)

public final 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.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.

pack-priv CallContext
pack-priv long
private static CachingCallSite
getParameterCallSite(Signature signature, int parameterIndex)

private static NativeDataConverter
getParameterConverter(Signature signature, int i)

private static ObjectParameterInfo
getParameterInfo(Signature signature, int i)

Inherited from org.jruby.ext.ffi.jffi.NativeInvoker:
calldupgetArityisNative

Field Detail

arityback to summary
protected final int arity

Hides org.jruby.ext.ffi.jffi.NativeInvoker.arity.

callContextback to summary
protected final CallContext callContext
functionback to summary
protected final Function function

Hides org.jruby.ext.ffi.jffi.NativeInvoker.function.

functionAddressback to summary
protected final long functionAddress
invokerback to summary
protected static final Invoker invoker
parameterCallSite0back to summary
protected final CachingCallSite parameterCallSite0
parameterCallSite1back to summary
protected final CachingCallSite parameterCallSite1
parameterCallSite2back to summary
protected final CachingCallSite parameterCallSite2
parameterCallSite3back to summary
protected final CachingCallSite parameterCallSite3
parameterCallSite4back to summary
protected final CachingCallSite parameterCallSite4
parameterCallSite5back to summary
protected final CachingCallSite parameterCallSite5
parameterCallSite6back to summary
protected final CachingCallSite parameterCallSite6
parameterConverter0back to summary
protected final NativeDataConverter parameterConverter0
parameterConverter1back to summary
protected final NativeDataConverter parameterConverter1
parameterConverter2back to summary
protected final NativeDataConverter parameterConverter2
parameterConverter3back to summary
protected final NativeDataConverter parameterConverter3
parameterConverter4back to summary
protected final NativeDataConverter parameterConverter4
parameterConverter5back to summary
protected final NativeDataConverter parameterConverter5
parameterInfo0back to summary
protected final ObjectParameterInfo parameterInfo0
parameterInfo1back to summary
protected final ObjectParameterInfo parameterInfo1
parameterInfo2back to summary
protected final ObjectParameterInfo parameterInfo2
parameterInfo3back to summary
protected final ObjectParameterInfo parameterInfo3
parameterInfo4back to summary
protected final ObjectParameterInfo parameterInfo4
parameterInfo5back to summary
protected final ObjectParameterInfo parameterInfo5
resultConverterback to summary
protected final NativeDataConverter resultConverter
signatureback to summary
protected final Signature signature

Constructor Detail

JITNativeInvokerback to summary
public JITNativeInvoker(RubyModule implementationClass, Function function, Signature signature)

Method Detail

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

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

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

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

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

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

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

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

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, IRubyObject arg4)
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, IRubyObject arg4, IRubyObject arg5)
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, IRubyObject arg4, IRubyObject arg5, IRubyObject arg6)
callback to summary
public final IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args)

Overrides org.jruby.internal.runtime.methods.DynamicMethod.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
getCallContextback to summary
pack-priv CallContext getCallContext()

Overrides org.jruby.ext.ffi.jffi.NativeInvoker.getCallContext.

getFunctionAddressback to summary
pack-priv long getFunctionAddress()

Overrides org.jruby.ext.ffi.jffi.NativeInvoker.getFunctionAddress.

getParameterCallSiteback to summary
private static CachingCallSite getParameterCallSite(Signature signature, int parameterIndex)
getParameterConverterback to summary
private static NativeDataConverter getParameterConverter(Signature signature, int i)
Annotations
@SuppressWarnings:deprecation
getParameterInfoback to summary
private static ObjectParameterInfo getParameterInfo(Signature signature, int i)