Chromium Code Reviews| Index: src/heap/spaces.cc |
| diff --git a/src/heap/spaces.cc b/src/heap/spaces.cc |
| index 1ab5de737919cbe8d92fd9e0a31985144132aa7c..6896ef2f6095a51e5cdd853a315f298162acc3e1 100644 |
| --- a/src/heap/spaces.cc |
| +++ b/src/heap/spaces.cc |
| @@ -2471,7 +2471,8 @@ HeapObject* FreeList::Allocate(int size_in_bytes) { |
| // Keep the linear allocation area empty if requested to do so, just |
| // return area back to the free list instead. |
| owner_->Free(new_node->address() + size_in_bytes, bytes_left); |
| - DCHECK(owner_->top() == NULL && owner_->limit() == NULL); |
|
Hannes Payer (out of office)
2016/05/10 07:49:33
These changes will be committed in the crankshaft
Benedikt Meurer
2016/05/10 08:01:45
Yep, will rebase.
|
| + owner_->SetTopAndLimit(new_node->address() + size_in_bytes, |
| + new_node->address() + size_in_bytes); |
| } else if (bytes_left > kThreshold && |
| owner_->heap()->incremental_marking()->IsMarkingIncomplete() && |
| FLAG_incremental_marking) { |
| @@ -2483,7 +2484,7 @@ HeapObject* FreeList::Allocate(int size_in_bytes) { |
| new_node_size - size_in_bytes - linear_size); |
| owner_->SetTopAndLimit(new_node->address() + size_in_bytes, |
| new_node->address() + size_in_bytes + linear_size); |
| - } else if (bytes_left > 0) { |
| + } else if (bytes_left >= 0) { |
| // Normally we give the rest of the node to the allocator as its new |
| // linear allocation area. |
| owner_->SetTopAndLimit(new_node->address() + size_in_bytes, |