Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(530)

Issue 10386046: Implement map collection for incremental marking. (Closed)

Created:
8 years, 7 months ago by Michael Starzinger
Modified:
8 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

Implement map collection for incremental marking. This causes map transitions to be treated weakly during incremental marking and hence allows clearing of non-live transitions. The marking code is now shared between incremental and non-incremental mode. R=vegorov@chromium.org BUG=v8:1465 TEST=cctest/test-heap/Regress1465 Committed: https://code.google.com/p/v8/source/detail?r=11556

Patch Set 1 #

Total comments: 4

Patch Set 2 : Major cleanup of prototype. #

Total comments: 16

Patch Set 3 : Addressed comments by Vyacheslav Egorov and added regression test. #

Patch Set 4 : Minor fix in live bytes counting. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+263 lines, -113 lines) Patch
M src/incremental-marking.h View 1 2 3 4 chunks +12 lines, -3 lines 0 comments Download
M src/incremental-marking.cc View 1 2 5 chunks +34 lines, -7 lines 0 comments Download
M src/incremental-marking-inl.h View 1 2 3 2 chunks +20 lines, -4 lines 0 comments Download
M src/mark-compact.h View 1 2 7 chunks +44 lines, -13 lines 0 comments Download
M src/mark-compact.cc View 1 2 8 chunks +79 lines, -75 lines 0 comments Download
M src/mark-compact-inl.h View 1 2 3 chunks +17 lines, -11 lines 0 comments Download
M test/cctest/test-heap.cc View 1 2 1 chunk +57 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Michael Starzinger
8 years, 7 months ago (2012-05-11 11:49:31 UTC) #1
Vyacheslav Egorov (Chromium)
Round of comments. https://chromiumcodereview.appspot.com/10386046/diff/1/src/incremental-marking.cc File src/incremental-marking.cc (right): https://chromiumcodereview.appspot.com/10386046/diff/1/src/incremental-marking.cc#newcode660 src/incremental-marking.cc:660: Map* map = obj->map(); Hurry should ...
8 years, 7 months ago (2012-05-11 12:58:35 UTC) #2
Michael Starzinger
https://chromiumcodereview.appspot.com/10386046/diff/1/src/incremental-marking.cc File src/incremental-marking.cc (right): https://chromiumcodereview.appspot.com/10386046/diff/1/src/incremental-marking.cc#newcode660 src/incremental-marking.cc:660: Map* map = obj->map(); On 2012/05/11 12:58:35, Vyacheslav Egorov ...
8 years, 7 months ago (2012-05-11 14:51:53 UTC) #3
Vyacheslav Egorov (Chromium)
LGTM I recommend passing test with FLAG_collect_maps forces to false on all architectures before committing.
8 years, 7 months ago (2012-05-14 20:53:41 UTC) #4
Michael Starzinger
8 years, 7 months ago (2012-05-15 08:17:20 UTC) #5
On 2012/05/14 20:53:41, Vyacheslav Egorov wrote:
> LGTM
> 
> I recommend passing test with FLAG_collect_maps forces to false on all
> architectures before committing.

If you run the test suite with FLAG_collect_maps set to false by default, you
only get the obvious failures:

* cctest/test-heap/LeakGlobalContextViaMapProto
* cctest/test-heap/PrototypeTransitionClearing
* cctest/test-heap/Regress1465

I don't think it makes sense to mask away these failures when map collection is
disabled, since they perfectly indicate what goes wrong when you disable it.
Besides the above failures, the test suite runs through (on ia32, x64 and ARM).

Powered by Google App Engine
This is Rietveld 408576698