| OLD | NEW |
| 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 998 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1009 return max_old_generation_size_ == HeapLimitForDebugging(); | 1009 return max_old_generation_size_ == HeapLimitForDebugging(); |
| 1010 } | 1010 } |
| 1011 | 1011 |
| 1012 // =========================================================================== | 1012 // =========================================================================== |
| 1013 // Initialization. =========================================================== | 1013 // Initialization. =========================================================== |
| 1014 // =========================================================================== | 1014 // =========================================================================== |
| 1015 | 1015 |
| 1016 // Configure heap size in MB before setup. Return false if the heap has been | 1016 // Configure heap size in MB before setup. Return false if the heap has been |
| 1017 // set up already. | 1017 // set up already. |
| 1018 bool ConfigureHeap(size_t max_semi_space_size, size_t max_old_space_size, | 1018 bool ConfigureHeap(size_t max_semi_space_size, size_t max_old_space_size, |
| 1019 size_t max_executable_size, size_t code_range_size); | 1019 size_t code_range_size); |
| 1020 bool ConfigureHeapDefault(); | 1020 bool ConfigureHeapDefault(); |
| 1021 | 1021 |
| 1022 // Prepares the heap, setting up memory areas that are needed in the isolate | 1022 // Prepares the heap, setting up memory areas that are needed in the isolate |
| 1023 // without actually creating any objects. | 1023 // without actually creating any objects. |
| 1024 bool SetUp(); | 1024 bool SetUp(); |
| 1025 | 1025 |
| 1026 // Bootstraps the object heap with the core set of objects required to run. | 1026 // Bootstraps the object heap with the core set of objects required to run. |
| 1027 // Returns whether it succeeded. | 1027 // Returns whether it succeeded. |
| 1028 bool CreateHeapObjects(); | 1028 bool CreateHeapObjects(); |
| 1029 | 1029 |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1363 // GC statistics. ============================================================ | 1363 // GC statistics. ============================================================ |
| 1364 // =========================================================================== | 1364 // =========================================================================== |
| 1365 | 1365 |
| 1366 // Returns the maximum amount of memory reserved for the heap. | 1366 // Returns the maximum amount of memory reserved for the heap. |
| 1367 size_t MaxReserved() { | 1367 size_t MaxReserved() { |
| 1368 return 2 * max_semi_space_size_ + max_old_generation_size_; | 1368 return 2 * max_semi_space_size_ + max_old_generation_size_; |
| 1369 } | 1369 } |
| 1370 size_t MaxSemiSpaceSize() { return max_semi_space_size_; } | 1370 size_t MaxSemiSpaceSize() { return max_semi_space_size_; } |
| 1371 size_t InitialSemiSpaceSize() { return initial_semispace_size_; } | 1371 size_t InitialSemiSpaceSize() { return initial_semispace_size_; } |
| 1372 size_t MaxOldGenerationSize() { return max_old_generation_size_; } | 1372 size_t MaxOldGenerationSize() { return max_old_generation_size_; } |
| 1373 size_t MaxExecutableSize() { return max_executable_size_; } | |
| 1374 | 1373 |
| 1375 // Returns the capacity of the heap in bytes w/o growing. Heap grows when | 1374 // Returns the capacity of the heap in bytes w/o growing. Heap grows when |
| 1376 // more spaces are needed until it reaches the limit. | 1375 // more spaces are needed until it reaches the limit. |
| 1377 size_t Capacity(); | 1376 size_t Capacity(); |
| 1378 | 1377 |
| 1379 // Returns the capacity of the old generation. | 1378 // Returns the capacity of the old generation. |
| 1380 size_t OldGenerationCapacity(); | 1379 size_t OldGenerationCapacity(); |
| 1381 | 1380 |
| 1382 // Returns the amount of memory currently committed for the heap. | 1381 // Returns the amount of memory currently committed for the heap. |
| 1383 size_t CommittedMemory(); | 1382 size_t CommittedMemory(); |
| (...skipping 798 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2182 | 2181 |
| 2183 Object* roots_[kRootListLength]; | 2182 Object* roots_[kRootListLength]; |
| 2184 | 2183 |
| 2185 size_t code_range_size_; | 2184 size_t code_range_size_; |
| 2186 size_t max_semi_space_size_; | 2185 size_t max_semi_space_size_; |
| 2187 size_t initial_semispace_size_; | 2186 size_t initial_semispace_size_; |
| 2188 size_t max_old_generation_size_; | 2187 size_t max_old_generation_size_; |
| 2189 size_t initial_max_old_generation_size_; | 2188 size_t initial_max_old_generation_size_; |
| 2190 size_t initial_old_generation_size_; | 2189 size_t initial_old_generation_size_; |
| 2191 bool old_generation_size_configured_; | 2190 bool old_generation_size_configured_; |
| 2192 size_t max_executable_size_; | |
| 2193 size_t maximum_committed_; | 2191 size_t maximum_committed_; |
| 2194 | 2192 |
| 2195 // For keeping track of how much data has survived | 2193 // For keeping track of how much data has survived |
| 2196 // scavenge since last new space expansion. | 2194 // scavenge since last new space expansion. |
| 2197 size_t survived_since_last_expansion_; | 2195 size_t survived_since_last_expansion_; |
| 2198 | 2196 |
| 2199 // ... and since the last scavenge. | 2197 // ... and since the last scavenge. |
| 2200 size_t survived_last_scavenge_; | 2198 size_t survived_last_scavenge_; |
| 2201 | 2199 |
| 2202 // This is not the depth of nested AlwaysAllocateScope's but rather a single | 2200 // This is not the depth of nested AlwaysAllocateScope's but rather a single |
| (...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2661 friend class PagedSpace; | 2659 friend class PagedSpace; |
| 2662 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); | 2660 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); |
| 2663 }; | 2661 }; |
| 2664 | 2662 |
| 2665 V8_EXPORT_PRIVATE const char* AllocationSpaceName(AllocationSpace space); | 2663 V8_EXPORT_PRIVATE const char* AllocationSpaceName(AllocationSpace space); |
| 2666 | 2664 |
| 2667 } // namespace internal | 2665 } // namespace internal |
| 2668 } // namespace v8 | 2666 } // namespace v8 |
| 2669 | 2667 |
| 2670 #endif // V8_HEAP_HEAP_H_ | 2668 #endif // V8_HEAP_HEAP_H_ |
| OLD | NEW |