| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
GHC.ByteCode.Linker
Description
Bytecode assembler and linker
Synopsis
- linkBCO :: Interp -> PkgsLoaded -> BytecodeLoaderState -> NameEnv BCOIx -> UnlinkedBCO -> IO ResolvedBCO
- lookupStaticPtr :: Interp -> FastString -> IO (RemotePtr ())
- lookupIE :: Interp -> PkgsLoaded -> BytecodeLoaderState -> Name -> IO (RemotePtr StgInfoTable)
- linkFail :: String -> SDoc -> IO a
- data BCOIx
Documentation
Arguments
| :: Interp | |
| -> PkgsLoaded | |
| -> BytecodeLoaderState | |
| -> NameEnv BCOIx | A mapping from names to references to other BCOs or static constructors in this group. |
| -> UnlinkedBCO | |
| -> IO ResolvedBCO |
Linking interpretables into something we can run
lookupStaticPtr :: Interp -> FastString -> IO (RemotePtr ()) Source #
lookupIE :: Interp -> PkgsLoaded -> BytecodeLoaderState -> Name -> IO (RemotePtr StgInfoTable) Source #
An index into a BCO or Static Constructor in this group.
We distinguish between lifted and unlifted static constructors because lifted ones get resolved by tying a knot, since there may be circular dependencies between them, whereas unlifted ones get constructed in a first pass.
Constructors
| BCOIx !Int | |
| LiftedStaticConIx !Int | |
| UnliftedStaticConIx !Int |