About the tests: Instead of changing the old tests to
FLAG_retain_maps_for_n_gc
= 0; wouldn't it make more sense to change the test semantics?
https://codereview.chromium.org/794583003/diff/60001/src/heap/mark-compact.cc
File src/heap/mark-compact.cc (right):
https://codereview.chromium.org/794583003/diff/60001/src/heap/mark-compact.cc#newcode2127
src/heap/mark-compact.cc:2127: if (reduce_memory_footprint_ ||
abort_incremental_marking_ ||
Why do you bail out for abort_incremental_marking_?
https://codereview.chromium.org/794583003/diff/60001/src/heap/mark-compact.cc#newcode2161
src/heap/mark-compact.cc:2161: if (counter <
Map::kRetainingCounterStart) {
else if
https://codereview.chromium.org/794583003/diff/60001/src/heap/mark-compact.cc#newcode2269
src/heap/mark-compact.cc:2269: RetainMaps(&root_visitor);
On 2014/12/16 16:35:23, ulan wrote:
On 2014/12/16 16:16:33, Erik Corry wrote:
> This should be after the ephemeral stuff. Maps that are kept alive
by
> ephemerally-alive objects should not age.
>
> But even better would be to put it inside ClearNonLiveReferences.
That already
> iterates over the map space. It is better for the cache not to
iterate
multiple
> times.
It should not be after ephemeral marking, because a resurrected map
could mark
the key of an ephemeron, which would require marking the value of the
ephemeron.
The most precise would be to put RetainMaps inside the loop in
ProcessEphemeralMarking, but that would be prohibitively expensive. So
I had to
use imprecise (some live maps will age) but faster approach.
Please write a comment about that somewhere.
https://codereview.chromium.org/794583003/diff/60001/test/cctest/test-heap.cc
File test/cctest/test-heap.cc (right):
https://codereview.chromium.org/794583003/diff/60001/test/cctest/test-heap.cc#newcode4955
test/cctest/test-heap.cc:4955: TEST(MapRetaining) {
Please also test the flag for n == 0, n in between start and end, and n
outside start and end.
https://codereview.chromium.org/794583003/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.