| Class and Description |
|---|
| GenericStackManager
Class to manage the allocation of the "compiler-independent" portion of
the stackframe.
|
| LinearScanState |
| LiveIntervalElement
This class defines a LiveInterval node created by Live Variable analysis
and used in Linear Scan.
|
| RegisterAllocatorState
The register allocator currently caches a bunch of state in the IR;
This class provides accessors to this state.
|
| Class and Description |
|---|
| LiveIntervalElement
This class defines a LiveInterval node created by Live Variable analysis
and used in Linear Scan.
|
| Class and Description |
|---|
| ActiveSet
"Active set" for linear scan register allocation.
|
| BasicInterval
Implements a basic live interval (no holes), which is a pair
begin - the starting point of the interval
end - the ending point of the interval
Begin and end are numbers given to each instruction by a numbering pass.
|
| CoalesceGraph
This class represents a graph, where
the nodes are registers
the edge weights represent affinities between registers.
|
| CoalesceGraph.Edge |
| CoalesceGraph.Node |
| CompoundInterval
Implements a live interval with holes; i.e. an ordered set of basic live
intervals.
|
| GenericRegisterPreferences
This class helps manage register preferences for coalescing and
register allocation.
|
| GenericRegisterRestrictions
An instance of this class provides a mapping from symbolic register to
a set of restricted registers.
|
| GenericRegisterRestrictions.RestrictedRegisterSet
An instance of this class represents restrictions on physical register
assignment.
|
| GenericStackManager.ScratchRegister
Class to represent a physical register currently allocated as a
scratch register.
|
| IncreasingEndMappedIntervalSet
Implements a set of Basic Intervals, sorted by end number.
|
| IncreasingEndMappedIntervalSet.EndComparator
Imposes an ascending ordering based on the end points of basic intervals.
|
| IncreasingStartIntervalSet
Implements a set of Basic Intervals, sorted by start number.
|
| IncreasingStartIntervalSet.StartComparator
Imposes an ascending ordering based on the start points of basic intervals.
|
| IntervalSet |
| LiveIntervalElement
This class defines a LiveInterval node created by Live Variable analysis
and used in Linear Scan.
|
| MappedBasicInterval
A basic interval contained in a CompoundInterval.
|
| RegisterAllocatorState
The register allocator currently caches a bunch of state in the IR;
This class provides accessors to this state.
|
| ScratchMap
This class holds information on scratch register usage, needed to
adjust GC Maps.
|
| ScratchMap.Interval
Super class of physical and symbolic intervals
|
| SpillCostEstimator
An object that returns an estimate of the relative cost of spilling a
symbolic register.
|
| SpillLocationInterval
The following represents the intervals assigned to a particular spill
location
|
| SpillLocationManager
The following class manages allocation and reuse of spill locations.
|
| Class and Description |
|---|
| GenericRegisterPreferences
This class helps manage register preferences for coalescing and
register allocation.
|
| GenericRegisterRestrictions
An instance of this class provides a mapping from symbolic register to
a set of restricted registers.
|
| GenericStackManager
Class to manage the allocation of the "compiler-independent" portion of
the stackframe.
|
| LiveIntervalElement
This class defines a LiveInterval node created by Live Variable analysis
and used in Linear Scan.
|