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

Side by Side Diff: src/heap/heap.h

Issue 2397713002: [heap] Remove PromotionMode used by Scavenger (Closed)
Patch Set: Remove introduced tests Created 4 years, 2 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/heap.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_HEAP_H_ 5 #ifndef V8_HEAP_HEAP_H_
6 #define V8_HEAP_HEAP_H_ 6 #define V8_HEAP_HEAP_H_
7 7
8 #include <cmath> 8 #include <cmath>
9 #include <map> 9 #include <map>
10 10
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 class PagedSpace; 335 class PagedSpace;
336 class Scavenger; 336 class Scavenger;
337 class ScavengeJob; 337 class ScavengeJob;
338 class Space; 338 class Space;
339 class StoreBuffer; 339 class StoreBuffer;
340 class TracePossibleWrapperReporter; 340 class TracePossibleWrapperReporter;
341 class WeakObjectRetainer; 341 class WeakObjectRetainer;
342 342
343 typedef void (*ObjectSlotCallback)(HeapObject** from, HeapObject* to); 343 typedef void (*ObjectSlotCallback)(HeapObject** from, HeapObject* to);
344 344
345 enum PromotionMode { PROMOTE_MARKED, DEFAULT_PROMOTION };
346
347 enum ArrayStorageAllocationMode { 345 enum ArrayStorageAllocationMode {
348 DONT_INITIALIZE_ARRAY_ELEMENTS, 346 DONT_INITIALIZE_ARRAY_ELEMENTS,
349 INITIALIZE_ARRAY_ELEMENTS_WITH_HOLE 347 INITIALIZE_ARRAY_ELEMENTS_WITH_HOLE
350 }; 348 };
351 349
352 enum class ClearRecordedSlots { kYes, kNo }; 350 enum class ClearRecordedSlots { kYes, kNo };
353 351
354 enum class ClearBlackArea { kYes, kNo }; 352 enum class ClearBlackArea { kYes, kNo };
355 353
356 enum class GarbageCollectionReason { 354 enum class GarbageCollectionReason {
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 826
829 void RecordStats(HeapStats* stats, bool take_snapshot = false); 827 void RecordStats(HeapStats* stats, bool take_snapshot = false);
830 828
831 // Check new space expansion criteria and expand semispaces if it was hit. 829 // Check new space expansion criteria and expand semispaces if it was hit.
832 void CheckNewSpaceExpansionCriteria(); 830 void CheckNewSpaceExpansionCriteria();
833 831
834 void VisitExternalResources(v8::ExternalResourceVisitor* visitor); 832 void VisitExternalResources(v8::ExternalResourceVisitor* visitor);
835 833
836 // An object should be promoted if the object has survived a 834 // An object should be promoted if the object has survived a
837 // scavenge operation. 835 // scavenge operation.
838 template <PromotionMode promotion_mode>
839 inline bool ShouldBePromoted(Address old_address, int object_size); 836 inline bool ShouldBePromoted(Address old_address, int object_size);
840 837
841 inline PromotionMode CurrentPromotionMode();
842
843 void ClearNormalizedMapCaches(); 838 void ClearNormalizedMapCaches();
844 839
845 void IncrementDeferredCount(v8::Isolate::UseCounterFeature feature); 840 void IncrementDeferredCount(v8::Isolate::UseCounterFeature feature);
846 841
847 // Completely clear the Instanceof cache (to stop it keeping objects alive 842 // Completely clear the Instanceof cache (to stop it keeping objects alive
848 // around a GC). 843 // around a GC).
849 inline void CompletelyClearInstanceofCache(); 844 inline void CompletelyClearInstanceofCache();
850 845
851 inline uint32_t HashSeed(); 846 inline uint32_t HashSeed();
852 847
(...skipping 918 matching lines...) Expand 10 before | Expand all | Expand 10 after
1771 // Performs a major collection in the whole heap. 1766 // Performs a major collection in the whole heap.
1772 void MarkCompact(); 1767 void MarkCompact();
1773 1768
1774 // Code to be run before and after mark-compact. 1769 // Code to be run before and after mark-compact.
1775 void MarkCompactPrologue(); 1770 void MarkCompactPrologue();
1776 void MarkCompactEpilogue(); 1771 void MarkCompactEpilogue();
1777 1772
1778 // Performs a minor collection in new generation. 1773 // Performs a minor collection in new generation.
1779 void Scavenge(); 1774 void Scavenge();
1780 1775
1781 Address DoScavenge(ObjectVisitor* scavenge_visitor, Address new_space_front, 1776 Address DoScavenge(ObjectVisitor* scavenge_visitor, Address new_space_front);
1782 PromotionMode promotion_mode);
1783 1777
1784 void UpdateNewSpaceReferencesInExternalStringTable( 1778 void UpdateNewSpaceReferencesInExternalStringTable(
1785 ExternalStringTableUpdaterCallback updater_func); 1779 ExternalStringTableUpdaterCallback updater_func);
1786 1780
1787 void UpdateReferencesInExternalStringTable( 1781 void UpdateReferencesInExternalStringTable(
1788 ExternalStringTableUpdaterCallback updater_func); 1782 ExternalStringTableUpdaterCallback updater_func);
1789 1783
1790 void ProcessAllWeakReferences(WeakObjectRetainer* retainer); 1784 void ProcessAllWeakReferences(WeakObjectRetainer* retainer);
1791 void ProcessYoungWeakReferences(WeakObjectRetainer* retainer); 1785 void ProcessYoungWeakReferences(WeakObjectRetainer* retainer);
1792 void ProcessNativeContexts(WeakObjectRetainer* retainer); 1786 void ProcessNativeContexts(WeakObjectRetainer* retainer);
(...skipping 845 matching lines...) Expand 10 before | Expand all | Expand 10 after
2638 } 2632 }
2639 2633
2640 private: 2634 private:
2641 Heap* heap_; 2635 Heap* heap_;
2642 }; 2636 };
2643 2637
2644 } // namespace internal 2638 } // namespace internal
2645 } // namespace v8 2639 } // namespace v8
2646 2640
2647 #endif // V8_HEAP_HEAP_H_ 2641 #endif // V8_HEAP_HEAP_H_
OLDNEW
« no previous file with comments | « no previous file | src/heap/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698