GHCi.ResolvedBCO

ghci-8.4.1: The library supporting GHC's interactive interpreter

Safe Haskell | None
Language | Haskell2010

GHCi.ResolvedBCO

Synopsis

- data ResolvedBCO = ResolvedBCO {
  - resolvedBCOIsLE :: Bool
  - resolvedBCOArity :: !Int
  - resolvedBCOInstrs :: UArray Int Word16
  - resolvedBCOBitmap :: UArray Int Word64
  - resolvedBCOLits :: UArray Int Word64
  - resolvedBCOPtrs :: SizedSeq ResolvedBCOPtr
  }
- data ResolvedBCOPtr
  - = ResolvedBCORef !Int
  - | ResolvedBCOPtr !(RemoteRef HValue)
  - | ResolvedBCOStaticPtr !(RemotePtr ())
  - | ResolvedBCOPtrBCO ResolvedBCO
  - | ResolvedBCOPtrBreakArray !(RemoteRef BreakArray)
- isLittleEndian :: Bool

# Documentation

data ResolvedBCO Source #

A `ResolvedBCO` is one in which all the `Name` references have been resolved to actual addresses or `RemoteHValues`.

Note, all arrays are zero-indexed (we assume this when serializing/deserializing)

Constructors

ResolvedBCO |
Fields resolvedBCOIsLE :: Bool resolvedBCOArity :: !Int resolvedBCOInstrs :: UArray Int Word16 resolvedBCOBitmap :: UArray Int Word64 resolvedBCOLits :: UArray Int Word64 resolvedBCOPtrs :: SizedSeq ResolvedBCOPtr

Instances

Show ResolvedBCO Source # |
Instance details Methods showsPrec :: Int -> ResolvedBCO -> ShowS Source # show :: ResolvedBCO -> String Source # showList :: [ResolvedBCO] -> ShowS Source #
Generic ResolvedBCO Source # |
Instance details Associated Types type Rep ResolvedBCO :: * -> * Source # Methods from :: ResolvedBCO -> Rep ResolvedBCO x Source # to :: Rep ResolvedBCO x -> ResolvedBCO Source #
Binary ResolvedBCO Source # | The Binary instance for ResolvedBCOs. Note, that we do encode the endianness, however there is no support for mixed endianness setups. This is primarily to ensure that ghc and iserv share the same endianness.
Instance details Methods put :: ResolvedBCO -> Put Source # get :: Get ResolvedBCO Source # putList :: [ResolvedBCO] -> Put Source #
type Rep ResolvedBCO Source # |
Instance details type Rep ResolvedBCO = D1 (MetaData "ResolvedBCO" "GHCi.ResolvedBCO" "ghci-8.4.1" False) (C1 (MetaCons "ResolvedBCO" PrefixI True) ((S1 (MetaSel (Just "resolvedBCOIsLE") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool) :*: (S1 (MetaSel (Just "resolvedBCOArity") SourceUnpack SourceStrict DecidedStrict) (Rec0 Int) :*: S1 (MetaSel (Just "resolvedBCOInstrs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (UArray Int Word16)))) :*: (S1 (MetaSel (Just "resolvedBCOBitmap") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (UArray Int Word64)) :*: (S1 (MetaSel (Just "resolvedBCOLits") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (UArray Int Word64)) :*: S1 (MetaSel (Just "resolvedBCOPtrs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (SizedSeq ResolvedBCOPtr))))))

data ResolvedBCOPtr Source #

Constructors

ResolvedBCORef !Int | reference to the Nth BCO in the current set
ResolvedBCOPtr !(RemoteRef HValue) | reference to a previously created BCO
ResolvedBCOStaticPtr !(RemotePtr ()) | reference to a static ptr
ResolvedBCOPtrBCO ResolvedBCO | a nested BCO
ResolvedBCOPtrBreakArray !(RemoteRef BreakArray) | Resolves to the MutableArray# inside the BreakArray

Instances

Show ResolvedBCOPtr Source # |
Instance details Methods showsPrec :: Int -> ResolvedBCOPtr -> ShowS Source # show :: ResolvedBCOPtr -> String Source # showList :: [ResolvedBCOPtr] -> ShowS Source #
Generic ResolvedBCOPtr Source # |
Instance details Associated Types type Rep ResolvedBCOPtr :: * -> * Source # Methods from :: ResolvedBCOPtr -> Rep ResolvedBCOPtr x Source # to :: Rep ResolvedBCOPtr x -> ResolvedBCOPtr Source #
Binary ResolvedBCOPtr Source # |
Instance details Methods put :: ResolvedBCOPtr -> Put Source # get :: Get ResolvedBCOPtr Source # putList :: [ResolvedBCOPtr] -> Put Source #
type Rep ResolvedBCOPtr Source # |
Instance details type Rep ResolvedBCOPtr = D1 (MetaData "ResolvedBCOPtr" "GHCi.ResolvedBCO" "ghci-8.4.1" False) ((C1 (MetaCons "ResolvedBCORef" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) SourceUnpack SourceStrict DecidedStrict) (Rec0 Int)) :+: C1 (MetaCons "ResolvedBCOPtr" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) SourceUnpack SourceStrict DecidedStrict) (Rec0 (RemoteRef HValue)))) :+: (C1 (MetaCons "ResolvedBCOStaticPtr" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) SourceUnpack SourceStrict DecidedStrict) (Rec0 (RemotePtr ()))) :+: (C1 (MetaCons "ResolvedBCOPtrBCO" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ResolvedBCO)) :+: C1 (MetaCons "ResolvedBCOPtrBreakArray" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) SourceUnpack SourceStrict DecidedStrict) (Rec0 (RemoteRef BreakArray))))))

isLittleEndian :: Bool Source #