Safe Haskell | None |
---|---|
Language | Haskell2010 |
ByteCodeLink: Bytecode assembler and linker
- assembleBCOs :: DynFlags -> [ProtoBCO Name] -> [TyCon] -> IO CompiledByteCode
- assembleBCO :: DynFlags -> ProtoBCO Name -> IO UnlinkedBCO
- data CompiledByteCode = ByteCode [UnlinkedBCO] ItblEnv
- data UnlinkedBCO = UnlinkedBCO {
- unlinkedBCOName :: Name
- unlinkedBCOArity :: Int
- unlinkedBCOInstrs :: ByteArray#
- unlinkedBCOBitmap :: ByteArray#
- unlinkedBCOLits :: SizedSeq BCONPtr
- unlinkedBCOPtrs :: SizedSeq BCOPtr
- data BCOPtr
- = BCOPtrName Name
- | BCOPtrPrimOp PrimOp
- | BCOPtrBCO UnlinkedBCO
- | BCOPtrBreakInfo BreakInfo
- | BCOPtrArray (MutableByteArray# RealWorld)
- data BCONPtr
- bcoFreeNames :: UnlinkedBCO -> NameSet
- data SizedSeq a
- sizeSS :: SizedSeq a -> Word
- ssElts :: SizedSeq a -> [a]
- iNTERP_STACK_CHECK_THRESH :: Int
Documentation
assembleBCOs :: DynFlags -> [ProtoBCO Name] -> [TyCon] -> IO CompiledByteCode Source
assembleBCO :: DynFlags -> ProtoBCO Name -> IO UnlinkedBCO Source
data UnlinkedBCO Source
UnlinkedBCO | |
|
BCOPtrName Name | |
BCOPtrPrimOp PrimOp | |
BCOPtrBCO UnlinkedBCO | |
BCOPtrBreakInfo BreakInfo | |
BCOPtrArray (MutableByteArray# RealWorld) |
bcoFreeNames :: UnlinkedBCO -> NameSet Source
Finds external references. Remember to remove the names defined by this group of BCOs themselves