| Index: src/lithium-allocator.h
|
| diff --git a/src/lithium-allocator.h b/src/lithium-allocator.h
|
| index 5b05263575dcc45d2d1f9e53ee8066054660d49f..036560f5699cb1bcfd8d550c1e37df3871512ea6 100644
|
| --- a/src/lithium-allocator.h
|
| +++ b/src/lithium-allocator.h
|
| @@ -311,6 +311,10 @@ class LiveRange: public ZoneObject {
|
| // Modifies internal state of live range!
|
| UsePosition* NextUsePositionRegisterIsBeneficial(LifetimePosition start);
|
|
|
| + // Returns use position for which register is beneficial in this live
|
| + // range and which precedes start.
|
| + UsePosition* PreviousUsePositionRegisterIsBeneficial(LifetimePosition start);
|
| +
|
| // Can this live range be spilled at this position.
|
| bool CanBeSpilled(LifetimePosition pos);
|
|
|
| @@ -563,6 +567,11 @@ class LAllocator BASE_EMBEDDED {
|
|
|
| void SplitAndSpillIntersecting(LiveRange* range);
|
|
|
| + // If we are trying to spill a range inside the loop try to
|
| + // hoist spill position out to the point just before the loop.
|
| + LifetimePosition FindOptimalSpillingPos(LiveRange* range,
|
| + LifetimePosition pos);
|
| +
|
| void Spill(LiveRange* range);
|
| bool IsBlockBoundary(LifetimePosition pos);
|
|
|
|
|