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

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

Issue 382793002: Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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 | Annotate | Revision Log
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_MARK_COMPACT_H_ 5 #ifndef V8_MARK_COMPACT_H_
6 #define V8_MARK_COMPACT_H_ 6 #define V8_MARK_COMPACT_H_
7 7
8 #include "src/compiler-intrinsics.h" 8 #include "src/compiler-intrinsics.h"
9 #include "src/spaces.h" 9 #include "src/spaces.h"
10 10
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 static inline bool IsMarked(Object* obj); 563 static inline bool IsMarked(Object* obj);
564 564
565 inline Heap* heap() const { return heap_; } 565 inline Heap* heap() const { return heap_; }
566 inline Isolate* isolate() const; 566 inline Isolate* isolate() const;
567 567
568 CodeFlusher* code_flusher() { return code_flusher_; } 568 CodeFlusher* code_flusher() { return code_flusher_; }
569 inline bool is_code_flushing_enabled() const { return code_flusher_ != NULL; } 569 inline bool is_code_flushing_enabled() const { return code_flusher_ != NULL; }
570 void EnableCodeFlushing(bool enable); 570 void EnableCodeFlushing(bool enable);
571 571
572 enum SweeperType { 572 enum SweeperType {
573 CONSERVATIVE,
574 PARALLEL_CONSERVATIVE, 573 PARALLEL_CONSERVATIVE,
575 CONCURRENT_CONSERVATIVE, 574 CONCURRENT_CONSERVATIVE,
576 PRECISE 575 PRECISE
577 }; 576 };
578 577
579 enum SweepingParallelism { 578 enum SweepingParallelism {
580 SWEEP_ON_MAIN_THREAD, 579 SWEEP_ON_MAIN_THREAD,
581 SWEEP_IN_PARALLEL 580 SWEEP_IN_PARALLEL
582 }; 581 };
583 582
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
666 int SweepInParallel(PagedSpace* space, int required_freed_bytes); 665 int SweepInParallel(PagedSpace* space, int required_freed_bytes);
667 666
668 void WaitUntilSweepingCompleted(); 667 void WaitUntilSweepingCompleted();
669 668
670 bool IsSweepingCompleted(); 669 bool IsSweepingCompleted();
671 670
672 void RefillFreeList(PagedSpace* space); 671 void RefillFreeList(PagedSpace* space);
673 672
674 bool AreSweeperThreadsActivated(); 673 bool AreSweeperThreadsActivated();
675 674
676 // If a paged space is passed in, this method checks if the given space is 675 // Checks if sweeping is in progress right now on any space.
677 // swept concurrently. Otherwise, this method checks if concurrent sweeping 676 bool sweeping_pending() { return sweeping_pending_; }
Jarin 2014/07/11 07:40:52 Nit: so why is not this called IsSweepingInProgres
Hannes Payer (out of office) 2014/07/11 09:36:13 It is a true getter now. Anyhow, I renamed the var
678 // is in progress right now on any space.
679 bool IsConcurrentSweepingInProgress(PagedSpace* space = NULL);
680 677
681 void set_sequential_sweeping(bool sequential_sweeping) { 678 void set_sequential_sweeping(bool sequential_sweeping) {
682 sequential_sweeping_ = sequential_sweeping; 679 sequential_sweeping_ = sequential_sweeping;
683 } 680 }
684 681
685 bool sequential_sweeping() const { 682 bool sequential_sweeping() const {
686 return sequential_sweeping_; 683 return sequential_sweeping_;
687 } 684 }
688 685
689 // Mark the global table which maps weak objects to dependent code without 686 // Mark the global table which maps weak objects to dependent code without
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
985 private: 982 private:
986 MarkCompactCollector* collector_; 983 MarkCompactCollector* collector_;
987 }; 984 };
988 985
989 986
990 const char* AllocationSpaceName(AllocationSpace space); 987 const char* AllocationSpaceName(AllocationSpace space);
991 988
992 } } // namespace v8::internal 989 } } // namespace v8::internal
993 990
994 #endif // V8_MARK_COMPACT_H_ 991 #endif // V8_MARK_COMPACT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698