Chromium Code Reviews| 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 894 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 905 return lo_space(); | 905 return lo_space(); |
| 906 default: | 906 default: |
| 907 return paged_space(idx); | 907 return paged_space(idx); |
| 908 } | 908 } |
| 909 } | 909 } |
| 910 | 910 |
| 911 // Returns name of the space. | 911 // Returns name of the space. |
| 912 const char* GetSpaceName(int idx); | 912 const char* GetSpaceName(int idx); |
| 913 | 913 |
| 914 // =========================================================================== | 914 // =========================================================================== |
| 915 // API. ====================================================================== | 915 // Embedder heap tracing. ==================================================== |
|
Hannes Payer (out of office)
2016/04/08 12:02:09
Since all components are just used by the mark com
Marcel Hlopko
2016/04/11 10:29:22
Done.
| |
| 916 // =========================================================================== | 916 // =========================================================================== |
| 917 | 917 |
| 918 void SetEmbedderHeapTracer(EmbedderHeapTracer* tracer); | 918 void SetEmbedderHeapTracer(EmbedderHeapTracer* tracer); |
| 919 | 919 |
| 920 bool UsingEmbedderHeapTracer(); | |
| 921 | |
| 922 void TracePossibleWrapper(JSObject* js_object); | |
| 923 | |
| 920 void RegisterExternallyReferencedObject(Object** object); | 924 void RegisterExternallyReferencedObject(Object** object); |
| 921 | 925 |
| 922 // =========================================================================== | 926 // =========================================================================== |
| 923 // Getters to other components. ============================================== | 927 // Getters to other components. ============================================== |
| 924 // =========================================================================== | 928 // =========================================================================== |
| 925 | 929 |
| 926 GCTracer* tracer() { return tracer_; } | 930 GCTracer* tracer() { return tracer_; } |
| 927 | 931 |
| 928 MemoryAllocator* memory_allocator() { return memory_allocator_; } | 932 MemoryAllocator* memory_allocator() { return memory_allocator_; } |
| 929 | 933 |
| 930 EmbedderHeapTracer* embedder_heap_tracer() { return embedder_heap_tracer_; } | |
| 931 | |
| 932 PromotionQueue* promotion_queue() { return &promotion_queue_; } | 934 PromotionQueue* promotion_queue() { return &promotion_queue_; } |
| 933 | 935 |
| 934 inline Isolate* isolate(); | 936 inline Isolate* isolate(); |
| 935 | 937 |
| 936 MarkCompactCollector* mark_compact_collector() { | 938 MarkCompactCollector* mark_compact_collector() { |
| 937 return mark_compact_collector_; | 939 return mark_compact_collector_; |
| 938 } | 940 } |
| 939 | 941 |
| 940 // =========================================================================== | 942 // =========================================================================== |
| 941 // Root set access. ========================================================== | 943 // Root set access. ========================================================== |
| (...skipping 1156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2098 | 2100 |
| 2099 List<GCCallbackPair> gc_epilogue_callbacks_; | 2101 List<GCCallbackPair> gc_epilogue_callbacks_; |
| 2100 List<GCCallbackPair> gc_prologue_callbacks_; | 2102 List<GCCallbackPair> gc_prologue_callbacks_; |
| 2101 | 2103 |
| 2102 // Total RegExp code ever generated | 2104 // Total RegExp code ever generated |
| 2103 double total_regexp_code_generated_; | 2105 double total_regexp_code_generated_; |
| 2104 | 2106 |
| 2105 int deferred_counters_[v8::Isolate::kUseCounterFeatureCount]; | 2107 int deferred_counters_[v8::Isolate::kUseCounterFeatureCount]; |
| 2106 | 2108 |
| 2107 GCTracer* tracer_; | 2109 GCTracer* tracer_; |
| 2108 EmbedderHeapTracer* embedder_heap_tracer_; | |
| 2109 | 2110 |
| 2110 int high_survival_rate_period_length_; | 2111 int high_survival_rate_period_length_; |
| 2111 intptr_t promoted_objects_size_; | 2112 intptr_t promoted_objects_size_; |
| 2112 double promotion_ratio_; | 2113 double promotion_ratio_; |
| 2113 double promotion_rate_; | 2114 double promotion_rate_; |
| 2114 intptr_t semi_space_copied_object_size_; | 2115 intptr_t semi_space_copied_object_size_; |
| 2115 intptr_t previous_semi_space_copied_object_size_; | 2116 intptr_t previous_semi_space_copied_object_size_; |
| 2116 double semi_space_copied_rate_; | 2117 double semi_space_copied_rate_; |
| 2117 int nodes_died_in_new_space_; | 2118 int nodes_died_in_new_space_; |
| 2118 int nodes_copied_in_new_space_; | 2119 int nodes_copied_in_new_space_; |
| (...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2661 friend class LargeObjectSpace; | 2662 friend class LargeObjectSpace; |
| 2662 friend class NewSpace; | 2663 friend class NewSpace; |
| 2663 friend class PagedSpace; | 2664 friend class PagedSpace; |
| 2664 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); | 2665 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); |
| 2665 }; | 2666 }; |
| 2666 | 2667 |
| 2667 } // namespace internal | 2668 } // namespace internal |
| 2668 } // namespace v8 | 2669 } // namespace v8 |
| 2669 | 2670 |
| 2670 #endif // V8_HEAP_HEAP_H_ | 2671 #endif // V8_HEAP_HEAP_H_ |
| OLD | NEW |