ByteCodeAsm

ghc-8.4.4: The GHC API

Safe Haskell | None
Language | Haskell2010

ByteCodeAsm

Description

ByteCodeLink: Bytecode assembler and linker

Synopsis

- assembleBCOs :: HscEnv -> [ProtoBCO Name] -> [TyCon] -> [RemotePtr ()] -> Maybe ModBreaks -> IO CompiledByteCode
- assembleOneBCO :: HscEnv -> ProtoBCO Name -> IO UnlinkedBCO
- bcoFreeNames :: UnlinkedBCO -> UniqDSet Name
- data SizedSeq a
- sizeSS :: SizedSeq a -> Word
- ssElts :: SizedSeq a -> [a]
- iNTERP_STACK_CHECK_THRESH :: Int

# Documentation

assembleBCOs :: HscEnv -> [ProtoBCO Name] -> [TyCon] -> [RemotePtr ()] -> Maybe ModBreaks -> IO CompiledByteCode #

assembleOneBCO :: HscEnv -> ProtoBCO Name -> IO UnlinkedBCO #

bcoFreeNames :: UnlinkedBCO -> UniqDSet Name #

Finds external references. Remember to remove the names defined by this group of BCOs themselves

data SizedSeq a Source #

Instances

Functor SizedSeq |
Instance details Defined in SizedSeq Methods fmap :: (a -> b) -> SizedSeq a -> SizedSeq b Source # (<$) :: a -> SizedSeq b -> SizedSeq a Source #
Foldable SizedSeq |
Instance details Defined in SizedSeq Methods fold :: Monoid m => SizedSeq m -> m Source # foldMap :: Monoid m => (a -> m) -> SizedSeq a -> m Source # foldr :: (a -> b -> b) -> b -> SizedSeq a -> b Source # foldr' :: (a -> b -> b) -> b -> SizedSeq a -> b Source # foldl :: (b -> a -> b) -> b -> SizedSeq a -> b Source # foldl' :: (b -> a -> b) -> b -> SizedSeq a -> b Source # foldr1 :: (a -> a -> a) -> SizedSeq a -> a Source # foldl1 :: (a -> a -> a) -> SizedSeq a -> a Source # toList :: SizedSeq a -> [a] Source # null :: SizedSeq a -> Bool Source # length :: SizedSeq a -> Int Source # elem :: Eq a => a -> SizedSeq a -> Bool Source # maximum :: Ord a => SizedSeq a -> a Source # minimum :: Ord a => SizedSeq a -> a Source # sum :: Num a => SizedSeq a -> a Source # product :: Num a => SizedSeq a -> a Source #
Traversable SizedSeq |
Instance details Defined in SizedSeq Methods traverse :: Applicative f => (a -> f b) -> SizedSeq a -> f (SizedSeq b) Source # sequenceA :: Applicative f => SizedSeq (f a) -> f (SizedSeq a) Source # mapM :: Monad m => (a -> m b) -> SizedSeq a -> m (SizedSeq b) Source # sequence :: Monad m => SizedSeq (m a) -> m (SizedSeq a) Source #
Show a => Show (SizedSeq a) |
Instance details Defined in SizedSeq Methods showsPrec :: Int -> SizedSeq a -> ShowS Source # show :: SizedSeq a -> String Source # showList :: [SizedSeq a] -> ShowS Source #
Generic (SizedSeq a) |
Instance details Defined in SizedSeq Associated Types type Rep (SizedSeq a) :: * -> * Source # Methods from :: SizedSeq a -> Rep (SizedSeq a) x Source # to :: Rep (SizedSeq a) x -> SizedSeq a Source #
NFData a => NFData (SizedSeq a) |
Instance details Defined in SizedSeq Methods rnf :: SizedSeq a -> () Source #
Binary a => Binary (SizedSeq a) |
Instance details Defined in SizedSeq Methods put :: SizedSeq a -> Put Source # get :: Get (SizedSeq a) Source # putList :: [SizedSeq a] -> Put Source #
type Rep (SizedSeq a) |
Instance details Defined in SizedSeq type Rep (SizedSeq a) = D1 (MetaData "SizedSeq" "SizedSeq" "ghci-8.4.4" False) (C1 (MetaCons "SizedSeq" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) SourceUnpack SourceStrict DecidedUnpack) (Rec0 Word) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [a])))

sizeSS :: SizedSeq a -> Word Source #

ssElts :: SizedSeq a -> [a] Source #

iNTERP_STACK_CHECK_THRESH :: Int #