Class LibFFILanguage

java.lang.Object
com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>
com.oracle.truffle.nfi.backend.libffi.LibFFILanguage

public class LibFFILanguage extends com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.oracle.truffle.api.TruffleLanguage

    com.oracle.truffle.api.TruffleLanguage.ContextLocalFactory<C,T>, com.oracle.truffle.api.TruffleLanguage.ContextLocalProvider<C>, 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
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     

    Fields inherited from class com.oracle.truffle.api.TruffleLanguage

    locals
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    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)
     
    get(com.oracle.truffle.api.nodes.Node node)
     
    protected static com.oracle.truffle.nfi.backend.libffi.LibFFIContext
     
    protected com.oracle.truffle.nfi.backend.spi.NFIState
     
    protected void
    initializeContext(com.oracle.truffle.nfi.backend.libffi.LibFFIContext context)
     
    protected void
     
    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)
     

    Methods inherited from class com.oracle.truffle.api.TruffleLanguage

    areOptionsCompatible, createContextLocal, createContextThreadLocal, disposeThread, exitContext, finalizeContext, finalizeThread, getAsynchronousStackDepth, getCurrentContext, getCurrentLanguage, getLanguageHome, getLanguageView, getOptionDescriptors, getScope, initializeMultiThreading, initializeThread, isVisible, parse

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • LibFFILanguage

      public LibFFILanguage()
  • Method Details

    • initializeMultipleContexts

      protected void initializeMultipleContexts()
      Overrides:
      initializeMultipleContexts in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>
    • createContext

      protected com.oracle.truffle.nfi.backend.libffi.LibFFIContext createContext(com.oracle.truffle.api.TruffleLanguage.Env env)
      Specified by:
      createContext in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>
    • getNFIState

      protected com.oracle.truffle.nfi.backend.spi.NFIState getNFIState()
    • initializeContext

      protected void initializeContext(com.oracle.truffle.nfi.backend.libffi.LibFFIContext context) throws Exception
      Overrides:
      initializeContext in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>
      Throws:
      Exception
    • patchContext

      protected boolean patchContext(com.oracle.truffle.nfi.backend.libffi.LibFFIContext context, com.oracle.truffle.api.TruffleLanguage.Env newEnv)
      Overrides:
      patchContext in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>
    • disposeContext

      protected void disposeContext(com.oracle.truffle.nfi.backend.libffi.LibFFIContext context)
      Overrides:
      disposeContext in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>
    • isThreadAccessAllowed

      protected boolean isThreadAccessAllowed(Thread thread, boolean singleThreaded)
      Overrides:
      isThreadAccessAllowed in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>
    • parse

      protected com.oracle.truffle.api.CallTarget parse(com.oracle.truffle.api.TruffleLanguage.ParsingRequest request) throws Exception
      Overrides:
      parse in class com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.nfi.backend.libffi.LibFFIContext>
      Throws:
      Exception
    • getCurrentContext

      protected static com.oracle.truffle.nfi.backend.libffi.LibFFIContext getCurrentContext()
    • get

      public static LibFFILanguage get(com.oracle.truffle.api.nodes.Node node)