Description of the change list is misleading.
ic_age has nothing to do with _code_ flushing, it affects only _ic_
flushing.
It seems you don't need to enable code flushing (it would not be able to
flush a
lot (if anything) because everything is marked and no candidate collected)
but
instead you should move
if (shared->ic_age() != heap->global_ic_age()) {
shared->ResetForNewContext(heap->global_ic_age());
}
from
VisitSharedFunctionInfoAndFlushCodeGeneric
to the beginning of
VisitSharedFunctionInfoAndFlushCode
to clear those shared-function-infos that are marked after incremental
marking
is complete.
https://chromiumcodereview.appspot.com/10258001/diff/2002/test/cctest/test-heap.cc
File test/cctest/test-heap.cc (right):
https://chromiumcodereview.appspot.com/10258001/diff/2002/test/cctest/test-heap.cc#newcode1660
test/cctest/test-heap.cc:1660: HEAP->CollectAllGarbage(Heap::kNoGCFlags,
It seems that if !IsStopped() and !should_hurry() we will postpone a
full gc at this point.
Maybe force should_hurry?
https://chromiumcodereview.appspot.com/10258001/
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev