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

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

Issue 1515503006: Clean up mark-compact phases and GC counter names. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Address comments from Hannes Created 5 years 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 | « src/heap/gc-tracer.cc ('k') | 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 "src/base/bits.h" 8 #include "src/base/bits.h"
9 #include "src/heap/spaces.h" 9 #include "src/heap/spaces.h"
10 10
(...skipping 556 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 567
568 // Mark code objects that are active on the stack to prevent them 568 // Mark code objects that are active on the stack to prevent them
569 // from being flushed. 569 // from being flushed.
570 void PrepareThreadForCodeFlushing(Isolate* isolate, ThreadLocalTop* top); 570 void PrepareThreadForCodeFlushing(Isolate* isolate, ThreadLocalTop* top);
571 571
572 void PrepareForCodeFlushing(); 572 void PrepareForCodeFlushing();
573 573
574 // Marking operations for objects reachable from roots. 574 // Marking operations for objects reachable from roots.
575 void MarkLiveObjects(); 575 void MarkLiveObjects();
576 576
577 void AfterMarking();
578
579 // Pushes a black object onto the marking stack and accounts for live bytes. 577 // Pushes a black object onto the marking stack and accounts for live bytes.
580 // Note that this assumes live bytes have not yet been counted. 578 // Note that this assumes live bytes have not yet been counted.
581 INLINE(void PushBlack(HeapObject* obj)); 579 INLINE(void PushBlack(HeapObject* obj));
582 580
583 // Unshifts a black object into the marking stack and accounts for live bytes. 581 // Unshifts a black object into the marking stack and accounts for live bytes.
584 // Note that this assumes lives bytes have already been counted. 582 // Note that this assumes lives bytes have already been counted.
585 INLINE(void UnshiftBlack(HeapObject* obj)); 583 INLINE(void UnshiftBlack(HeapObject* obj));
586 584
587 // Marks the object black and pushes it on the marking stack. 585 // Marks the object black and pushes it on the marking stack.
588 // This is for non-incremental marking only. 586 // This is for non-incremental marking only.
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 // The number of parallel compaction tasks, including the main thread. 707 // The number of parallel compaction tasks, including the main thread.
710 int NumberOfParallelCompactionTasks(); 708 int NumberOfParallelCompactionTasks();
711 709
712 710
713 void StartParallelCompaction(CompactionSpaceCollection** compaction_spaces, 711 void StartParallelCompaction(CompactionSpaceCollection** compaction_spaces,
714 uint32_t* task_ids, int len); 712 uint32_t* task_ids, int len);
715 void WaitUntilCompactionCompleted(uint32_t* task_ids, int len); 713 void WaitUntilCompactionCompleted(uint32_t* task_ids, int len);
716 714
717 void EvacuateNewSpaceAndCandidates(); 715 void EvacuateNewSpaceAndCandidates();
718 716
717 void UpdatePointersAfterEvacuation();
718
719 // Iterates through all live objects on a page using marking information. 719 // Iterates through all live objects on a page using marking information.
720 // Returns whether all objects have successfully been visited. 720 // Returns whether all objects have successfully been visited.
721 bool VisitLiveObjects(MemoryChunk* page, HeapObjectVisitor* visitor, 721 bool VisitLiveObjects(MemoryChunk* page, HeapObjectVisitor* visitor,
722 IterationMode mode); 722 IterationMode mode);
723 723
724 void VisitLiveObjectsBody(Page* page, ObjectVisitor* visitor); 724 void VisitLiveObjectsBody(Page* page, ObjectVisitor* visitor);
725 725
726 void SweepAbortedPages(); 726 void SweepAbortedPages();
727 727
728 void ReleaseEvacuationCandidates(); 728 void ReleaseEvacuationCandidates();
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
854 private: 854 private:
855 MarkCompactCollector* collector_; 855 MarkCompactCollector* collector_;
856 }; 856 };
857 857
858 858
859 const char* AllocationSpaceName(AllocationSpace space); 859 const char* AllocationSpaceName(AllocationSpace space);
860 } // namespace internal 860 } // namespace internal
861 } // namespace v8 861 } // namespace v8
862 862
863 #endif // V8_HEAP_MARK_COMPACT_H_ 863 #endif // V8_HEAP_MARK_COMPACT_H_
OLDNEW
« no previous file with comments | « src/heap/gc-tracer.cc ('k') | src/heap/mark-compact.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698