HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Moduleghc-9.10.3GHC2021

GHC.ByteCode.Types

Bytecode assembler types

  • 21 types
  • 8 values
  • Packageghc-9.10.3
  • Exports29
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceTypes.hs
datadata BCOByteArray a
#

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.

Instances3Show, Binary
newtypenewtype RegBitmap
#
Instances10Enum, Eq, Integral, Num, Ord, Real, …
newtypenewtype ByteOff
#

Constructors

Instances8Enum, Eq, Integral, Num, Ord, Real, …
newtypenewtype WordOff
#

Constructors

Instances8Enum, Eq, Integral, Num, Ord, Real, …
newtypenewtype HalfWord
#

Constructors

Instances8Enum, Eq, Integral, Num, Ord, Real, …
datadata BCONPtr
#

Constructors

Instances1NFData
datadata CgBreakInfo
#

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)

Constructors

Instances1Outputable
datadata ModBreaks
#

All the information about the breakpoints for a module

Constructors

datadata FlatBag a
#

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.

Instances4Functor, Foldable, Traversable, NFData
valuefromSizedSeq :: SizedSeq a -> FlatBag a
#

Convert a SizedSeq into its flattened representation. A 'FlatBag a' is more memory efficient than '[a]', if no further modification is necessary.