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

Issue 1038313003: New algorithm for selecting evacuation candidates (Closed)

Created:
5 years, 8 months ago by ulan
Modified:
5 years, 6 months ago
CC:
v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

New algorithm for selecting evacuation candidates This lifts the sqrt(n) limit on number of evacuation candidates, replaces O(n * sqrt(n)) algorithm with O(n*log(n)) algorithm, and removes hard-coded constants. Evacuation candidates are selected as follows: 1) Sort pages from the most free to the least free. 2) Select the first m pages as evacuation candidates such that m is as large as possible under the two conditions: - The total size of live objects in the first m pages does not exceed the given limit. This is based on the assumption that the evacuation cost is proportional to the total size of moved objects. - The fragmentation of the (m+1)-th page does not exceed the given limit. Committed: https://crrev.com/5e87a0997bad554799cdf1a07e46ecfd0af8e1fa Cr-Commit-Position: refs/heads/master@{#28651}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : rebase #

Patch Set 4 : rebase #

Patch Set 5 : Rebase, add tracing output, handle reduce memory footprint #

Patch Set 6 : Adjust factor #

Patch Set 7 : Default values #

Patch Set 8 : Refactor #

Patch Set 9 : Rebase and use allocation throughput #

Total comments: 13

Patch Set 10 : Address comments #

Patch Set 11 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+100 lines, -221 lines) Patch
M src/heap/mark-compact.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +84 lines, -191 lines 0 comments Download
M src/heap/spaces.h View 1 2 3 4 5 6 7 8 3 chunks +16 lines, -22 lines 0 comments Download
M src/heap/spaces.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -8 lines 0 comments Download

Messages

Total messages: 11 (3 generated)
ulan
PTAL
5 years, 8 months ago (2015-04-24 15:28:43 UTC) #3
ulan
The last PS is performance neutral. PTAL
5 years, 7 months ago (2015-05-22 13:30:23 UTC) #4
Hannes Payer (out of office)
Cool! https://codereview.chromium.org/1038313003/diff/180001/src/flag-definitions.h File src/flag-definitions.h (right): https://codereview.chromium.org/1038313003/diff/180001/src/flag-definitions.h#newcode614 src/flag-definitions.h:614: "the goal maximum percentage of free space in ...
5 years, 6 months ago (2015-05-27 08:49:30 UTC) #5
ulan
Thanks. I uploaded new patch. https://codereview.chromium.org/1038313003/diff/180001/src/flag-definitions.h File src/flag-definitions.h (right): https://codereview.chromium.org/1038313003/diff/180001/src/flag-definitions.h#newcode614 src/flag-definitions.h:614: "the goal maximum percentage ...
5 years, 6 months ago (2015-05-27 11:33:20 UTC) #6
Hannes Payer (out of office)
LGTM https://codereview.chromium.org/1038313003/diff/180001/src/heap/spaces.h File src/heap/spaces.h (right): https://codereview.chromium.org/1038313003/diff/180001/src/heap/spaces.h#newcode681 src/heap/spaces.h:681: int available_in_small_free_list_; On 2015/05/27 11:33:20, ulan wrote: > ...
5 years, 6 months ago (2015-05-27 12:41:34 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1038313003/220001
5 years, 6 months ago (2015-05-27 12:42:54 UTC) #9
commit-bot: I haz the power
Committed patchset #11 (id:220001)
5 years, 6 months ago (2015-05-27 13:07:52 UTC) #10
commit-bot: I haz the power
5 years, 6 months ago (2015-05-27 13:08:00 UTC) #11
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/5e87a0997bad554799cdf1a07e46ecfd0af8e1fa
Cr-Commit-Position: refs/heads/master@{#28651}

Powered by Google App Engine
This is Rietveld 408576698