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

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

Issue 404083002: Wait for sweeper threads when a scan on scavenge page is not swept. (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
« no previous file with comments | « no previous file | src/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_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 640 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 651
652 bool abort_incremental_marking() const { return abort_incremental_marking_; } 652 bool abort_incremental_marking() const { return abort_incremental_marking_; }
653 653
654 bool is_compacting() const { return compacting_; } 654 bool is_compacting() const { return compacting_; }
655 655
656 MarkingParity marking_parity() { return marking_parity_; } 656 MarkingParity marking_parity() { return marking_parity_; }
657 657
658 // Concurrent and parallel sweeping support. If required_freed_bytes was set 658 // Concurrent and parallel sweeping support. If required_freed_bytes was set
659 // to a value larger than 0, then sweeping returns after a block of at least 659 // to a value larger than 0, then sweeping returns after a block of at least
660 // required_freed_bytes was freed. If required_freed_bytes was set to zero 660 // required_freed_bytes was freed. If required_freed_bytes was set to zero
661 // then the whole given space is swept. 661 // then the whole given space is swept. It returns the size of the maximum
662 // continuous freed memory chunk.
662 int SweepInParallel(PagedSpace* space, int required_freed_bytes); 663 int SweepInParallel(PagedSpace* space, int required_freed_bytes);
663 664
665 // Sweeps a given page concurrently to the sweeper threads. It returns the
666 // size of the maximum continuous freed memory chunk.
667 int SweepInParallel(Page* page, PagedSpace* space);
668
664 void EnsureSweepingCompleted(); 669 void EnsureSweepingCompleted();
665 670
666 // If sweeper threads are not active this method will return true. If 671 // If sweeper threads are not active this method will return true. If
667 // this is a latency issue we should be smarter here. Otherwise, it will 672 // this is a latency issue we should be smarter here. Otherwise, it will
668 // return true if the sweeper threads are done processing the pages. 673 // return true if the sweeper threads are done processing the pages.
669 bool IsSweepingCompleted(); 674 bool IsSweepingCompleted();
670 675
671 void RefillFreeList(PagedSpace* space); 676 void RefillFreeList(PagedSpace* space);
672 677
673 bool AreSweeperThreadsActivated(); 678 bool AreSweeperThreadsActivated();
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
978 private: 983 private:
979 MarkCompactCollector* collector_; 984 MarkCompactCollector* collector_;
980 }; 985 };
981 986
982 987
983 const char* AllocationSpaceName(AllocationSpace space); 988 const char* AllocationSpaceName(AllocationSpace space);
984 989
985 } } // namespace v8::internal 990 } } // namespace v8::internal
986 991
987 #endif // V8_MARK_COMPACT_H_ 992 #endif // V8_MARK_COMPACT_H_
OLDNEW
« no previous file with comments | « no previous file | src/mark-compact.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698