ghci-10.0.0.20260917: The library supporting GHC's interactive interpreter
Safe HaskellNone
LanguageHaskell2010

GHCi.ResolvedBCO

Synopsis

Documentation

data ResolvedBCO Source #

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

Constructors

ResolvedBCO 

Fields

ResolvedStaticCon

A resolved static constructor See Note [Static constructors in Bytecode]

Fields

Instances

Instances details
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

Defined in GHCi.ResolvedBCO

Generic ResolvedBCO Source # 
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" "ghci-10.0.0.20260917-0599" 'False) (C1 ('MetaCons "ResolvedBCO" 'PrefixI 'True) ((S1 ('MetaSel ('Just "resolvedBCOIsLE") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "resolvedBCOArity") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "resolvedBCOInstrs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BCOByteArray Word16)))) :*: (S1 ('MetaSel ('Just "resolvedBCOBitmap") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BCOByteArray Word)) :*: (S1 ('MetaSel ('Just "resolvedBCOLits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BCOByteArray Word)) :*: S1 ('MetaSel ('Just "resolvedBCOPtrs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SmallArray ResolvedBCOPtr))))) :+: C1 ('MetaCons "ResolvedStaticCon" 'PrefixI 'True) ((S1 ('MetaSel ('Just "resolvedBCOIsLE") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "resolvedStaticConInfoPtr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (RemotePtr StgInfoTable)) :*: S1 ('MetaSel ('Just "resolvedStaticConArity") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word))) :*: (S1 ('MetaSel ('Just "resolvedStaticConLits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BCOByteArray Word)) :*: (S1 ('MetaSel ('Just "resolvedStaticConPtrs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SmallArray ResolvedBCOPtr)) :*: S1 ('MetaSel ('Just "resolvedStaticConIsUnlifted") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)))))
Show ResolvedBCO Source # 
Instance details

Defined in GHCi.ResolvedBCO

type Rep ResolvedBCO Source # 
Instance details

Defined in GHCi.ResolvedBCO

type Rep ResolvedBCO = D1 ('MetaData "ResolvedBCO" "GHCi.ResolvedBCO" "ghci-10.0.0.20260917-0599" 'False) (C1 ('MetaCons "ResolvedBCO" 'PrefixI 'True) ((S1 ('MetaSel ('Just "resolvedBCOIsLE") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "resolvedBCOArity") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "resolvedBCOInstrs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BCOByteArray Word16)))) :*: (S1 ('MetaSel ('Just "resolvedBCOBitmap") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BCOByteArray Word)) :*: (S1 ('MetaSel ('Just "resolvedBCOLits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BCOByteArray Word)) :*: S1 ('MetaSel ('Just "resolvedBCOPtrs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SmallArray ResolvedBCOPtr))))) :+: C1 ('MetaCons "ResolvedStaticCon" 'PrefixI 'True) ((S1 ('MetaSel ('Just "resolvedBCOIsLE") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "resolvedStaticConInfoPtr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (RemotePtr StgInfoTable)) :*: S1 ('MetaSel ('Just "resolvedStaticConArity") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word))) :*: (S1 ('MetaSel ('Just "resolvedStaticConLits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BCOByteArray Word)) :*: (S1 ('MetaSel ('Just "resolvedStaticConPtrs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SmallArray ResolvedBCOPtr)) :*: S1 ('MetaSel ('Just "resolvedStaticConIsUnlifted") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)))))

data ResolvedBCOPtr Source #

Constructors

ResolvedBCORef !Int

reference to the Nth BCO in the current set of BCOs and lifted static constructors

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

ResolvedStaticConRef !Int

reference to the Nth static constructor in the current set of BCOs and lifted static constructors

ResolvedUnliftedStaticConRef !Int

reference to the Nth unlifted static constructor in the current set of exclusively unlifted static constructors

Instances

Instances details
Binary ResolvedBCOPtr Source # 
Instance details

Defined in GHCi.ResolvedBCO

Generic ResolvedBCOPtr Source # 
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" "ghci-10.0.0.20260917-0599" '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)))) :+: (C1 ('MetaCons "ResolvedStaticConRef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "ResolvedUnliftedStaticConRef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Int)))))
Show ResolvedBCOPtr Source # 
Instance details

Defined in GHCi.ResolvedBCO

type Rep ResolvedBCOPtr Source # 
Instance details

Defined in GHCi.ResolvedBCO

type Rep ResolvedBCOPtr = D1 ('MetaData "ResolvedBCOPtr" "GHCi.ResolvedBCO" "ghci-10.0.0.20260917-0599" '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)))) :+: (C1 ('MetaCons "ResolvedStaticConRef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "ResolvedUnliftedStaticConRef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Int)))))

data BCOByteArray a Source #

Wrapper for a ByteArray#. The phantom type tells what elements are stored in the ByteArray#. Creating a ByteArray# can be achieved using UArray's API, where the underlying ByteArray# can be unpacked.

Constructors

BCOByteArray