WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
101390
Copying phase should use work lists
https://bugs.webkit.org/show_bug.cgi?id=101390
Summary
Copying phase should use work lists
Mark Hahnenberg
Reported
2012-11-06 13:43:01 PST
Currently we iterate over every cell in the Heap during the copying phase. To improve our performance under paging, we'd like to reduce the number of pages we touch during a collection. One way to avoid having to iterate every cell during copying is to use per-CopiedBlock work lists created during the marking phase to record just the JSCells that need to be revisited during the copying phase. Then, during the copying phase, we iterate over all the CopiedBlocks and use their accumulated work lists to perform the necessary copying.
Attachments
Patch
(16.43 KB, patch)
2012-11-06 14:35 PST
,
Mark Hahnenberg
no flags
Details
Formatted Diff
Diff
Patch
(32.51 KB, patch)
2012-11-28 12:13 PST
,
Mark Hahnenberg
fpizlo
: review+
webkit.review.bot
: commit-queue-
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Mark Hahnenberg
Comment 1
2012-11-06 14:35:17 PST
Created
attachment 172651
[details]
Patch
Filip Pizlo
Comment 2
2012-11-06 15:36:37 PST
Comment on
attachment 172651
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=172651&action=review
> Source/JavaScriptCore/heap/CopiedBlock.h:83 > + typedef Vector<JSCell*, blockSize / (sizeof(JSValue) * 4)> WorkList;
Would be better to conserve space for these wordlists somehow!
Geoffrey Garen
Comment 3
2012-11-07 10:35:30 PST
Mark, you mentioned reduced paging as a benefit to this strategy. How can we measure that?
Mark Hahnenberg
Comment 4
2012-11-28 12:13:08 PST
Created
attachment 176542
[details]
Patch
WebKit Review Bot
Comment 5
2012-11-28 16:14:12 PST
Comment on
attachment 176542
[details]
Patch Rejecting
attachment 176542
[details]
from commit-queue. Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2 Last 500 characters of output: commit-queue/Source/WebKit/chromium/third_party/v8-i18n --revision 159 --non-interactive --force --accept theirs-conflict --ignore-externals' in '/mnt/git/webkit-commit-queue/Source/WebKit/chromium' 51>At revision 159. ________ running '/usr/bin/python tools/clang/scripts/update.py --mac-only' in '/mnt/git/webkit-commit-queue/Source/WebKit/chromium' ________ running '/usr/bin/python gyp_webkit' in '/mnt/git/webkit-commit-queue/Source/WebKit/chromium' Updating webkit projects from gyp files... Full output:
http://queues.webkit.org/results/15027601
Mark Hahnenberg
Comment 6
2012-11-28 17:04:33 PST
Committed
r136077
: <
http://trac.webkit.org/changeset/136077
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug