Reviewers: Vyacheslav Egorov,
Description:
Don't set the limit that triggers the next GC higher than the max
old space size.
Please review this at http://codereview.chromium.org/8491009/
SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
Affected files:
M src/heap.h
Index: src/heap.h
===================================================================
--- src/heap.h (revision 9888)
+++ src/heap.h (working copy)
@@ -1254,7 +1254,8 @@
Max(old_gen_size + old_gen_size / divisor, kMinimumPromotionLimit);
limit += new_space_.Capacity();
limit *= old_gen_limit_factor_;
- return limit;
+ intptr_t halfway_to_the_max = (old_gen_size +
max_old_generation_size_) / 2;
+ return Min(limit, halfway_to_the_max);
}
intptr_t OldGenAllocationLimit(intptr_t old_gen_size) {
@@ -1263,7 +1264,8 @@
Max(old_gen_size + old_gen_size / divisor,
kMinimumAllocationLimit);
limit += new_space_.Capacity();
limit *= old_gen_limit_factor_;
- return limit;
+ intptr_t halfway_to_the_max = (old_gen_size +
max_old_generation_size_) / 2;
+ return Min(limit, halfway_to_the_max);
}
// Can be called when the embedding application is idle.
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev