| Index: src/heap/heap-inl.h
|
| diff --git a/src/heap/heap-inl.h b/src/heap/heap-inl.h
|
| index 1480da34108c5e49cd992b10de421520f777e0aa..0cfcfe572315e0e1edff4190169764f31c8586cb 100644
|
| --- a/src/heap/heap-inl.h
|
| +++ b/src/heap/heap-inl.h
|
| @@ -25,20 +25,23 @@
|
| namespace v8 {
|
| namespace internal {
|
|
|
| -void PromotionQueue::insert(HeapObject* target, int size) {
|
| +void PromotionQueue::insert(HeapObject* target, intptr_t size) {
|
| if (emergency_stack_ != NULL) {
|
| emergency_stack_->Add(Entry(target, size));
|
| return;
|
| }
|
|
|
| - if ((rear_ - 2) < limit_) {
|
| + if ((rear_ - kEntrySizeInWords) < limit_) {
|
| RelocateQueueHead();
|
| emergency_stack_->Add(Entry(target, size));
|
| return;
|
| }
|
|
|
| - *(--rear_) = reinterpret_cast<intptr_t>(target);
|
| - *(--rear_) = size;
|
| + rear_ -= kEntrySizeInWords;
|
| + struct Entry* entry = reinterpret_cast<struct Entry*>(rear_);
|
| + entry->obj_ = target;
|
| + entry->size_ = size;
|
| +
|
| // Assert no overflow into live objects.
|
| #ifdef DEBUG
|
| SemiSpace::AssertValidRange(target->GetIsolate()->heap()->new_space()->top(),
|
|
|