summaryrefslogtreecommitdiff
path: root/deps/v8/src/heap/invalidated-slots-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/heap/invalidated-slots-inl.h')
-rw-r--r--deps/v8/src/heap/invalidated-slots-inl.h6
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);
}