Chromium Code Reviews

Issue 9323007: Tweak compaction candidate selection to avoid keeping page with low occupancy around. (Closed)

Created:
8 years, 10 months ago by Vyacheslav Egorov (Chromium)
Modified:
8 years, 10 months ago
Reviewers:
Erik Corry
CC:
v8-dev
Visibility:
Public.

Description

Tweak compaction candidate selection to avoid keeping page with low occupancy around. Increase slots buffer chain length to 15 to make compaction more aggressive and usefull. Pass gc and collector selection reasons to GCTracer to allow more meaningull --gc-trace. Print fragmentation of spaces that we do not compact. R=erik.corry@gmail.com Committed: https://code.google.com/p/v8/source/detail?r=10601

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Stats (+294 lines, -112 lines)
M src/api.cc View 1 chunk +1 line, -1 line 0 comments
M src/debug.cc View 3 chunks +7 lines, -4 lines 0 comments
M src/execution.cc View 1 chunk +1 line, -1 line 0 comments
M src/extensions/gc-extension.cc View 1 chunk +1 line, -1 line 0 comments
M src/heap.h View 5 chunks +28 lines, -9 lines 0 comments
M src/heap.cc View 19 chunks +71 lines, -31 lines 0 comments
M src/heap-inl.h View 4 chunks +8 lines, -5 lines 0 comments
M src/log.cc View 3 chunks +6 lines, -3 lines 0 comments
M src/mark-compact.h View 2 chunks +3 lines, -1 line 0 comments
M src/mark-compact.cc View 7 chunks +147 lines, -3 lines 1 comment
M src/mark-compact-inl.h View 1 chunk +1 line, -0 lines 0 comments
M src/mksnapshot.cc View 1 chunk +1 line, -1 line 0 comments
src/profile-generator.cc View 2 chunks +8 lines, -3 lines 0 comments
M src/runtime.cc View 4 chunks +9 lines, -5 lines 0 comments
M src/spaces.h View 1 chunk +2 lines, -44 lines 0 comments

Messages

Total messages: 2 (0 generated)
Vyacheslav Egorov (Chromium)
8 years, 10 months ago (2012-02-02 18:26:23 UTC) #1
Erik Corry
8 years, 10 months ago (2012-02-03 10:12:39 UTC) #2
LGTM

https://chromiumcodereview.appspot.com/9323007/diff/1/src/mark-compact.cc
File src/mark-compact.cc (right):

https://chromiumcodereview.appspot.com/9323007/diff/1/src/mark-compact.cc#new...
src/mark-compact.cc:578: space->CountFreeListItems(p, &sizes);
This call worries me.  It can potentially take a long time, and really all we
need to know is whether there is a small number of live objects on the page.  If
the page consists of 100k objects and 100k gaps then we are not interested in it
for the purposes of REDUCE_MEMORY_FOOTPRINT.  So I think CountFreeList should
take a maximum number of free list nodes to traverse.

I think the other 2 places this is used would also benefit from a max argument.

Powered by Google App Engine