ghc-9.15: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.ByteCode.Breakpoints

Description

Breakpoint information constructed during ByteCode generation.

Specifically, code-generation breakpoints are referred to as "internal breakpoints", the internal breakpoint data for a module is stored in InternalModBreaks, and is uniquely identified at runtime by an InternalBreakpointId.

See Note [Breakpoint identifiers]

Synopsis

Internal Mod Breaks

data InternalModBreaks Source #

Internal mod breaks store the runtime-relevant information of breakpoints.

Importantly, it maps InternalBreakpointIds to CgBreakInfo.

InternalModBreaks are constructed during bytecode generation and stored in CompiledByteCode afterwards.

Constructors

InternalModBreaks 

Fields

data CgBreakInfo Source #

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

CgBreakInfo 

Fields

Instances

Instances details
Outputable CgBreakInfo Source # 
Instance details

Defined in GHC.ByteCode.Breakpoints

Methods

ppr :: CgBreakInfo -> SDoc Source #

Internal breakpoint identifier

data InternalBreakpointId Source #

Internal breakpoint identifier

Indexes into the structures in the InternalModBreaks produced during ByteCode generation. See Note [Breakpoint identifiers]

Constructors

InternalBreakpointId 

Fields

type BreakInfoIndex = Int Source #

Internal breakpoint info index

Operations

Internal-level operations

Source-level information operations

getBreakLoc :: InternalBreakpointId -> InternalModBreaks -> SrcSpan Source #

Get the source span for this breakpoint

getBreakVars :: InternalBreakpointId -> InternalModBreaks -> [OccName] Source #

Get the vars for this breakpoint

getBreakDecls :: InternalBreakpointId -> InternalModBreaks -> [String] Source #

Get the decls for this breakpoint

getBreakCCS :: InternalBreakpointId -> InternalModBreaks -> (String, String) Source #

Get the decls for this breakpoint

Utils