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

Side by Side Diff: src/heap/incremental-marking.cc

Issue 2380853002: Fixed minor error in IncrementalMarking::AdvanceIncrementalMarkingOnAllocation (Closed)
Patch Set: Created 4 years, 2 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/heap/incremental-marking.h" 5 #include "src/heap/incremental-marking.h"
6 6
7 #include "src/code-stubs.h" 7 #include "src/code-stubs.h"
8 #include "src/compilation-cache.h" 8 #include "src/compilation-cache.h"
9 #include "src/conversions.h" 9 #include "src/conversions.h"
10 #include "src/heap/gc-idle-time-handler.h" 10 #include "src/heap/gc-idle-time-handler.h"
(...skipping 1087 matching lines...) Expand 10 before | Expand all | Expand 10 after
1098 StepSizeToKeepUpWithAllocations() + StepSizeToMakeProgress(); 1098 StepSizeToKeepUpWithAllocations() + StepSizeToMakeProgress();
1099 1099
1100 if (bytes_to_process >= IncrementalMarking::kAllocatedThreshold) { 1100 if (bytes_to_process >= IncrementalMarking::kAllocatedThreshold) {
1101 // The first step after Scavenge will see many allocated bytes. 1101 // The first step after Scavenge will see many allocated bytes.
1102 // Cap the step size to distribute the marking work more uniformly. 1102 // Cap the step size to distribute the marking work more uniformly.
1103 size_t max_step_size = GCIdleTimeHandler::EstimateMarkingStepSize( 1103 size_t max_step_size = GCIdleTimeHandler::EstimateMarkingStepSize(
1104 kMaxStepSizeInMs, 1104 kMaxStepSizeInMs,
1105 heap()->tracer()->IncrementalMarkingSpeedInBytesPerMillisecond()); 1105 heap()->tracer()->IncrementalMarkingSpeedInBytesPerMillisecond());
1106 bytes_to_process = Min(bytes_to_process, max_step_size); 1106 bytes_to_process = Min(bytes_to_process, max_step_size);
1107 1107
1108 intptr_t bytes_processed = 0; 1108 size_t bytes_processed = 0;
1109 if (bytes_marked_ahead_of_schedule_ >= bytes_to_process) { 1109 if (bytes_marked_ahead_of_schedule_ >= bytes_to_process) {
1110 // Steps performed in tasks have put us ahead of schedule. 1110 // Steps performed in tasks have put us ahead of schedule.
1111 // We skip processing of marking dequeue here and thus 1111 // We skip processing of marking dequeue here and thus
1112 // shift marking time from inside V8 to standalone tasks. 1112 // shift marking time from inside V8 to standalone tasks.
1113 bytes_marked_ahead_of_schedule_ -= bytes_to_process; 1113 bytes_marked_ahead_of_schedule_ -= bytes_to_process;
1114 bytes_processed = bytes_to_process; 1114 bytes_processed = bytes_to_process;
1115 } else { 1115 } else {
1116 bytes_processed = Step(bytes_to_process, GC_VIA_STACK_GUARD, 1116 bytes_processed = Step(bytes_to_process, GC_VIA_STACK_GUARD,
1117 FORCE_COMPLETION, StepOrigin::kV8); 1117 FORCE_COMPLETION, StepOrigin::kV8);
1118 } 1118 }
1119 bytes_allocated_ -= Min(bytes_allocated_, bytes_to_process); 1119 bytes_allocated_ -= Min(bytes_allocated_, bytes_processed);
1120 } 1120 }
1121 } 1121 }
1122 1122
1123 size_t IncrementalMarking::Step(size_t bytes_to_process, 1123 size_t IncrementalMarking::Step(size_t bytes_to_process,
1124 CompletionAction action, 1124 CompletionAction action,
1125 ForceCompletionAction completion, 1125 ForceCompletionAction completion,
1126 StepOrigin step_origin) { 1126 StepOrigin step_origin) {
1127 HistogramTimerScope incremental_marking_scope( 1127 HistogramTimerScope incremental_marking_scope(
1128 heap_->isolate()->counters()->gc_incremental_marking()); 1128 heap_->isolate()->counters()->gc_incremental_marking());
1129 TRACE_EVENT0("v8", "V8.GCIncrementalMarking"); 1129 TRACE_EVENT0("v8", "V8.GCIncrementalMarking");
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
1201 idle_marking_delay_counter_++; 1201 idle_marking_delay_counter_++;
1202 } 1202 }
1203 1203
1204 1204
1205 void IncrementalMarking::ClearIdleMarkingDelayCounter() { 1205 void IncrementalMarking::ClearIdleMarkingDelayCounter() {
1206 idle_marking_delay_counter_ = 0; 1206 idle_marking_delay_counter_ = 0;
1207 } 1207 }
1208 1208
1209 } // namespace internal 1209 } // namespace internal
1210 } // namespace v8 1210 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698