|
BreakableScope * | FindBreakable (BreakableStatement *target) |
|
void | MeetRegisterConstraints () |
|
void | ResolvePhis () |
|
void | BuildLiveRanges () |
|
void | AllocateGeneralRegisters () |
|
void | AllocateDoubleRegisters () |
|
void | ConnectRanges () |
|
void | ResolveControlFlow () |
|
void | PopulatePointerMaps () |
|
void | AllocateRegisters () |
|
bool | CanEagerlyResolveControlFlow (BasicBlock *block) const |
|
bool | SafePointsAreInOrder () const |
|
void | InitializeLivenessAnalysis () |
|
BitVector * | ComputeLiveOut (BasicBlock *block) |
|
void | AddInitialIntervals (BasicBlock *block, BitVector *live_out) |
|
bool | IsOutputRegisterOf (Instruction *instr, int index) |
|
bool | IsOutputDoubleRegisterOf (Instruction *instr, int index) |
|
void | ProcessInstructions (BasicBlock *block, BitVector *live) |
|
void | MeetRegisterConstraints (BasicBlock *block) |
|
void | MeetConstraintsBetween (Instruction *first, Instruction *second, int gap_index) |
|
void | MeetRegisterConstraintsForLastInstructionInBlock (BasicBlock *block) |
|
void | ResolvePhis (BasicBlock *block) |
|
InstructionOperand * | AllocateFixed (UnallocatedOperand *operand, int pos, bool is_tagged) |
|
LiveRange * | LiveRangeFor (InstructionOperand *operand) |
|
void | Define (LifetimePosition position, InstructionOperand *operand, InstructionOperand *hint) |
|
void | Use (LifetimePosition block_start, LifetimePosition position, InstructionOperand *operand, InstructionOperand *hint) |
|
void | AddConstraintsGapMove (int index, InstructionOperand *from, InstructionOperand *to) |
|
void | AddToActive (LiveRange *range) |
|
void | AddToInactive (LiveRange *range) |
|
void | AddToUnhandledSorted (LiveRange *range) |
|
void | AddToUnhandledUnsorted (LiveRange *range) |
|
void | SortUnhandled () |
|
bool | UnhandledIsSorted () |
|
void | ActiveToHandled (LiveRange *range) |
|
void | ActiveToInactive (LiveRange *range) |
|
void | InactiveToHandled (LiveRange *range) |
|
void | InactiveToActive (LiveRange *range) |
|
void | FreeSpillSlot (LiveRange *range) |
|
InstructionOperand * | TryReuseSpillSlot (LiveRange *range) |
|
bool | TryAllocateFreeReg (LiveRange *range) |
|
void | AllocateBlockedReg (LiveRange *range) |
|
LiveRange * | SplitRangeAt (LiveRange *range, LifetimePosition pos) |
|
LiveRange * | SplitBetween (LiveRange *range, LifetimePosition start, LifetimePosition end) |
|
LifetimePosition | FindOptimalSplitPos (LifetimePosition start, LifetimePosition end) |
|
void | SpillAfter (LiveRange *range, LifetimePosition pos) |
|
void | SpillBetween (LiveRange *range, LifetimePosition start, LifetimePosition end) |
|
void | SpillBetweenUntil (LiveRange *range, LifetimePosition start, LifetimePosition until, LifetimePosition end) |
|
void | SplitAndSpillIntersecting (LiveRange *range) |
|
LifetimePosition | FindOptimalSpillingPos (LiveRange *range, LifetimePosition pos) |
|
void | Spill (LiveRange *range) |
|
bool | IsBlockBoundary (LifetimePosition pos) |
|
void | ResolveControlFlow (LiveRange *range, BasicBlock *block, BasicBlock *pred) |
|
void | SetLiveRangeAssignedRegister (LiveRange *range, int reg) |
|
ParallelMove * | GetConnectingParallelMove (LifetimePosition pos) |
|
BasicBlock * | GetBlock (LifetimePosition pos) |
|
int | RegisterCount () const |
|
LiveRange * | FixedLiveRangeFor (int index) |
|
LiveRange * | FixedDoubleLiveRangeFor (int index) |
|
LiveRange * | LiveRangeFor (int index) |
|
GapInstruction * | GetLastGap (BasicBlock *block) |
|
const char * | RegisterName (int allocation_index) |
|
Instruction * | InstructionAt (int index) |
|
| DISALLOW_COPY_AND_ASSIGN (RegisterAllocator) |
|
Definition at line 282 of file ast-graph-builder.h.