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

Unified Diff: src/incremental-marking.cc

Issue 6745033: On store buffer overflow we mark individidual pages for... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/gc/
Patch Set: '' Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/incremental-marking.cc
===================================================================
--- src/incremental-marking.cc (revision 7374)
+++ src/incremental-marking.cc (working copy)
@@ -39,6 +39,7 @@
double IncrementalMarking::steps_took_ = 0;
int IncrementalMarking::steps_count_ = 0;
+bool IncrementalMarking::should_hurry_ = false;
static intptr_t allocated = 0;
@@ -145,7 +146,7 @@
bool IncrementalMarking::WorthActivating() {
#ifndef DEBUG
- static const intptr_t kActivationThreshold = 20*MB;
+ static const intptr_t kActivationThreshold = 8 * MB;
#else
// TODO(gc) consider setting this to some low level so that some
// debug tests run with incremental marking and some without.
@@ -312,6 +313,12 @@
void IncrementalMarking::MarkingComplete() {
state_ = COMPLETE;
+ // We will set the stack guard to request a GC now. This will mean the rest
+ // of the GC gets performed as soon as possible (we can't do a GC here in a
+ // record-write context). If a few things get allocated between now and then
+ // that shouldn't make us do a scavenge and keep being incremental, so we set
+ // the should-hurry flag to indicate that there can't be much work left to do.
+ set_should_hurry(true);
if (FLAG_trace_incremental_marking) {
PrintF("[IncrementalMarking] Complete (normal).\n");
}

Powered by Google App Engine
This is Rietveld 408576698