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

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

Issue 1853783002: [heap] Non-contiguous young generation (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Hannes comment Created 4 years, 8 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 | « src/base/platform/platform.h ('k') | 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 1156 matching lines...) Expand 10 before | Expand all | Expand 10 after
1167 size_t ObjectSizeAtLastGC(size_t index); 1167 size_t ObjectSizeAtLastGC(size_t index);
1168 1168
1169 // Retrieves names of buckets used by object statistics tracking. 1169 // Retrieves names of buckets used by object statistics tracking.
1170 bool GetObjectTypeName(size_t index, const char** object_type, 1170 bool GetObjectTypeName(size_t index, const char** object_type,
1171 const char** object_sub_type); 1171 const char** object_sub_type);
1172 1172
1173 // =========================================================================== 1173 // ===========================================================================
1174 // GC statistics. ============================================================ 1174 // GC statistics. ============================================================
1175 // =========================================================================== 1175 // ===========================================================================
1176 1176
1177 // Returns the maximum amount of memory reserved for the heap. For 1177 // Returns the maximum amount of memory reserved for the heap.
1178 // the young generation, we reserve 4 times the amount needed for a
1179 // semi space. The young generation consists of two semi spaces and
1180 // we reserve twice the amount needed for those in order to ensure
1181 // that new space can be aligned to its size.
1182 intptr_t MaxReserved() { 1178 intptr_t MaxReserved() {
1183 return 4 * reserved_semispace_size_ + max_old_generation_size_; 1179 return 2 * max_semi_space_size_ + max_old_generation_size_;
1184 } 1180 }
1185 int MaxSemiSpaceSize() { return max_semi_space_size_; } 1181 int MaxSemiSpaceSize() { return max_semi_space_size_; }
1186 int ReservedSemiSpaceSize() { return reserved_semispace_size_; }
1187 int InitialSemiSpaceSize() { return initial_semispace_size_; } 1182 int InitialSemiSpaceSize() { return initial_semispace_size_; }
1188 intptr_t MaxOldGenerationSize() { return max_old_generation_size_; } 1183 intptr_t MaxOldGenerationSize() { return max_old_generation_size_; }
1189 intptr_t MaxExecutableSize() { return max_executable_size_; } 1184 intptr_t MaxExecutableSize() { return max_executable_size_; }
1190 1185
1191 // Returns the capacity of the heap in bytes w/o growing. Heap grows when 1186 // Returns the capacity of the heap in bytes w/o growing. Heap grows when
1192 // more spaces are needed until it reaches the limit. 1187 // more spaces are needed until it reaches the limit.
1193 intptr_t Capacity(); 1188 intptr_t Capacity();
1194 1189
1195 // Returns the amount of memory currently committed for the heap. 1190 // Returns the amount of memory currently committed for the heap.
1196 intptr_t CommittedMemory(); 1191 intptr_t CommittedMemory();
(...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after
1988 // Caches the amount of external memory registered at the last global gc. 1983 // Caches the amount of external memory registered at the last global gc.
1989 int64_t amount_of_external_allocated_memory_at_last_global_gc_; 1984 int64_t amount_of_external_allocated_memory_at_last_global_gc_;
1990 1985
1991 // This can be calculated directly from a pointer to the heap; however, it is 1986 // This can be calculated directly from a pointer to the heap; however, it is
1992 // more expedient to get at the isolate directly from within Heap methods. 1987 // more expedient to get at the isolate directly from within Heap methods.
1993 Isolate* isolate_; 1988 Isolate* isolate_;
1994 1989
1995 Object* roots_[kRootListLength]; 1990 Object* roots_[kRootListLength];
1996 1991
1997 size_t code_range_size_; 1992 size_t code_range_size_;
1998 int reserved_semispace_size_;
1999 int max_semi_space_size_; 1993 int max_semi_space_size_;
2000 int initial_semispace_size_; 1994 int initial_semispace_size_;
2001 int target_semispace_size_;
2002 intptr_t max_old_generation_size_; 1995 intptr_t max_old_generation_size_;
2003 intptr_t initial_old_generation_size_; 1996 intptr_t initial_old_generation_size_;
2004 bool old_generation_size_configured_; 1997 bool old_generation_size_configured_;
2005 intptr_t max_executable_size_; 1998 intptr_t max_executable_size_;
2006 intptr_t maximum_committed_; 1999 intptr_t maximum_committed_;
2007 2000
2008 // For keeping track of how much data has survived 2001 // For keeping track of how much data has survived
2009 // scavenge since last new space expansion. 2002 // scavenge since last new space expansion.
2010 intptr_t survived_since_last_expansion_; 2003 intptr_t survived_since_last_expansion_;
2011 2004
(...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after
2659 friend class LargeObjectSpace; 2652 friend class LargeObjectSpace;
2660 friend class NewSpace; 2653 friend class NewSpace;
2661 friend class PagedSpace; 2654 friend class PagedSpace;
2662 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); 2655 DISALLOW_COPY_AND_ASSIGN(AllocationObserver);
2663 }; 2656 };
2664 2657
2665 } // namespace internal 2658 } // namespace internal
2666 } // namespace v8 2659 } // namespace v8
2667 2660
2668 #endif // V8_HEAP_HEAP_H_ 2661 #endif // V8_HEAP_HEAP_H_
OLDNEW
« no previous file with comments | « src/base/platform/platform.h ('k') | src/heap/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698