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 884 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
895 // marking. If we continue to mark incrementally, we might have marked | 895 // marking. If we continue to mark incrementally, we might have marked |
896 // objects that die later. | 896 // objects that die later. |
897 void OverApproximateWeakClosure(const char* gc_reason); | 897 void OverApproximateWeakClosure(const char* gc_reason); |
898 | 898 |
899 // Check whether the heap is currently iterable. | 899 // Check whether the heap is currently iterable. |
900 bool IsHeapIterable(); | 900 bool IsHeapIterable(); |
901 | 901 |
902 // Notify the heap that a context has been disposed. | 902 // Notify the heap that a context has been disposed. |
903 int NotifyContextDisposed(bool dependant_context); | 903 int NotifyContextDisposed(bool dependant_context); |
904 | 904 |
905 void FinalizeIncrementalMarkingIfComplete(const char* comment); | |
906 | |
907 inline void increment_scan_on_scavenge_pages() { | 905 inline void increment_scan_on_scavenge_pages() { |
908 scan_on_scavenge_pages_++; | 906 scan_on_scavenge_pages_++; |
909 if (FLAG_gc_verbose) { | 907 if (FLAG_gc_verbose) { |
910 PrintF("Scan-on-scavenge pages: %d\n", scan_on_scavenge_pages_); | 908 PrintF("Scan-on-scavenge pages: %d\n", scan_on_scavenge_pages_); |
911 } | 909 } |
912 } | 910 } |
913 | 911 |
914 inline void decrement_scan_on_scavenge_pages() { | 912 inline void decrement_scan_on_scavenge_pages() { |
915 scan_on_scavenge_pages_--; | 913 scan_on_scavenge_pages_--; |
916 if (FLAG_gc_verbose) { | 914 if (FLAG_gc_verbose) { |
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1241 // prepared by finishing the previous one. | 1239 // prepared by finishing the previous one. |
1242 void PrepareArrayBufferDiscoveryInNewSpace(); | 1240 void PrepareArrayBufferDiscoveryInNewSpace(); |
1243 | 1241 |
1244 // An ArrayBuffer moved from new space to old space. | 1242 // An ArrayBuffer moved from new space to old space. |
1245 void PromoteArrayBuffer(Object* buffer); | 1243 void PromoteArrayBuffer(Object* buffer); |
1246 | 1244 |
1247 bool HasLowAllocationRate(); | 1245 bool HasLowAllocationRate(); |
1248 bool HasHighFragmentation(); | 1246 bool HasHighFragmentation(); |
1249 bool HasHighFragmentation(intptr_t used, intptr_t committed); | 1247 bool HasHighFragmentation(intptr_t used, intptr_t committed); |
1250 | 1248 |
1251 bool ShouldOptimizeForMemoryUsage() { return optimize_for_memory_usage_; } | |
1252 | |
1253 // =========================================================================== | 1249 // =========================================================================== |
1254 // Initialization. =========================================================== | 1250 // Initialization. =========================================================== |
1255 // =========================================================================== | 1251 // =========================================================================== |
1256 | 1252 |
1257 // Configure heap size in MB before setup. Return false if the heap has been | 1253 // Configure heap size in MB before setup. Return false if the heap has been |
1258 // set up already. | 1254 // set up already. |
1259 bool ConfigureHeap(int max_semi_space_size, int max_old_space_size, | 1255 bool ConfigureHeap(int max_semi_space_size, int max_old_space_size, |
1260 int max_executable_size, size_t code_range_size); | 1256 int max_executable_size, size_t code_range_size); |
1261 bool ConfigureHeapDefault(); | 1257 bool ConfigureHeapDefault(); |
1262 | 1258 |
(...skipping 1487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2750 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2746 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2751 | 2747 |
2752 private: | 2748 private: |
2753 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2749 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2754 }; | 2750 }; |
2755 #endif // DEBUG | 2751 #endif // DEBUG |
2756 } | 2752 } |
2757 } // namespace v8::internal | 2753 } // namespace v8::internal |
2758 | 2754 |
2759 #endif // V8_HEAP_HEAP_H_ | 2755 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |