| Index: src/compiler/register-allocator.cc
|
| diff --git a/src/compiler/register-allocator.cc b/src/compiler/register-allocator.cc
|
| index eea59004307aa9405a2d2637d681a1a188f085f8..731393bcb0097cd36cd22b564d278a990ce40608 100644
|
| --- a/src/compiler/register-allocator.cc
|
| +++ b/src/compiler/register-allocator.cc
|
| @@ -437,6 +437,7 @@ LiveRange* LiveRange::SplitAt(LifetimePosition position, Zone* zone) {
|
| void LiveRange::DetachAt(LifetimePosition position, LiveRange* result,
|
| Zone* zone) {
|
| DCHECK(Start() < position);
|
| + DCHECK(End() > position);
|
| DCHECK(result->IsEmpty());
|
| // Find the last interval that ends before the position. If the
|
| // position is contained in one of the intervals in the chain, we
|
| @@ -878,7 +879,7 @@ void TopLevelLiveRange::SetSplinteredFrom(TopLevelLiveRange* splinter_parent) {
|
| DCHECK(splinter_parent->Start() < Start());
|
|
|
| splintered_from_ = splinter_parent;
|
| - if (!HasSpillOperand()) {
|
| + if (!HasSpillOperand() && splinter_parent->spill_range_ != nullptr) {
|
| SetSpillRange(splinter_parent->spill_range_);
|
| }
|
| }
|
|
|