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 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 V(NameDictionary, public_symbol_table, PublicSymbolTable) \ | 185 V(NameDictionary, public_symbol_table, PublicSymbolTable) \ |
186 V(NameDictionary, api_symbol_table, ApiSymbolTable) \ | 186 V(NameDictionary, api_symbol_table, ApiSymbolTable) \ |
187 V(NameDictionary, api_private_symbol_table, ApiPrivateSymbolTable) \ | 187 V(NameDictionary, api_private_symbol_table, ApiPrivateSymbolTable) \ |
188 V(Object, script_list, ScriptList) \ | 188 V(Object, script_list, ScriptList) \ |
189 V(UnseededNumberDictionary, code_stubs, CodeStubs) \ | 189 V(UnseededNumberDictionary, code_stubs, CodeStubs) \ |
190 V(FixedArray, materialized_objects, MaterializedObjects) \ | 190 V(FixedArray, materialized_objects, MaterializedObjects) \ |
191 V(FixedArray, microtask_queue, MicrotaskQueue) \ | 191 V(FixedArray, microtask_queue, MicrotaskQueue) \ |
192 V(FixedArray, detached_contexts, DetachedContexts) \ | 192 V(FixedArray, detached_contexts, DetachedContexts) \ |
193 V(ArrayList, retained_maps, RetainedMaps) \ | 193 V(ArrayList, retained_maps, RetainedMaps) \ |
194 V(WeakHashTable, weak_object_to_code_table, WeakObjectToCodeTable) \ | 194 V(WeakHashTable, weak_object_to_code_table, WeakObjectToCodeTable) \ |
| 195 V(WeakHashTable, stack_frame_cache, StackFrameCache) \ |
195 /* weak_new_space_object_to_code_list is an array of weak cells, where */ \ | 196 /* weak_new_space_object_to_code_list is an array of weak cells, where */ \ |
196 /* slots with even indices refer to the weak object, and the subsequent */ \ | 197 /* slots with even indices refer to the weak object, and the subsequent */ \ |
197 /* slots refer to the code with the reference to the weak object. */ \ | 198 /* slots refer to the code with the reference to the weak object. */ \ |
198 V(ArrayList, weak_new_space_object_to_code_list, \ | 199 V(ArrayList, weak_new_space_object_to_code_list, \ |
199 WeakNewSpaceObjectToCodeList) \ | 200 WeakNewSpaceObjectToCodeList) \ |
200 /* List to hold onto feedback vectors that we need for code coverage */ \ | 201 /* List to hold onto feedback vectors that we need for code coverage */ \ |
201 V(Object, code_coverage_list, CodeCoverageList) \ | 202 V(Object, code_coverage_list, CodeCoverageList) \ |
202 V(Object, weak_stack_trace_list, WeakStackTraceList) \ | 203 V(Object, weak_stack_trace_list, WeakStackTraceList) \ |
203 V(Object, noscript_shared_function_infos, NoScriptSharedFunctionInfos) \ | 204 V(Object, noscript_shared_function_infos, NoScriptSharedFunctionInfos) \ |
204 V(FixedArray, serialized_templates, SerializedTemplates) \ | 205 V(FixedArray, serialized_templates, SerializedTemplates) \ |
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
915 inline bool DeoptMaybeTenuredAllocationSites(); | 916 inline bool DeoptMaybeTenuredAllocationSites(); |
916 | 917 |
917 void AddWeakNewSpaceObjectToCodeDependency(Handle<HeapObject> obj, | 918 void AddWeakNewSpaceObjectToCodeDependency(Handle<HeapObject> obj, |
918 Handle<WeakCell> code); | 919 Handle<WeakCell> code); |
919 | 920 |
920 void AddWeakObjectToCodeDependency(Handle<HeapObject> obj, | 921 void AddWeakObjectToCodeDependency(Handle<HeapObject> obj, |
921 Handle<DependentCode> dep); | 922 Handle<DependentCode> dep); |
922 | 923 |
923 DependentCode* LookupWeakObjectToCodeDependency(Handle<HeapObject> obj); | 924 DependentCode* LookupWeakObjectToCodeDependency(Handle<HeapObject> obj); |
924 | 925 |
| 926 void SetStackFrameCache(WeakHashTable* table); |
| 927 |
925 void CompactWeakFixedArrays(); | 928 void CompactWeakFixedArrays(); |
926 | 929 |
927 void AddRetainedMap(Handle<Map> map); | 930 void AddRetainedMap(Handle<Map> map); |
928 | 931 |
929 // This event is triggered after successful allocation of a new object made | 932 // This event is triggered after successful allocation of a new object made |
930 // by runtime. Allocations of target space for object evacuation do not | 933 // by runtime. Allocations of target space for object evacuation do not |
931 // trigger the event. In order to track ALL allocations one must turn off | 934 // trigger the event. In order to track ALL allocations one must turn off |
932 // FLAG_inline_new and FLAG_use_allocation_folding. | 935 // FLAG_inline_new and FLAG_use_allocation_folding. |
933 inline void OnAllocationEvent(HeapObject* object, int size_in_bytes); | 936 inline void OnAllocationEvent(HeapObject* object, int size_in_bytes); |
934 | 937 |
(...skipping 1684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2619 friend class LargeObjectSpace; | 2622 friend class LargeObjectSpace; |
2620 friend class NewSpace; | 2623 friend class NewSpace; |
2621 friend class PagedSpace; | 2624 friend class PagedSpace; |
2622 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); | 2625 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); |
2623 }; | 2626 }; |
2624 | 2627 |
2625 } // namespace internal | 2628 } // namespace internal |
2626 } // namespace v8 | 2629 } // namespace v8 |
2627 | 2630 |
2628 #endif // V8_HEAP_HEAP_H_ | 2631 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |