Skip to content

Commit 9a6a228

Browse files
LeszekSwirskiCommit Bot
authored andcommitted
[heap] Fix DCHECK in TransitionArrayNeedsCompaction
The dead target check in TransitionArrayNeedsCompaction, confirming that Smi (uninitialized) targets imply that no other target is dead, has to additionally support Smi entries. Bug: v8:11305 Change-Id: I6f3fa9e7420b1bd0a64a25dae670f439e3f41162 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2622914 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#72040}
1 parent d16a2a6 commit 9a6a228

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

src/heap/mark-compact.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2290,7 +2290,9 @@ bool MarkCompactCollector::TransitionArrayNeedsCompaction(
22902290
#ifdef DEBUG
22912291
// Targets can only be dead iff this array is fully deserialized.
22922292
for (int i = 0; i < num_transitions; ++i) {
2293-
DCHECK(!non_atomic_marking_state()->IsWhite(transitions.GetTarget(i)));
2293+
DCHECK_IMPLIES(
2294+
!transitions.GetRawTarget(i).IsSmi(),
2295+
!non_atomic_marking_state()->IsWhite(transitions.GetTarget(i)));
22942296
}
22952297
#endif
22962298
return false;

0 commit comments

Comments
 (0)