Package org.jruby.ext.ffi.jffi
Class AbstractNumericMethodGenerator
java.lang.Object
org.jruby.ext.ffi.jffi.AbstractNumericMethodGenerator
- All Implemented Interfaces:
JITMethodGenerator
- Direct Known Subclasses:
FastIntMethodGenerator,FastLongMethodGenerator,FastNumericMethodGenerator
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidboxResult(SkinnyMethodAdapter mv, String boxMethodName) private voidboxResult(SkinnyMethodAdapter mv, NativeType type) protected static String[]buildSignatures(Class nativeIntClass, int maxParameters) private voidemitResultConversion(SkinnyMethodAdapter mv, AsmClassBuilder builder, JITSignature signature) voidgenerate(AsmClassBuilder builder, String functionName, JITSignature signature) voidgenerate(AsmClassBuilder builder, SkinnyMethodAdapter mv, JITSignature signature, int firstParam) (package private) abstract Class(package private) abstract StringgetInvokerMethodName(JITSignature signature) (package private) abstract StringgetInvokerSignature(int parameterCount) private StringgetRuntimeMethod(String method) static booleanprivate static Class[]makeObjectParamSignature(JITSignature signature, int pointerCount) static final voidnarrow(SkinnyMethodAdapter mv, Class from, Class to) private voidunbox(SkinnyMethodAdapter mv, String method) static final voidwiden(SkinnyMethodAdapter mv, Class from, Class to) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jruby.ext.ffi.jffi.JITMethodGenerator
isSupported
-
Constructor Details
-
AbstractNumericMethodGenerator
AbstractNumericMethodGenerator()
-
-
Method Details
-
generate
- Specified by:
generatein interfaceJITMethodGenerator
-
generate
public void generate(AsmClassBuilder builder, SkinnyMethodAdapter mv, JITSignature signature, int firstParam) -
emitResultConversion
private void emitResultConversion(SkinnyMethodAdapter mv, AsmClassBuilder builder, JITSignature signature) -
makeObjectParamSignature
-
unbox
-
getRuntimeMethod
-
boxResult
-
boxResult
-
getInvokerMethodName
-
getInvokerSignature
-
getInvokerIntType
-
isPrimitiveInt
-
widen
-
narrow
-
buildSignatures
-