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 2083 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2094 unsigned int maximum_size_scavenges_; | 2094 unsigned int maximum_size_scavenges_; |
2095 | 2095 |
2096 // TODO(hpayer): Allocation site pretenuring may make this method obsolete. | 2096 // TODO(hpayer): Allocation site pretenuring may make this method obsolete. |
2097 // Re-visit incremental marking heuristics. | 2097 // Re-visit incremental marking heuristics. |
2098 bool IsHighSurvivalRate() { return high_survival_rate_period_length_ > 0; } | 2098 bool IsHighSurvivalRate() { return high_survival_rate_period_length_ > 0; } |
2099 | 2099 |
2100 void ConfigureInitialOldGenerationSize(); | 2100 void ConfigureInitialOldGenerationSize(); |
2101 | 2101 |
2102 void SelectScavengingVisitorsTable(); | 2102 void SelectScavengingVisitorsTable(); |
2103 | 2103 |
2104 void ReduceNewSpaceSize(bool is_long_idle_notification); | |
2105 | |
2106 bool TryFinalizeIdleIncrementalMarking( | 2104 bool TryFinalizeIdleIncrementalMarking( |
2107 bool is_long_idle_notification, double idle_time_in_ms, | 2105 double idle_time_in_ms, size_t size_of_objects, |
2108 size_t size_of_objects, size_t mark_compact_speed_in_bytes_per_ms); | 2106 size_t mark_compact_speed_in_bytes_per_ms); |
2109 | 2107 |
2110 void ClearObjectStats(bool clear_last_time_stats = false); | 2108 void ClearObjectStats(bool clear_last_time_stats = false); |
2111 | 2109 |
2112 inline void UpdateAllocationsHash(HeapObject* object); | 2110 inline void UpdateAllocationsHash(HeapObject* object); |
2113 inline void UpdateAllocationsHash(uint32_t value); | 2111 inline void UpdateAllocationsHash(uint32_t value); |
2114 inline void PrintAlloctionsHash(); | 2112 inline void PrintAlloctionsHash(); |
2115 | 2113 |
2116 // Object counts and used memory by InstanceType | 2114 // Object counts and used memory by InstanceType |
2117 size_t object_counts_[OBJECT_STATS_COUNT]; | 2115 size_t object_counts_[OBJECT_STATS_COUNT]; |
2118 size_t object_counts_last_time_[OBJECT_STATS_COUNT]; | 2116 size_t object_counts_last_time_[OBJECT_STATS_COUNT]; |
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2648 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2646 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2649 | 2647 |
2650 private: | 2648 private: |
2651 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2649 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2652 }; | 2650 }; |
2653 #endif // DEBUG | 2651 #endif // DEBUG |
2654 } | 2652 } |
2655 } // namespace v8::internal | 2653 } // namespace v8::internal |
2656 | 2654 |
2657 #endif // V8_HEAP_HEAP_H_ | 2655 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |