Browse Source

deps: backport e7cc609 from upstream V8

This is part 1/2 of the fixes from v8:4871. This fixes a segfault in
verify-heap.

Original commit message:
  [crankshaft] Write fillers for folded old space allocations during verify-heap

  If we don't write fillers, we crash during PagedSpace verification when we try
  to iterate over dead memory (unused folded allocation slots).

  BUG=v8:4871,chromium:580959
  LOG=N

  Review URL: https://codereview.chromium.org/1837163002

  Cr-Commit-Position: refs/heads/master@{#35097}

Fixes: https://github.com/nodejs/node/issues/5900
V8-Bug: https://bugs.chromium.org/p/v8/issues/detail?id=4871

PR-URL: https://github.com/nodejs/node/pull/7303
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
v4.x
Ali Ijaz Sheikh 9 years ago
committed by Myles Borins
parent
commit
d9e9d9fb11
  1. 6
      deps/v8/src/hydrogen-instructions.cc

6
deps/v8/src/hydrogen-instructions.cc

@ -3825,12 +3825,12 @@ bool HAllocate::HandleSideEffectDominator(GVNFlag side_effect,
}
}
bool keep_new_space_iterable = FLAG_log_gc || FLAG_heap_stats;
bool keep_heap_iterable = FLAG_log_gc || FLAG_heap_stats;
#ifdef VERIFY_HEAP
keep_new_space_iterable = keep_new_space_iterable || FLAG_verify_heap;
keep_heap_iterable = keep_heap_iterable || FLAG_verify_heap;
#endif
if (keep_new_space_iterable && dominator_allocate->IsNewSpaceAllocation()) {
if (keep_heap_iterable) {
dominator_allocate->MakePrefillWithFiller();
} else {
// TODO(hpayer): This is a short-term hack to make allocation mementos

Loading…
Cancel
Save