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 2100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2111 bool IsHighSurvivalRate() { return high_survival_rate_period_length_ > 0; } | 2111 bool IsHighSurvivalRate() { return high_survival_rate_period_length_ > 0; } |
2112 | 2112 |
2113 void ConfigureInitialOldGenerationSize(); | 2113 void ConfigureInitialOldGenerationSize(); |
2114 | 2114 |
2115 void SelectScavengingVisitorsTable(); | 2115 void SelectScavengingVisitorsTable(); |
2116 | 2116 |
2117 bool TryFinalizeIdleIncrementalMarking( | 2117 bool TryFinalizeIdleIncrementalMarking( |
2118 double idle_time_in_ms, size_t size_of_objects, | 2118 double idle_time_in_ms, size_t size_of_objects, |
2119 size_t mark_compact_speed_in_bytes_per_ms); | 2119 size_t mark_compact_speed_in_bytes_per_ms); |
2120 | 2120 |
| 2121 GCIdleTimeHandler::HeapState ComputeHeapState(bool reduce_memory); |
| 2122 |
| 2123 bool PerformIdleTimeAction(GCIdleTimeAction action, |
| 2124 GCIdleTimeHandler::HeapState heap_state, |
| 2125 double deadline_in_ms, |
| 2126 bool is_long_idle_notification); |
| 2127 |
| 2128 void IdleNotificationEpilogue(GCIdleTimeAction action, |
| 2129 GCIdleTimeHandler::HeapState heap_state, |
| 2130 double start_ms, double deadline_in_ms, |
| 2131 bool is_long_idle_notification); |
| 2132 |
2121 void ClearObjectStats(bool clear_last_time_stats = false); | 2133 void ClearObjectStats(bool clear_last_time_stats = false); |
2122 | 2134 |
2123 inline void UpdateAllocationsHash(HeapObject* object); | 2135 inline void UpdateAllocationsHash(HeapObject* object); |
2124 inline void UpdateAllocationsHash(uint32_t value); | 2136 inline void UpdateAllocationsHash(uint32_t value); |
2125 inline void PrintAlloctionsHash(); | 2137 inline void PrintAlloctionsHash(); |
2126 | 2138 |
2127 // Object counts and used memory by InstanceType | 2139 // Object counts and used memory by InstanceType |
2128 size_t object_counts_[OBJECT_STATS_COUNT]; | 2140 size_t object_counts_[OBJECT_STATS_COUNT]; |
2129 size_t object_counts_last_time_[OBJECT_STATS_COUNT]; | 2141 size_t object_counts_last_time_[OBJECT_STATS_COUNT]; |
2130 size_t object_sizes_[OBJECT_STATS_COUNT]; | 2142 size_t object_sizes_[OBJECT_STATS_COUNT]; |
(...skipping 531 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2662 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2674 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2663 | 2675 |
2664 private: | 2676 private: |
2665 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2677 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2666 }; | 2678 }; |
2667 #endif // DEBUG | 2679 #endif // DEBUG |
2668 } | 2680 } |
2669 } // namespace v8::internal | 2681 } // namespace v8::internal |
2670 | 2682 |
2671 #endif // V8_HEAP_HEAP_H_ | 2683 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |