Fix Heap::IsHeapIterable.
authorjarin@chromium.org <jarin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 20 May 2014 13:19:21 +0000 (13:19 +0000)
committerjarin@chromium.org <jarin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 20 May 2014 13:19:21 +0000 (13:19 +0000)
commitdd4c82bbb3c3e51a610892c4285cbad3e7ee978c
tree1bf9003bffbb6f166cbdd73a212642908cc98596
parenta7e19c1a436efd6e86d1ab70634ed1dc5c929e18
Fix Heap::IsHeapIterable.

We only consider heap iterable if the new space is empty (in addition to the exisiting old space check).

The change also moves the iterability forcing + allocation prevention gadgets to HeapIterator so that it is impossible to miss them when iterating the heap.

R=hpayer@chromium.org
BUG=373283
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/debug.cc
src/heap-profiler.cc
src/heap-snapshot-generator.cc
src/heap.cc
src/heap.h
src/liveedit.cc
src/runtime.cc
test/cctest/test-api.cc
test/cctest/test-heap.cc
test/cctest/test-object-observe.cc
test/mjsunit/regress/regress-373283.js [new file with mode: 0644]