GHCi.ResolvedBCO

ghci-8.10.5: 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

Instances details

Show ResolvedBCO # |
Instance details Defined in GHCi.ResolvedBCO Methods showsPrec :: Int -> ResolvedBCO -> ShowS Source # show :: ResolvedBCO -> String Source # showList :: [ResolvedBCO] -> ShowS Source #
Generic ResolvedBCO # |
Instance details Defined in GHCi.ResolvedBCO Associated Types type Rep ResolvedBCO :: Type -> Type Source # Methods from :: ResolvedBCO -> Rep ResolvedBCO x Source # to :: Rep ResolvedBCO x -> ResolvedBCO Source #
Binary ResolvedBCO # | 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 Defined in GHCi.ResolvedBCO Methods put :: ResolvedBCO -> Put Source # get :: Get ResolvedBCO Source # putList :: [ResolvedBCO] -> Put Source #
type Rep ResolvedBCO # |
Instance details Defined in GHCi.ResolvedBCO type Rep ResolvedBCO = D1 ('MetaData "ResolvedBCO" "GHCi.ResolvedBCO" "ghci-8.10.5" '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

Instances details

Show ResolvedBCOPtr # |
Instance details Defined in GHCi.ResolvedBCO Methods showsPrec :: Int -> ResolvedBCOPtr -> ShowS Source # show :: ResolvedBCOPtr -> String Source # showList :: [ResolvedBCOPtr] -> ShowS Source #
Generic ResolvedBCOPtr # |
Instance details Defined in GHCi.ResolvedBCO Associated Types type Rep ResolvedBCOPtr :: Type -> Type Source # Methods from :: ResolvedBCOPtr -> Rep ResolvedBCOPtr x Source # to :: Rep ResolvedBCOPtr x -> ResolvedBCOPtr Source #
Binary ResolvedBCOPtr # |
Instance details Defined in GHCi.ResolvedBCO Methods put :: ResolvedBCOPtr -> Put Source # get :: Get ResolvedBCOPtr Source # putList :: [ResolvedBCOPtr] -> Put Source #
type Rep ResolvedBCOPtr # |
Instance details Defined in GHCi.ResolvedBCO type Rep ResolvedBCOPtr = D1 ('MetaData "ResolvedBCOPtr" "GHCi.ResolvedBCO" "ghci-8.10.5" '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 #