Commit 09495dfe authored by hpayer@chromium.org's avatar hpayer@chromium.org

Fix store buffer ensure space heuristics.

This change results in less scan on scavenge memory chunks.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/15896037

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 29a10444
......@@ -188,10 +188,10 @@ void StoreBuffer::EnsureSpace(intptr_t space_needed) {
{ 3, ((Page::kPageSize / kPointerSize) / 3) / 256 },
{ 1, 0}
};
for (int i = kSampleFinenesses - 1; i >= 0; i--) {
for (int i = 0; i < kSampleFinenesses; i++) {
ExemptPopularPages(samples[i].prime_sample_step, samples[i].threshold);
// As a last resort we mark all pages as being exempt from the store buffer.
ASSERT(i != 0 || old_top_ == old_start_);
ASSERT(i != (kSampleFinenesses - 1) || old_top_ == old_start_);
if (old_limit_ - old_top_ > old_top_ - old_start_) return;
}
UNREACHABLE();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment