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

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

Issue 2339033005: Revert of [heap] Decouple old generation allocation limit from external memory. (Closed)
Patch Set: Created 4 years, 3 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-inl.h » ('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 1334 matching lines...) Expand 10 before | Expand all | Expand 10 after
1345 inline void IncrementNodesCopiedInNewSpace() { nodes_copied_in_new_space_++; } 1345 inline void IncrementNodesCopiedInNewSpace() { nodes_copied_in_new_space_++; }
1346 1346
1347 inline void IncrementNodesPromoted() { nodes_promoted_++; } 1347 inline void IncrementNodesPromoted() { nodes_promoted_++; }
1348 1348
1349 inline void IncrementYoungSurvivorsCounter(intptr_t survived) { 1349 inline void IncrementYoungSurvivorsCounter(intptr_t survived) {
1350 DCHECK_GE(survived, 0); 1350 DCHECK_GE(survived, 0);
1351 survived_last_scavenge_ = survived; 1351 survived_last_scavenge_ = survived;
1352 survived_since_last_expansion_ += survived; 1352 survived_since_last_expansion_ += survived;
1353 } 1353 }
1354 1354
1355 inline intptr_t PromotedTotalSize() {
1356 int64_t total = PromotedSpaceSizeOfObjects() + PromotedExternalMemorySize();
1357 if (total > std::numeric_limits<intptr_t>::max()) {
1358 // TODO(erikcorry): Use uintptr_t everywhere we do heap size calculations.
1359 return std::numeric_limits<intptr_t>::max();
1360 }
1361 if (total < 0) return 0;
1362 return static_cast<intptr_t>(total);
1363 }
1364
1355 inline void UpdateNewSpaceAllocationCounter(); 1365 inline void UpdateNewSpaceAllocationCounter();
1356 1366
1357 inline size_t NewSpaceAllocationCounter(); 1367 inline size_t NewSpaceAllocationCounter();
1358 1368
1359 // This should be used only for testing. 1369 // This should be used only for testing.
1360 void set_new_space_allocation_counter(size_t new_value) { 1370 void set_new_space_allocation_counter(size_t new_value) {
1361 new_space_allocation_counter_ = new_value; 1371 new_space_allocation_counter_ = new_value;
1362 } 1372 }
1363 1373
1364 void UpdateOldGenerationAllocationCounter() { 1374 void UpdateOldGenerationAllocationCounter() {
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after
1787 void ProcessYoungWeakReferences(WeakObjectRetainer* retainer); 1797 void ProcessYoungWeakReferences(WeakObjectRetainer* retainer);
1788 void ProcessNativeContexts(WeakObjectRetainer* retainer); 1798 void ProcessNativeContexts(WeakObjectRetainer* retainer);
1789 void ProcessAllocationSites(WeakObjectRetainer* retainer); 1799 void ProcessAllocationSites(WeakObjectRetainer* retainer);
1790 void ProcessWeakListRoots(WeakObjectRetainer* retainer); 1800 void ProcessWeakListRoots(WeakObjectRetainer* retainer);
1791 1801
1792 // =========================================================================== 1802 // ===========================================================================
1793 // GC statistics. ============================================================ 1803 // GC statistics. ============================================================
1794 // =========================================================================== 1804 // ===========================================================================
1795 1805
1796 inline intptr_t OldGenerationSpaceAvailable() { 1806 inline intptr_t OldGenerationSpaceAvailable() {
1797 return old_generation_allocation_limit_ - PromotedSpaceSizeOfObjects(); 1807 return old_generation_allocation_limit_ - PromotedTotalSize();
1798 } 1808 }
1799 1809
1800 // Returns maximum GC pause. 1810 // Returns maximum GC pause.
1801 double get_max_gc_pause() { return max_gc_pause_; } 1811 double get_max_gc_pause() { return max_gc_pause_; }
1802 1812
1803 // Returns maximum size of objects alive after GC. 1813 // Returns maximum size of objects alive after GC.
1804 intptr_t get_max_alive_after_gc() { return max_alive_after_gc_; } 1814 intptr_t get_max_alive_after_gc() { return max_alive_after_gc_; }
1805 1815
1806 // Returns minimal interval between two subsequent collections. 1816 // Returns minimal interval between two subsequent collections.
1807 double get_min_in_mutator() { return min_in_mutator_; } 1817 double get_min_in_mutator() { return min_in_mutator_; }
(...skipping 823 matching lines...) Expand 10 before | Expand all | Expand 10 after
2631 friend class LargeObjectSpace; 2641 friend class LargeObjectSpace;
2632 friend class NewSpace; 2642 friend class NewSpace;
2633 friend class PagedSpace; 2643 friend class PagedSpace;
2634 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); 2644 DISALLOW_COPY_AND_ASSIGN(AllocationObserver);
2635 }; 2645 };
2636 2646
2637 } // namespace internal 2647 } // namespace internal
2638 } // namespace v8 2648 } // namespace v8
2639 2649
2640 #endif // V8_HEAP_HEAP_H_ 2650 #endif // V8_HEAP_HEAP_H_
OLDNEW
« no previous file with comments | « no previous file | src/heap/heap-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698