Revision: 14555
Author: [email protected]
Date: Mon May 6 06:07:10 2013
Log: Fix incremental marking speed accelleration and start incremental
marking when old space is almost full when pretenuring objects.
BUG=
Review URL: https://codereview.chromium.org/14649014
http://code.google.com/p/v8/source/detail?r=14555
Modified:
/branches/bleeding_edge/src/incremental-marking.cc
/branches/bleeding_edge/src/incremental-marking.h
=======================================
--- /branches/bleeding_edge/src/incremental-marking.cc Thu Mar 7 01:27:49
2013
+++ /branches/bleeding_edge/src/incremental-marking.cc Mon May 6 06:07:10
2013
@@ -858,6 +858,15 @@
heap_->isolate()->stack_guard()->RequestGC();
}
}
+
+
+void IncrementalMarking::OldSpaceStep(intptr_t allocated) {
+ if (IsStopped() && WorthActivating() && heap_->NextGCIsLikelyToBeFull())
{
+ Start();
+ } else {
+ Step(allocated * kFastMarking / kInitialMarkingSpeed,
GC_VIA_STACK_GUARD);
+ }
+}
void IncrementalMarking::Step(intptr_t allocated_bytes,
@@ -965,7 +974,7 @@
PrintPID("Postponing speeding up marking until marking starts\n");
}
} else {
- marking_speed_ += kMarkingSpeedAccellerationInterval;
+ marking_speed_ += kMarkingSpeedAccelleration;
marking_speed_ = static_cast<int>(
Min(kMaxMarkingSpeed,
static_cast<intptr_t>(marking_speed_ * 1.3)));
=======================================
--- /branches/bleeding_edge/src/incremental-marking.h Wed Nov 21 23:05:20
2012
+++ /branches/bleeding_edge/src/incremental-marking.h Mon May 6 06:07:10
2013
@@ -110,10 +110,7 @@
static const intptr_t kMarkingSpeedAccelleration = 2;
static const intptr_t kMaxMarkingSpeed = 1000;
- void OldSpaceStep(intptr_t allocated) {
- Step(allocated * kFastMarking / kInitialMarkingSpeed,
- GC_VIA_STACK_GUARD);
- }
+ void OldSpaceStep(intptr_t allocated);
void Step(intptr_t allocated, CompletionAction action);
--
--
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/groups/opt_out.