Package org.jikesrvm.compilers.opt.regalloc

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.