diff options
Diffstat (limited to 'deps/v8/src/heap/invalidated-slots-inl.h')
-rw-r--r-- | deps/v8/src/heap/invalidated-slots-inl.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/deps/v8/src/heap/invalidated-slots-inl.h b/deps/v8/src/heap/invalidated-slots-inl.h index 577c4a5576..5e4610257e 100644 --- a/deps/v8/src/heap/invalidated-slots-inl.h +++ b/deps/v8/src/heap/invalidated-slots-inl.h @@ -47,6 +47,7 @@ bool InvalidatedSlotsFilter::IsValid(Address slot) { // Ask the object if the slot is valid. if (invalidated_object_ == nullptr) { invalidated_object_ = HeapObject::FromAddress(invalidated_start_); + DCHECK(!invalidated_object_->IsFiller()); invalidated_object_size_ = invalidated_object_->SizeFromMap(invalidated_object_->map()); } @@ -56,10 +57,7 @@ bool InvalidatedSlotsFilter::IsValid(Address slot) { static_cast<int>(invalidated_end_ - invalidated_start_)); if (offset >= invalidated_object_size_) { - // A new object could have been allocated during evacuation in the free - // space outside the object. Since objects are not invalidated in GC pause - // we can return true here. - return true; + return slots_in_free_space_are_valid_; } return invalidated_object_->IsValidSlot(invalidated_object_->map(), offset); } |