| ghc-6.10.4: The GHC API | Contents | Index

ByteCodeAsm

Synopsis

assembleBCOs :: [ProtoBCO Name] -> [TyCon] -> IO CompiledByteCode
assembleBCO :: 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

= BCONPtrWord Word
| BCONPtrLbl FastString
| BCONPtrItbl Name

bcoFreeNames :: UnlinkedBCO -> NameSet
data SizedSeq a
sizeSS :: SizedSeq a -> Int
ssElts :: SizedSeq a -> [a]
iNTERP_STACK_CHECK_THRESH

Documentation
assembleBCOs :: [ProtoBCO Name] -> [TyCon] -> IO CompiledByteCode
assembleBCO :: ProtoBCO Name -> IO UnlinkedBCO
data CompiledByteCode

Constructors

ByteCode [UnlinkedBCO] ItblEnv |

Instances

Outputable CompiledByteCode

data UnlinkedBCO

Constructors

UnlinkedBCO |

unlinkedBCOName :: Name |
unlinkedBCOArity :: Int |
unlinkedBCOInstrs :: ByteArray# |
unlinkedBCOBitmap :: ByteArray# |
unlinkedBCOLits :: SizedSeq BCONPtr |
unlinkedBCOPtrs :: SizedSeq BCOPtr |

Instances

Outputable UnlinkedBCO

data BCOPtr

Constructors

BCOPtrName Name |
BCOPtrPrimOp PrimOp |
BCOPtrBCO UnlinkedBCO |
BCOPtrBreakInfo BreakInfo |
BCOPtrArray (MutableByteArray# RealWorld) |

data BCONPtr

Constructors

BCONPtrWord Word |
BCONPtrLbl FastString |
BCONPtrItbl Name |

bcoFreeNames :: UnlinkedBCO -> NameSet
Finds external references. Remember to remove the names defined by this group of BCOs themselves
data SizedSeq a
sizeSS :: SizedSeq a -> Int
ssElts :: SizedSeq a -> [a]
iNTERP_STACK_CHECK_THRESH
Produced by Haddock version 2.4.2