Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- newtype Loader = Loader {
- loader_state :: MVar (Maybe LoaderState)
- data LoaderState = LoaderState {
- closure_env :: ClosureEnv
- itbl_env :: !ItblEnv
- bcos_loaded :: ![Linkable]
- objs_loaded :: ![Linkable]
- pkgs_loaded :: ![UnitId]
- temp_sos :: ![(FilePath, String)]
- uninitializedLoader :: IO Loader
- data Linkable = LM {}
- data Unlinked
- data SptEntry = SptEntry Id Fingerprint
- isObjectLinkable :: Linkable -> Bool
- linkableObjs :: Linkable -> [FilePath]
- isObject :: Unlinked -> Bool
- nameOfObject :: Unlinked -> FilePath
- isInterpretable :: Unlinked -> Bool
- byteCodeOfObject :: Unlinked -> CompiledByteCode
Documentation
data LoaderState Source #
LoaderState | |
|
Information we can use to dynamically link modules into the compiler
LM | |
|
Instances
Objects which have yet to be linked by the compiler
DotO FilePath | An object file (.o) |
DotA FilePath | Static archive file (.a) |
DotDLL FilePath | Dynamically linked library file (.so, .dll, .dylib) |
BCOs CompiledByteCode [SptEntry] | A byte-code object, lives only in memory. Also carries some static pointer table entries which should be loaded along with the BCOs. See Note [Grant plan for static forms] in GHC.Iface.Tidy.StaticPtrTable. |
Instances
An entry to be inserted into a module's static pointer table. See Note [Grand plan for static forms] in GHC.Iface.Tidy.StaticPtrTable.
Instances
isObjectLinkable :: Linkable -> Bool Source #
linkableObjs :: Linkable -> [FilePath] Source #
nameOfObject :: Unlinked -> FilePath Source #
Retrieve the filename of the linkable if possible. Panic if it is a byte-code object
isInterpretable :: Unlinked -> Bool Source #
Is this a bytecode linkable with no file on disk?
byteCodeOfObject :: Unlinked -> CompiledByteCode Source #
Retrieve the compiled byte-code if possible. Panic if it is a file-based linkable