ghc-lib-parser-9.10.1.20250103: The GHC API, decoupled from GHC versions

Safe Haskell | Ignore
Language | GHC2021

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 #

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

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 # get :: Get ResolvedBCO # putList :: [ResolvedBCO] -> Put #
Generic ResolvedBCO # |

Instance details

Defined in GHCi.ResolvedBCO

Associated Types

type Rep ResolvedBCO |

Instance details

Defined in GHCi.ResolvedBCO

type Rep ResolvedBCO = D1 ('MetaData "ResolvedBCO" "GHCi.ResolvedBCO" "ghc-lib-parser-9.10.1.20250103-FaHJOkjTl0Y9STmjhYbIHo" '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))))))

Methods

from :: ResolvedBCO -> Rep ResolvedBCO x #

to :: Rep ResolvedBCO x -> ResolvedBCO #

Show ResolvedBCO # |
Instance details Defined in GHCi.ResolvedBCO Methods showsPrec :: Int -> ResolvedBCO -> ShowS # show :: ResolvedBCO -> String # showList :: [ResolvedBCO] -> ShowS #
type Rep ResolvedBCO # |

Instance details

Defined in GHCi.ResolvedBCO

type Rep ResolvedBCO = D1 ('MetaData "ResolvedBCO" "GHCi.ResolvedBCO" "ghc-lib-parser-9.10.1.20250103-FaHJOkjTl0Y9STmjhYbIHo" '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 #

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

Binary ResolvedBCOPtr # |
Instance details Defined in GHCi.ResolvedBCO Methods put :: ResolvedBCOPtr -> Put # get :: Get ResolvedBCOPtr # putList :: [ResolvedBCOPtr] -> Put #
Generic ResolvedBCOPtr # |

Instance details

Defined in GHCi.ResolvedBCO

Associated Types

type Rep ResolvedBCOPtr |

Instance details

Defined in GHCi.ResolvedBCO

type Rep ResolvedBCOPtr = D1 ('MetaData "ResolvedBCOPtr" "GHCi.ResolvedBCO" "ghc-lib-parser-9.10.1.20250103-FaHJOkjTl0Y9STmjhYbIHo" '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))))))

Methods

from :: ResolvedBCOPtr -> Rep ResolvedBCOPtr x #

to :: Rep ResolvedBCOPtr x -> ResolvedBCOPtr #

Show ResolvedBCOPtr # |
Instance details Defined in GHCi.ResolvedBCO Methods showsPrec :: Int -> ResolvedBCOPtr -> ShowS # show :: ResolvedBCOPtr -> String # showList :: [ResolvedBCOPtr] -> ShowS #
type Rep ResolvedBCOPtr # |

Instance details

Defined in GHCi.ResolvedBCO

type Rep ResolvedBCOPtr = D1 ('MetaData "ResolvedBCOPtr" "GHCi.ResolvedBCO" "ghc-lib-parser-9.10.1.20250103-FaHJOkjTl0Y9STmjhYbIHo" '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 #