Reviewers: Hannes Payer, Erik Corry Chromium.org,

Message:
PTAL

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. The limit is controlled by --max_evacuation_size.
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. The limit is controlled by --target_fragmentation, the
fragmentation is defined as the percentage of free bytes in the page.

Please review this at https://codereview.chromium.org/1038313003/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+81, -214 lines):
  M src/flag-definitions.h
  M src/heap/mark-compact.cc
  M src/heap/spaces.h
  M src/heap/spaces.cc


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to