Revision: 22854
Author: [email protected]
Date: Tue Aug 5 09:40:09 2014 UTC
Log: Force incremental marking when called from idle notification.
BUG=
[email protected], [email protected]
Review URL: https://codereview.chromium.org/426243002
http://code.google.com/p/v8/source/detail?r=22854
Modified:
/branches/bleeding_edge/src/heap/heap.cc
/branches/bleeding_edge/src/heap/incremental-marking.cc
/branches/bleeding_edge/src/heap/incremental-marking.h
=======================================
--- /branches/bleeding_edge/src/heap/heap.cc Tue Aug 5 08:18:22 2014 UTC
+++ /branches/bleeding_edge/src/heap/heap.cc Tue Aug 5 09:40:09 2014 UTC
@@ -4169,7 +4169,7 @@
void Heap::AdvanceIdleIncrementalMarking(intptr_t step_size) {
incremental_marking()->Step(step_size,
- IncrementalMarking::NO_GC_VIA_STACK_GUARD);
+ IncrementalMarking::NO_GC_VIA_STACK_GUARD,
true);
if (incremental_marking()->IsComplete()) {
bool uncommit = false;
=======================================
--- /branches/bleeding_edge/src/heap/incremental-marking.cc Tue Aug 5
08:18:22 2014 UTC
+++ /branches/bleeding_edge/src/heap/incremental-marking.cc Tue Aug 5
09:40:09 2014 UTC
@@ -821,8 +821,8 @@
}
-void IncrementalMarking::Step(intptr_t allocated_bytes,
- CompletionAction action) {
+void IncrementalMarking::Step(intptr_t allocated_bytes, CompletionAction
action,
+ bool force_marking) {
if (heap_->gc_state() != Heap::NOT_IN_GC || !FLAG_incremental_marking ||
!FLAG_incremental_marking_steps ||
(state_ != SWEEPING && state_ != MARKING)) {
@@ -831,7 +831,7 @@
allocated_ += allocated_bytes;
- if (allocated_ < kAllocatedThreshold &&
+ if (!force_marking && allocated_ < kAllocatedThreshold &&
write_barriers_invoked_since_last_step_ <
kWriteBarriersInvokedThreshold) {
return;
=======================================
--- /branches/bleeding_edge/src/heap/incremental-marking.h Tue Aug 5
08:18:22 2014 UTC
+++ /branches/bleeding_edge/src/heap/incremental-marking.h Tue Aug 5
09:40:09 2014 UTC
@@ -83,7 +83,8 @@
void OldSpaceStep(intptr_t allocated);
- void Step(intptr_t allocated, CompletionAction action);
+ void Step(intptr_t allocated, CompletionAction action,
+ bool force_marking = false);
inline void RestartIfNotMarking() {
if (state_ == COMPLETE) {
--
--
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/d/optout.