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

Side by Side Diff: src/mark-compact.cc

Issue 331053003: Added more detailed sweeping timing counters. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « src/heap.cc ('k') | 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/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/base/atomicops.h" 7 #include "src/base/atomicops.h"
8 #include "src/code-stubs.h" 8 #include "src/code-stubs.h"
9 #include "src/compilation-cache.h" 9 #include "src/compilation-cache.h"
10 #include "src/cpu-profiler.h" 10 #include "src/cpu-profiler.h"
(...skipping 4206 matching lines...) Expand 10 before | Expand all | Expand 10 after
4217 if (how_to_sweep == PARALLEL_CONSERVATIVE || 4217 if (how_to_sweep == PARALLEL_CONSERVATIVE ||
4218 how_to_sweep == CONCURRENT_CONSERVATIVE) { 4218 how_to_sweep == CONCURRENT_CONSERVATIVE) {
4219 StartSweeperThreads(); 4219 StartSweeperThreads();
4220 } 4220 }
4221 4221
4222 if (how_to_sweep == PARALLEL_CONSERVATIVE) { 4222 if (how_to_sweep == PARALLEL_CONSERVATIVE) {
4223 WaitUntilSweepingCompleted(); 4223 WaitUntilSweepingCompleted();
4224 } 4224 }
4225 } 4225 }
4226 RemoveDeadInvalidatedCode(); 4226 RemoveDeadInvalidatedCode();
4227 SweepSpace(heap()->code_space(), PRECISE);
4228 4227
4229 SweepSpace(heap()->cell_space(), PRECISE); 4228 { GCTracer::Scope sweep_scope(tracer_, GCTracer::Scope::MC_SWEEP_CODE);
4230 SweepSpace(heap()->property_cell_space(), PRECISE); 4229 SweepSpace(heap()->code_space(), PRECISE);
4230 }
4231
4232 { GCTracer::Scope sweep_scope(tracer_, GCTracer::Scope::MC_SWEEP_CELL);
4233 SweepSpace(heap()->cell_space(), PRECISE);
4234 SweepSpace(heap()->property_cell_space(), PRECISE);
4235 }
4231 4236
4232 EvacuateNewSpaceAndCandidates(); 4237 EvacuateNewSpaceAndCandidates();
4233 4238
4234 // ClearNonLiveTransitions depends on precise sweeping of map space to 4239 // ClearNonLiveTransitions depends on precise sweeping of map space to
4235 // detect whether unmarked map became dead in this collection or in one 4240 // detect whether unmarked map became dead in this collection or in one
4236 // of the previous ones. 4241 // of the previous ones.
4237 SweepSpace(heap()->map_space(), PRECISE); 4242 { GCTracer::Scope sweep_scope(tracer_, GCTracer::Scope::MC_SWEEP_MAP);
4243 SweepSpace(heap()->map_space(), PRECISE);
4244 }
4238 4245
4239 // Deallocate unmarked objects and clear marked bits for marked objects. 4246 // Deallocate unmarked objects and clear marked bits for marked objects.
4240 heap_->lo_space()->FreeUnmarkedObjects(); 4247 heap_->lo_space()->FreeUnmarkedObjects();
4241 4248
4242 // Deallocate evacuated candidate pages. 4249 // Deallocate evacuated candidate pages.
4243 ReleaseEvacuationCandidates(); 4250 ReleaseEvacuationCandidates();
4244 } 4251 }
4245 4252
4246 4253
4247 void MarkCompactCollector::ParallelSweepSpaceComplete(PagedSpace* space) { 4254 void MarkCompactCollector::ParallelSweepSpaceComplete(PagedSpace* space) {
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
4481 while (buffer != NULL) { 4488 while (buffer != NULL) {
4482 SlotsBuffer* next_buffer = buffer->next(); 4489 SlotsBuffer* next_buffer = buffer->next();
4483 DeallocateBuffer(buffer); 4490 DeallocateBuffer(buffer);
4484 buffer = next_buffer; 4491 buffer = next_buffer;
4485 } 4492 }
4486 *buffer_address = NULL; 4493 *buffer_address = NULL;
4487 } 4494 }
4488 4495
4489 4496
4490 } } // namespace v8::internal 4497 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/heap.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698