Commit 6fb4e02c authored by Dominik Inführ's avatar Dominik Inführ Committed by V8 LUCI CQ

[heap] Turn AssertNoInvalidTypedSlots into release CHECK

Turn this assertion also on for release builds for now. This shouldn't
regress sweeping performance because we do the same work as in the last
release.

Bug: v8:12760
Change-Id: I02f78157d20780f46bb4aebf59ce96a7b52f0a27
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571810Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#79841}
parent a1ff9120
......@@ -322,12 +322,11 @@ class Page : public MemoryChunk {
template <RememberedSetType remembered_set>
void AssertNoInvalidTypedSlots(const TypedSlotSet::FreeRangesMap& ranges) {
#if DEBUG
// TODO(dinfuehr): Make this a DCHECK eventually.
TypedSlotSet* typed_slot_set = this->typed_slot_set<OLD_TO_OLD>();
if (typed_slot_set != nullptr) {
typed_slot_set->AssertNoInvalidSlots(ranges);
}
#endif // DEBUG
}
private:
......
......@@ -354,8 +354,9 @@ int Sweeper::RawSweep(Page* p, FreeListRebuildingMode free_list_mode,
size_t live_bytes = 0;
size_t max_freed_bytes = 0;
bool record_free_ranges =
p->typed_slot_set<OLD_TO_NEW>() != nullptr || DEBUG_BOOL;
bool record_free_ranges = p->typed_slot_set<OLD_TO_NEW>() != nullptr ||
p->typed_slot_set<OLD_TO_OLD>() != nullptr ||
DEBUG_BOOL;
// Clean invalidated slots during the final atomic pause. After resuming
// execution this isn't necessary, invalid old-to-new refs were already
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment