Revision: 6664
Author: [email protected]
Date: Mon Feb 7 04:57:35 2011
Log: Fix the logic of when to disable the store buffer.
Review URL: http://codereview.chromium.org/6410119
http://code.google.com/p/v8/source/detail?r=6664
Modified:
/branches/experimental/gc/src/store-buffer.cc
=======================================
--- /branches/experimental/gc/src/store-buffer.cc Fri Feb 4 04:05:25 2011
+++ /branches/experimental/gc/src/store-buffer.cc Mon Feb 7 04:57:35 2011
@@ -358,19 +358,18 @@
if (!during_gc_) {
SortUniq();
}
- if (old_limit_ - old_top_ < old_limit_ - old_top_) {
+ if (old_limit_ - old_top_ > old_top_ - old_start_) {
return;
}
// TODO(gc): Set an interrupt to do a GC on the next back edge.
// TODO(gc): Allocate the rest of new space to force a GC on the next
// allocation.
- if (old_limit_ - old_top_ < kStoreBufferSize) {
- // After compression we don't even have enough space for the next
- // compression to be guaranteed to succeed.
- // TODO(gc): Set a flag to scan all of memory.
- Counters::store_buffer_overflows.Increment();
- set_store_buffer_mode(kStoreBufferDisabled);
- }
+ // TODO(gc): Make the disabling of the store buffer dependendent on
+ // those two measures failing:
+ // After compression not enough space was freed up in the store
buffer. We
+ // might as well stop sorting and trying to eliminate duplicates.
+ Counters::store_buffer_overflows.Increment();
+ set_store_buffer_mode(kStoreBufferDisabled);
}
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev