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 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
180 V(FixedArray, microtask_queue, MicrotaskQueue) \ | 180 V(FixedArray, microtask_queue, MicrotaskQueue) \ |
181 V(TypeFeedbackVector, dummy_vector, DummyVector) \ | 181 V(TypeFeedbackVector, dummy_vector, DummyVector) \ |
182 V(FixedArray, detached_contexts, DetachedContexts) \ | 182 V(FixedArray, detached_contexts, DetachedContexts) \ |
183 V(ArrayList, retained_maps, RetainedMaps) \ | 183 V(ArrayList, retained_maps, RetainedMaps) \ |
184 V(WeakHashTable, weak_object_to_code_table, WeakObjectToCodeTable) \ | 184 V(WeakHashTable, weak_object_to_code_table, WeakObjectToCodeTable) \ |
185 V(PropertyCell, array_protector, ArrayProtector) \ | 185 V(PropertyCell, array_protector, ArrayProtector) \ |
186 V(PropertyCell, empty_property_cell, EmptyPropertyCell) \ | 186 V(PropertyCell, empty_property_cell, EmptyPropertyCell) \ |
187 V(Object, weak_stack_trace_list, WeakStackTraceList) \ | 187 V(Object, weak_stack_trace_list, WeakStackTraceList) \ |
188 V(Object, code_stub_context, CodeStubContext) \ | 188 V(Object, code_stub_context, CodeStubContext) \ |
189 V(JSObject, code_stub_exports_object, CodeStubExportsObject) \ | 189 V(JSObject, code_stub_exports_object, CodeStubExportsObject) \ |
190 V(Object, noscript_shared_function_infos, NoScriptSharedFunctionInfos) \ | |
190 V(FixedArray, interpreter_table, InterpreterTable) \ | 191 V(FixedArray, interpreter_table, InterpreterTable) \ |
191 V(Map, bytecode_array_map, BytecodeArrayMap) \ | 192 V(Map, bytecode_array_map, BytecodeArrayMap) \ |
192 V(BytecodeArray, empty_bytecode_array, EmptyBytecodeArray) | 193 V(BytecodeArray, empty_bytecode_array, EmptyBytecodeArray) |
193 | 194 |
194 | 195 |
195 // Entries in this list are limited to Smis and are not visited during GC. | 196 // Entries in this list are limited to Smis and are not visited during GC. |
196 #define SMI_ROOT_LIST(V) \ | 197 #define SMI_ROOT_LIST(V) \ |
197 V(Smi, stack_limit, StackLimit) \ | 198 V(Smi, stack_limit, StackLimit) \ |
198 V(Smi, real_stack_limit, RealStackLimit) \ | 199 V(Smi, real_stack_limit, RealStackLimit) \ |
199 V(Smi, last_script_id, LastScriptId) \ | 200 V(Smi, last_script_id, LastScriptId) \ |
(...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
813 bool CanExpandOldGeneration(int size) { | 814 bool CanExpandOldGeneration(int size) { |
814 return (CommittedOldGenerationMemory() + size) < MaxOldGenerationSize(); | 815 return (CommittedOldGenerationMemory() + size) < MaxOldGenerationSize(); |
815 } | 816 } |
816 | 817 |
817 // Clear the Instanceof cache (used when a prototype changes). | 818 // Clear the Instanceof cache (used when a prototype changes). |
818 inline void ClearInstanceofCache(); | 819 inline void ClearInstanceofCache(); |
819 | 820 |
820 // Iterates the whole code space to clear all keyed store ICs. | 821 // Iterates the whole code space to clear all keyed store ICs. |
821 void ClearAllKeyedStoreICs(); | 822 void ClearAllKeyedStoreICs(); |
822 | 823 |
824 inline void UpdateNoScriptSharedFunctionInfos(Object* object); | |
Michael Starzinger
2015/10/27 09:45:51
This is a root-set setter, please move it into "Ro
mvstanton
2015/10/27 10:58:24
Done.
| |
825 | |
823 // FreeSpace objects have a null map after deserialization. Update the map. | 826 // FreeSpace objects have a null map after deserialization. Update the map. |
824 void RepairFreeListsAfterDeserialization(); | 827 void RepairFreeListsAfterDeserialization(); |
825 | 828 |
826 // Move len elements within a given array from src_index index to dst_index | 829 // Move len elements within a given array from src_index index to dst_index |
827 // index. | 830 // index. |
828 void MoveElements(FixedArray* array, int dst_index, int src_index, int len); | 831 void MoveElements(FixedArray* array, int dst_index, int src_index, int len); |
829 | 832 |
830 // Initialize a filler object to keep the ability to iterate over the heap | 833 // Initialize a filler object to keep the ability to iterate over the heap |
831 // when introducing gaps within pages. | 834 // when introducing gaps within pages. |
832 void CreateFillerObjectAt(Address addr, int size); | 835 void CreateFillerObjectAt(Address addr, int size); |
(...skipping 1902 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2735 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2738 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2736 | 2739 |
2737 private: | 2740 private: |
2738 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2741 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2739 }; | 2742 }; |
2740 #endif // DEBUG | 2743 #endif // DEBUG |
2741 } // namespace internal | 2744 } // namespace internal |
2742 } // namespace v8 | 2745 } // namespace v8 |
2743 | 2746 |
2744 #endif // V8_HEAP_HEAP_H_ | 2747 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |