C# Class Mosa.Compiler.Framework.RegisterAllocator.BasicRegisterAllocator

Inheritance: BaseRegisterAllocator
Show file Open project: tgiphil/MOSA-Project

Public Methods

Method Description
BasicRegisterAllocator ( BasicBlocks basicBlocks, VirtualRegisters virtualRegisters, BaseArchitecture architecture, AddStackLocalDelegate addStackLocal, Operand stackFrame, ITraceFactory traceFactory ) : Mosa.Compiler.Trace

Protected Methods

Method Description
AdditionalSetup ( ) : void
CalculatePriorityValue ( LiveInterval liveInterval ) : int
CalculateSpillCost ( LiveInterval liveInterval ) : void
SplitIntervalAtCallSite ( LiveInterval liveInterval, SlotIndex callSite ) : void
SplitIntervalsAtCallSites ( ) : void
TrySplitInterval ( LiveInterval liveInterval, int level ) : bool

Private Methods

Method Description
GetSpillCost ( SlotIndex use, int factor ) : int

Method Details

AdditionalSetup() protected method

protected AdditionalSetup ( ) : void
return void

BasicRegisterAllocator() public method

public BasicRegisterAllocator ( BasicBlocks basicBlocks, VirtualRegisters virtualRegisters, BaseArchitecture architecture, AddStackLocalDelegate addStackLocal, Operand stackFrame, ITraceFactory traceFactory ) : Mosa.Compiler.Trace
basicBlocks BasicBlocks
virtualRegisters VirtualRegisters
architecture BaseArchitecture
addStackLocal AddStackLocalDelegate
stackFrame Operand
traceFactory ITraceFactory
return Mosa.Compiler.Trace

CalculatePriorityValue() protected method

protected CalculatePriorityValue ( LiveInterval liveInterval ) : int
liveInterval LiveInterval
return int

CalculateSpillCost() protected method

protected CalculateSpillCost ( LiveInterval liveInterval ) : void
liveInterval LiveInterval
return void

SplitIntervalAtCallSite() protected method

protected SplitIntervalAtCallSite ( LiveInterval liveInterval, SlotIndex callSite ) : void
liveInterval LiveInterval
callSite SlotIndex
return void

SplitIntervalsAtCallSites() protected method

protected SplitIntervalsAtCallSites ( ) : void
return void

TrySplitInterval() protected method

protected TrySplitInterval ( LiveInterval liveInterval, int level ) : bool
liveInterval LiveInterval
level int
return bool