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

Side by Side Diff: src/heap/mark-compact.h

Issue 2124433002: [heap] Clean up RawSweep (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Addressed comment Created 4 years, 5 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 | src/heap/mark-compact.cc » ('j') | 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 #ifndef V8_HEAP_MARK_COMPACT_H_ 5 #ifndef V8_HEAP_MARK_COMPACT_H_
6 #define V8_HEAP_MARK_COMPACT_H_ 6 #define V8_HEAP_MARK_COMPACT_H_
7 7
8 #include <deque> 8 #include <deque>
9 9
10 #include "src/base/bits.h" 10 #include "src/base/bits.h"
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 // ------------------------------------------------------------------------- 399 // -------------------------------------------------------------------------
400 // Mark-Compact collector 400 // Mark-Compact collector
401 class MarkCompactCollector { 401 class MarkCompactCollector {
402 public: 402 public:
403 class Evacuator; 403 class Evacuator;
404 404
405 class Sweeper { 405 class Sweeper {
406 public: 406 public:
407 class SweeperTask; 407 class SweeperTask;
408 408
409 enum SweepingMode { SWEEP_ONLY, SWEEP_AND_VISIT_LIVE_OBJECTS };
410 enum SkipListRebuildingMode { REBUILD_SKIP_LIST, IGNORE_SKIP_LIST };
411 enum FreeListRebuildingMode { REBUILD_FREE_LIST, IGNORE_FREE_LIST }; 409 enum FreeListRebuildingMode { REBUILD_FREE_LIST, IGNORE_FREE_LIST };
412 enum FreeSpaceTreatmentMode { IGNORE_FREE_SPACE, ZAP_FREE_SPACE }; 410 enum FreeSpaceTreatmentMode { IGNORE_FREE_SPACE, ZAP_FREE_SPACE };
413 enum SweepingParallelism { SWEEP_ON_MAIN_THREAD, SWEEP_IN_PARALLEL };
414 411
415 typedef std::deque<Page*> SweepingList; 412 typedef std::deque<Page*> SweepingList;
416 typedef List<Page*> SweptList; 413 typedef List<Page*> SweptList;
417 414
418 template <SweepingMode sweeping_mode, SweepingParallelism parallelism, 415 static int RawSweep(Page* p, FreeListRebuildingMode free_list_mode,
419 SkipListRebuildingMode skip_list_mode, 416 FreeSpaceTreatmentMode free_space_mode);
420 FreeListRebuildingMode free_list_mode,
421 FreeSpaceTreatmentMode free_space_mode>
422 static int RawSweep(PagedSpace* space, Page* p, ObjectVisitor* v);
423 417
424 explicit Sweeper(Heap* heap) 418 explicit Sweeper(Heap* heap)
425 : heap_(heap), 419 : heap_(heap),
426 pending_sweeper_tasks_semaphore_(0), 420 pending_sweeper_tasks_semaphore_(0),
427 sweeping_in_progress_(false), 421 sweeping_in_progress_(false),
428 late_pages_(false), 422 late_pages_(false),
429 num_sweeping_tasks_(0) {} 423 num_sweeping_tasks_(0) {}
430 424
431 bool sweeping_in_progress() { return sweeping_in_progress_; } 425 bool sweeping_in_progress() { return sweeping_in_progress_; }
432 bool contains_late_pages() { return late_pages_; } 426 bool contains_late_pages() { return late_pages_; }
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
892 private: 886 private:
893 MarkCompactCollector* collector_; 887 MarkCompactCollector* collector_;
894 }; 888 };
895 889
896 890
897 const char* AllocationSpaceName(AllocationSpace space); 891 const char* AllocationSpaceName(AllocationSpace space);
898 } // namespace internal 892 } // namespace internal
899 } // namespace v8 893 } // namespace v8
900 894
901 #endif // V8_HEAP_MARK_COMPACT_H_ 895 #endif // V8_HEAP_MARK_COMPACT_H_
OLDNEW
« no previous file with comments | « no previous file | src/heap/mark-compact.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698