Instances1Outputable
Outputable CompiledByteCodeDefined in ghc-9.10.3 · GHC.ByteCode.Types
:: a typeCtrl KGHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27
Moduleghc-9.10.3GHC2021
Bytecode assembler types
Outputable CompiledByteCodeDefined in ghc-9.10.3 · GHC.ByteCode.TypesWrapper 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.
Show (BCOByteArray Word16)Defined in ghci-9.10.3 · GHCi.ResolvedBCOShow (BCOByteArray Word)Defined in ghci-9.10.3 · GHCi.ResolvedBCOBinary (BCOByteArray a)Defined in ghci-9.10.3 · GHCi.ResolvedBCOEnum RegBitmapDefined in ghc-9.10.3 · GHC.ByteCode.TypesEq RegBitmapDefined in ghc-9.10.3 · GHC.ByteCode.TypesIntegral RegBitmapDefined in ghc-9.10.3 · GHC.ByteCode.TypesNum RegBitmapDefined in ghc-9.10.3 · GHC.ByteCode.TypesOrd RegBitmapDefined in ghc-9.10.3 · GHC.ByteCode.TypesReal RegBitmapDefined in ghc-9.10.3 · GHC.ByteCode.TypesShow RegBitmapDefined in ghc-9.10.3 · GHC.ByteCode.TypesBits RegBitmapDefined in ghc-9.10.3 · GHC.ByteCode.TypesFiniteBits RegBitmapDefined in ghc-9.10.3 · GHC.ByteCode.TypesOutputable RegBitmapDefined in ghc-9.10.3 · GHC.ByteCode.TypesEq NativeCallTypeDefined in ghc-9.10.3 · GHC.ByteCode.TypesOutputable NativeCallInfoDefined in ghc-9.10.3 · GHC.ByteCode.TypesEnum ByteOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesEq ByteOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesIntegral ByteOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesNum ByteOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesOrd ByteOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesReal ByteOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesShow ByteOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesOutputable ByteOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesEnum WordOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesEq WordOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesIntegral WordOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesNum WordOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesOrd WordOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesReal WordOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesShow WordOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesOutputable WordOffDefined in ghc-9.10.3 · GHC.ByteCode.TypesEnum HalfWordDefined in ghc-9.10.3 · GHC.ByteCode.TypesEq HalfWordDefined in ghc-9.10.3 · GHC.ByteCode.TypesIntegral HalfWordDefined in ghc-9.10.3 · GHC.ByteCode.TypesNum HalfWordDefined in ghc-9.10.3 · GHC.ByteCode.TypesOrd HalfWordDefined in ghc-9.10.3 · GHC.ByteCode.TypesReal HalfWordDefined in ghc-9.10.3 · GHC.ByteCode.TypesShow HalfWordDefined in ghc-9.10.3 · GHC.ByteCode.TypesOutputable HalfWordDefined in ghc-9.10.3 · GHC.ByteCode.TypesNFData UnlinkedBCODefined in ghc-9.10.3 · GHC.ByteCode.TypesOutputable UnlinkedBCODefined in ghc-9.10.3 · GHC.ByteCode.TypesBCOPtrName !NameBCOPtrPrimOp !PrimOpBCOPtrBCO !UnlinkedBCOBCOPtrBreakArray (ForeignRef BreakArray)a pointer to a breakpoint's module's BreakArray in GHCi's memory
BCONPtrWord !WordBCONPtrLbl !FastStringBCONPtrItbl !NameBCONPtrAddr !NameA reference to a top-level string literal; see Note [Generating code for top-level string literal bindings] in GHC.StgToByteCode.
BCONPtrStr !ByteStringOnly used internally in the assembler in an intermediate representation; should never appear in a fully-assembled UnlinkedBCO. Also see Note [Allocating string literals] in GHC.ByteCode.Asm.
Information about a breakpoint that we know at code-generation time
In order to be used, this needs to be hydrated relative to the current HscEnv by
hydrateCgBreakInfo. Everything here can be fully forced and that's critical for
preventing space leaks (see #22530)
CgBreakInfocgb_tyvars :: ![IfaceTvBndr]Type variables in scope at the breakpoint
cgb_vars :: ![Maybe (IfaceIdBndr, Word)]cgb_resty :: !IfaceTypeOutputable CgBreakInfoDefined in ghc-9.10.3 · GHC.ByteCode.TypesAll the information about the breakpoints for a module
ModBreaksmodBreaks_flags :: ForeignRef BreakArrayThe array of flags, one per breakpoint, indicating which breakpoints are enabled.
modBreaks_locs :: !Array BreakIndex SrcSpanAn array giving the source span of each breakpoint.
modBreaks_vars :: !Array BreakIndex [OccName]An array giving the names of the free variables at each breakpoint.
modBreaks_decls :: !Array BreakIndex [String]An array giving the names of the declarations enclosing each breakpoint. See Note [Field modBreaks_decls]
modBreaks_ccs :: !Array BreakIndex (RemotePtr CostCentre)Array pointing to cost centre for each breakpoint
modBreaks_breakInfo :: IntMap CgBreakInfoinfo about each breakpoint from the bytecode generator
modBreaks_module :: RemotePtr ModuleNameBreakpoint index
Construct an empty ModBreaks
C CostCentre type
Store elements in a flattened representation.
A FlatBag is a data structure that stores an ordered list of elements in a flat structure, avoiding the overhead of a linked list. Use this data structure, if the code requires the following properties:
Elements are stored in a long-lived object, and benefit from a flattened representation.
The FlatBag will be traversed but not extended or filtered.
The number of elements should be known.
Sharing of the empty case improves memory behaviour.
A FlagBag aims to have as little overhead as possible to store its elements.
To achieve that, it distinguishes between the empty case, singleton, tuple
and general case.
Thus, we only pay for the additional three words of an Array if we have at least
three elements.
Calculate the size of
Convert a SizedSeq into its flattened representation. A 'FlatBag a' is more memory efficient than '[a]', if no further modification is necessary.
Get all elements that are stored in the FlatBag.