public class LibFFILanguage
extends com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>
com.oracle.truffle.api.TruffleLanguage.ContextLocalFactory<C,T>, com.oracle.truffle.api.TruffleLanguage.ContextPolicy, com.oracle.truffle.api.TruffleLanguage.ContextReference<C>, com.oracle.truffle.api.TruffleLanguage.ContextThreadLocalFactory<C,T>, com.oracle.truffle.api.TruffleLanguage.Env, com.oracle.truffle.api.TruffleLanguage.ExitMode, com.oracle.truffle.api.TruffleLanguage.InlineParsingRequest, com.oracle.truffle.api.TruffleLanguage.LanguageReference<L extends com.oracle.truffle.api.TruffleLanguage>, com.oracle.truffle.api.TruffleLanguage.ParsingRequest, com.oracle.truffle.api.TruffleLanguage.Provider, com.oracle.truffle.api.TruffleLanguage.Registration| Constructor and Description |
|---|
LibFFILanguage() |
| Modifier and Type | Method and Description |
|---|---|
protected com.oracle.truffle.nfi.backend.libffi.LibFFIContext |
createContext(com.oracle.truffle.api.TruffleLanguage.Env env) |
protected void |
disposeContext(com.oracle.truffle.nfi.backend.libffi.LibFFIContext context) |
static LibFFILanguage |
get(com.oracle.truffle.api.nodes.Node node) |
protected static com.oracle.truffle.nfi.backend.libffi.LibFFIContext |
getCurrentContext() |
protected void |
initializeContext(com.oracle.truffle.nfi.backend.libffi.LibFFIContext context) |
protected void |
initializeMultipleContexts() |
protected boolean |
isThreadAccessAllowed(Thread thread,
boolean singleThreaded) |
protected com.oracle.truffle.api.CallTarget |
parse(com.oracle.truffle.api.TruffleLanguage.ParsingRequest request) |
protected boolean |
patchContext(com.oracle.truffle.nfi.backend.libffi.LibFFIContext context,
com.oracle.truffle.api.TruffleLanguage.Env newEnv) |
areOptionsCompatible, createContextLocal, createContextThreadLocal, disposeThread, exitContext, finalizeContext, getAsynchronousStackDepth, getLanguageHome, getLanguageView, getOptionDescriptors, getScope, initializeMultiThreading, initializeThread, isVisible, parsepublic static final String MIME_TYPE
protected void initializeMultipleContexts()
initializeMultipleContexts in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>protected com.oracle.truffle.nfi.backend.libffi.LibFFIContext createContext(com.oracle.truffle.api.TruffleLanguage.Env env)
createContext in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>protected void initializeContext(com.oracle.truffle.nfi.backend.libffi.LibFFIContext context)
throws Exception
initializeContext in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>Exceptionprotected boolean patchContext(com.oracle.truffle.nfi.backend.libffi.LibFFIContext context,
com.oracle.truffle.api.TruffleLanguage.Env newEnv)
patchContext in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>protected void disposeContext(com.oracle.truffle.nfi.backend.libffi.LibFFIContext context)
disposeContext in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>protected boolean isThreadAccessAllowed(Thread thread, boolean singleThreaded)
isThreadAccessAllowed in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>protected com.oracle.truffle.api.CallTarget parse(com.oracle.truffle.api.TruffleLanguage.ParsingRequest request)
throws Exception
parse in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>Exceptionprotected static com.oracle.truffle.nfi.backend.libffi.LibFFIContext getCurrentContext()
public static LibFFILanguage get(com.oracle.truffle.api.nodes.Node node)