|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||
| Class Summary | |
|---|---|
| BlockCountSpillCost | An object that returns an estimate of the relative cost of spilling a symbolic register, based on basic block frequencies. |
| BrainDeadSpillCost | An object that returns an estimate of the relative cost of spilling a symbolic register. |
| Coalesce | Utility to help coalesce registers. |
| CoalesceGraph | This class represents a graph, where - the nodes are registers - the edge weights represent affinities between registers. |
| CoalesceGraph.Edge | |
| CoalesceGraph.Node | |
| CoalesceMoves | Coalesce registers in move instructions where possible. |
| ExpandCallingConvention | Phase for expanding the calling convention |
| 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 | Class to manage the allocation of the "compiler-independent" portion of the stackframe. |
| GenericStackManager.ScratchRegister | Class to represent a physical register currently allocated as a scratch register. |
| LinearScan | Main driver for linear scan register allocation. |
| LinearScan.ActiveSet | "Active set" for linear scan register allocation. |
| LinearScan.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 |
| LinearScan.CompoundInterval | Implements a live interval with holes; ie; a list of basic live intervals. |
| LinearScan.IncreasingEndMappedIntervalSet | Implements a set of Basic Intervals, sorted by end number. |
| LinearScan.IncreasingEndMappedIntervalSet.EndComparator | |
| LinearScan.IncreasingStartIntervalSet | Implements a set of Basic Intervals, sorted by start number. |
| LinearScan.IncreasingStartIntervalSet.StartComparator | |
| LinearScan.IncreasingStartMappedIntervalSet | Implements a set of Basic Intervals, sorted by start number. |
| LinearScan.IncreasingStartMappedIntervalSet.StartComparator | |
| LinearScan.IntervalAnalysis | phase to compute linear scan intervals. |
| LinearScan.IntervalSet | |
| LinearScan.LinearScanPhase | |
| LinearScan.LinearScanState | |
| LinearScan.MappedBasicInterval | A basic interval contained in a CompoundInterval. |
| LinearScan.RegisterRestrictionsPhase | A phase to compute register restrictions. |
| LinearScan.SpillCode | Insert Spill Code after register assignment. |
| LinearScan.SpillLocationInterval | The following represents the intervals assigned to a particular spill location |
| LinearScan.SpillLocationManager | The following class manages allocation and reuse of spill locations. |
| LinearScan.UpdateGCMaps1 | Update GC maps after register allocation but before inserting spill code. |
| LinearScan.UpdateGCMaps2 | Update GC Maps again, to account for changes induced by spill code. |
| LinearScan.UpdateOSRMaps | Update GC maps after register allocation but before inserting spill code. |
| LiveIntervalElement | This class defines a LiveInterval node created by Live Variable analysis and used in Linear Scan. |
| PrologueEpilogueCreator | This class is a phase that inserts prologues and epilogues |
| RegisterAllocator | Driver routine for register allocation |
| RegisterAllocator.RegisterAllocPreparation | |
| 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 |
| ScratchMap.PhysicalInterval | An object that represents an interval where a physical register's contents are evicted so that the physical register can be used as a scratch. |
| ScratchMap.SymbolicInterval | An object that represents an interval where a symbolic register resides in a scratch register. |
| SimpleSpillCost | An object that returns an estimate of the relative cost of spilling a symbolic register. |
| SpillCostEstimator | An object that returns an estimate of the relative cost of spilling a symbolic register. |
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||