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 834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
845 // Check whether the heap is currently iterable. | 845 // Check whether the heap is currently iterable. |
846 bool IsHeapIterable(); | 846 bool IsHeapIterable(); |
847 | 847 |
848 // Notify the heap that a context has been disposed. | 848 // Notify the heap that a context has been disposed. |
849 int NotifyContextDisposed(bool dependant_context); | 849 int NotifyContextDisposed(bool dependant_context); |
850 | 850 |
851 // Start incremental marking and ensure that idle time handler can perform | 851 // Start incremental marking and ensure that idle time handler can perform |
852 // incremental steps. | 852 // incremental steps. |
853 void StartIdleIncrementalMarking(); | 853 void StartIdleIncrementalMarking(); |
854 | 854 |
| 855 void StartIncrementalMarking(int gc_flags, |
| 856 const GCCallbackFlags gc_callback_flags); |
| 857 |
| 858 double AdvanceIncrementalMarking( |
| 859 intptr_t step_size_in_bytes, double deadline_in_ms, |
| 860 IncrementalMarking::StepActions step_actions); |
| 861 |
855 inline void increment_scan_on_scavenge_pages() { | 862 inline void increment_scan_on_scavenge_pages() { |
856 scan_on_scavenge_pages_++; | 863 scan_on_scavenge_pages_++; |
857 if (FLAG_gc_verbose) { | 864 if (FLAG_gc_verbose) { |
858 PrintF("Scan-on-scavenge pages: %d\n", scan_on_scavenge_pages_); | 865 PrintF("Scan-on-scavenge pages: %d\n", scan_on_scavenge_pages_); |
859 } | 866 } |
860 } | 867 } |
861 | 868 |
862 inline void decrement_scan_on_scavenge_pages() { | 869 inline void decrement_scan_on_scavenge_pages() { |
863 scan_on_scavenge_pages_--; | 870 scan_on_scavenge_pages_--; |
864 if (FLAG_gc_verbose) { | 871 if (FLAG_gc_verbose) { |
(...skipping 1356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2221 double OldGenerationMutatorUtilization(); | 2228 double OldGenerationMutatorUtilization(); |
2222 | 2229 |
2223 void ReduceNewSpaceSize(); | 2230 void ReduceNewSpaceSize(); |
2224 | 2231 |
2225 bool TryFinalizeIdleIncrementalMarking( | 2232 bool TryFinalizeIdleIncrementalMarking( |
2226 double idle_time_in_ms, size_t size_of_objects, | 2233 double idle_time_in_ms, size_t size_of_objects, |
2227 size_t mark_compact_speed_in_bytes_per_ms); | 2234 size_t mark_compact_speed_in_bytes_per_ms); |
2228 | 2235 |
2229 GCIdleTimeHandler::HeapState ComputeHeapState(); | 2236 GCIdleTimeHandler::HeapState ComputeHeapState(); |
2230 | 2237 |
2231 double AdvanceIncrementalMarking( | |
2232 intptr_t step_size_in_bytes, double deadline_in_ms, | |
2233 IncrementalMarking::ForceCompletionAction completion); | |
2234 | |
2235 bool PerformIdleTimeAction(GCIdleTimeAction action, | 2238 bool PerformIdleTimeAction(GCIdleTimeAction action, |
2236 GCIdleTimeHandler::HeapState heap_state, | 2239 GCIdleTimeHandler::HeapState heap_state, |
2237 double deadline_in_ms); | 2240 double deadline_in_ms); |
2238 | 2241 |
2239 void IdleNotificationEpilogue(GCIdleTimeAction action, | 2242 void IdleNotificationEpilogue(GCIdleTimeAction action, |
2240 GCIdleTimeHandler::HeapState heap_state, | 2243 GCIdleTimeHandler::HeapState heap_state, |
2241 double start_ms, double deadline_in_ms); | 2244 double start_ms, double deadline_in_ms); |
2242 void CheckAndNotifyBackgroundIdleNotification(double idle_time_in_ms, | 2245 void CheckAndNotifyBackgroundIdleNotification(double idle_time_in_ms, |
2243 double now_ms); | 2246 double now_ms); |
2244 | 2247 |
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2828 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2831 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2829 | 2832 |
2830 private: | 2833 private: |
2831 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2834 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2832 }; | 2835 }; |
2833 #endif // DEBUG | 2836 #endif // DEBUG |
2834 } | 2837 } |
2835 } // namespace v8::internal | 2838 } // namespace v8::internal |
2836 | 2839 |
2837 #endif // V8_HEAP_HEAP_H_ | 2840 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |