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 1293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1304 | 1304 |
1305 // Returns maximum GC pause. | 1305 // Returns maximum GC pause. |
1306 double get_max_gc_pause() { return max_gc_pause_; } | 1306 double get_max_gc_pause() { return max_gc_pause_; } |
1307 | 1307 |
1308 // Returns maximum size of objects alive after GC. | 1308 // Returns maximum size of objects alive after GC. |
1309 intptr_t get_max_alive_after_gc() { return max_alive_after_gc_; } | 1309 intptr_t get_max_alive_after_gc() { return max_alive_after_gc_; } |
1310 | 1310 |
1311 // Returns minimal interval between two subsequent collections. | 1311 // Returns minimal interval between two subsequent collections. |
1312 double get_min_in_mutator() { return min_in_mutator_; } | 1312 double get_min_in_mutator() { return min_in_mutator_; } |
1313 | 1313 |
| 1314 void IncrementDeferredCount(v8::Isolate::UseCounterFeature feature); |
| 1315 |
1314 MarkCompactCollector* mark_compact_collector() { | 1316 MarkCompactCollector* mark_compact_collector() { |
1315 return &mark_compact_collector_; | 1317 return &mark_compact_collector_; |
1316 } | 1318 } |
1317 | 1319 |
1318 StoreBuffer* store_buffer() { return &store_buffer_; } | 1320 StoreBuffer* store_buffer() { return &store_buffer_; } |
1319 | 1321 |
1320 Marking* marking() { return &marking_; } | 1322 Marking* marking() { return &marking_; } |
1321 | 1323 |
1322 IncrementalMarking* incremental_marking() { return &incremental_marking_; } | 1324 IncrementalMarking* incremental_marking() { return &incremental_marking_; } |
1323 | 1325 |
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2040 // Record statistics before and after garbage collection. | 2042 // Record statistics before and after garbage collection. |
2041 void ReportStatisticsBeforeGC(); | 2043 void ReportStatisticsBeforeGC(); |
2042 void ReportStatisticsAfterGC(); | 2044 void ReportStatisticsAfterGC(); |
2043 | 2045 |
2044 // Slow part of scavenge object. | 2046 // Slow part of scavenge object. |
2045 static void ScavengeObjectSlow(HeapObject** p, HeapObject* object); | 2047 static void ScavengeObjectSlow(HeapObject** p, HeapObject* object); |
2046 | 2048 |
2047 // Total RegExp code ever generated | 2049 // Total RegExp code ever generated |
2048 double total_regexp_code_generated_; | 2050 double total_regexp_code_generated_; |
2049 | 2051 |
| 2052 int deferred_counters_[v8::Isolate::kUseCounterFeatureCount]; |
| 2053 |
2050 GCTracer tracer_; | 2054 GCTracer tracer_; |
2051 | 2055 |
2052 // Creates and installs the full-sized number string cache. | 2056 // Creates and installs the full-sized number string cache. |
2053 int FullSizeNumberStringCacheLength(); | 2057 int FullSizeNumberStringCacheLength(); |
2054 // Flush the number to string cache. | 2058 // Flush the number to string cache. |
2055 void FlushNumberStringCache(); | 2059 void FlushNumberStringCache(); |
2056 | 2060 |
2057 // Sets used allocation sites entries to undefined. | 2061 // Sets used allocation sites entries to undefined. |
2058 void FlushAllocationSitesScratchpad(); | 2062 void FlushAllocationSitesScratchpad(); |
2059 | 2063 |
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2643 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2647 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2644 | 2648 |
2645 private: | 2649 private: |
2646 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2650 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2647 }; | 2651 }; |
2648 #endif // DEBUG | 2652 #endif // DEBUG |
2649 } | 2653 } |
2650 } // namespace v8::internal | 2654 } // namespace v8::internal |
2651 | 2655 |
2652 #endif // V8_HEAP_HEAP_H_ | 2656 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |