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 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 V(ArrayList, retained_maps, RetainedMaps) \ | 203 V(ArrayList, retained_maps, RetainedMaps) \ |
204 V(WeakHashTable, weak_object_to_code_table, WeakObjectToCodeTable) \ | 204 V(WeakHashTable, weak_object_to_code_table, WeakObjectToCodeTable) \ |
205 /* weak_new_space_object_to_code_list is an array of weak cells, where */ \ | 205 /* weak_new_space_object_to_code_list is an array of weak cells, where */ \ |
206 /* slots with even indices refer to the weak object, and the subsequent */ \ | 206 /* slots with even indices refer to the weak object, and the subsequent */ \ |
207 /* slots refer to the code with the reference to the weak object. */ \ | 207 /* slots refer to the code with the reference to the weak object. */ \ |
208 V(ArrayList, weak_new_space_object_to_code_list, \ | 208 V(ArrayList, weak_new_space_object_to_code_list, \ |
209 WeakNewSpaceObjectToCodeList) \ | 209 WeakNewSpaceObjectToCodeList) \ |
210 V(Object, weak_stack_trace_list, WeakStackTraceList) \ | 210 V(Object, weak_stack_trace_list, WeakStackTraceList) \ |
211 V(Object, noscript_shared_function_infos, NoScriptSharedFunctionInfos) \ | 211 V(Object, noscript_shared_function_infos, NoScriptSharedFunctionInfos) \ |
212 V(FixedArray, serialized_templates, SerializedTemplates) \ | 212 V(FixedArray, serialized_templates, SerializedTemplates) \ |
| 213 V(FixedArray, serialized_global_proxy_sizes, SerializedGlobalProxySizes) \ |
213 /* Configured values */ \ | 214 /* Configured values */ \ |
214 V(TemplateList, message_listeners, MessageListeners) \ | 215 V(TemplateList, message_listeners, MessageListeners) \ |
215 V(Code, js_entry_code, JsEntryCode) \ | 216 V(Code, js_entry_code, JsEntryCode) \ |
216 V(Code, js_construct_entry_code, JsConstructEntryCode) \ | 217 V(Code, js_construct_entry_code, JsConstructEntryCode) \ |
217 /* Oddball maps */ \ | 218 /* Oddball maps */ \ |
218 V(Map, undefined_map, UndefinedMap) \ | 219 V(Map, undefined_map, UndefinedMap) \ |
219 V(Map, the_hole_map, TheHoleMap) \ | 220 V(Map, the_hole_map, TheHoleMap) \ |
220 V(Map, null_map, NullMap) \ | 221 V(Map, null_map, NullMap) \ |
221 V(Map, boolean_map, BooleanMap) \ | 222 V(Map, boolean_map, BooleanMap) \ |
222 V(Map, uninitialized_map, UninitializedMap) \ | 223 V(Map, uninitialized_map, UninitializedMap) \ |
(...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
870 inline int NextScriptId(); | 871 inline int NextScriptId(); |
871 | 872 |
872 inline void SetArgumentsAdaptorDeoptPCOffset(int pc_offset); | 873 inline void SetArgumentsAdaptorDeoptPCOffset(int pc_offset); |
873 inline void SetConstructStubDeoptPCOffset(int pc_offset); | 874 inline void SetConstructStubDeoptPCOffset(int pc_offset); |
874 inline void SetGetterStubDeoptPCOffset(int pc_offset); | 875 inline void SetGetterStubDeoptPCOffset(int pc_offset); |
875 inline void SetSetterStubDeoptPCOffset(int pc_offset); | 876 inline void SetSetterStubDeoptPCOffset(int pc_offset); |
876 inline void SetInterpreterEntryReturnPCOffset(int pc_offset); | 877 inline void SetInterpreterEntryReturnPCOffset(int pc_offset); |
877 inline int GetNextTemplateSerialNumber(); | 878 inline int GetNextTemplateSerialNumber(); |
878 | 879 |
879 inline void SetSerializedTemplates(FixedArray* templates); | 880 inline void SetSerializedTemplates(FixedArray* templates); |
| 881 inline void SetSerializedGlobalProxySizes(FixedArray* sizes); |
880 | 882 |
881 // For post mortem debugging. | 883 // For post mortem debugging. |
882 void RememberUnmappedPage(Address page, bool compacted); | 884 void RememberUnmappedPage(Address page, bool compacted); |
883 | 885 |
884 // Global inline caching age: it is incremented on some GCs after context | 886 // Global inline caching age: it is incremented on some GCs after context |
885 // disposal. We use it to flush inline caches. | 887 // disposal. We use it to flush inline caches. |
886 int global_ic_age() { return global_ic_age_; } | 888 int global_ic_age() { return global_ic_age_; } |
887 | 889 |
888 void AgeInlineCaches() { | 890 void AgeInlineCaches() { |
889 global_ic_age_ = (global_ic_age_ + 1) & SharedFunctionInfo::ICAgeBits::kMax; | 891 global_ic_age_ = (global_ic_age_ + 1) & SharedFunctionInfo::ICAgeBits::kMax; |
(...skipping 1776 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2666 friend class LargeObjectSpace; | 2668 friend class LargeObjectSpace; |
2667 friend class NewSpace; | 2669 friend class NewSpace; |
2668 friend class PagedSpace; | 2670 friend class PagedSpace; |
2669 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); | 2671 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); |
2670 }; | 2672 }; |
2671 | 2673 |
2672 } // namespace internal | 2674 } // namespace internal |
2673 } // namespace v8 | 2675 } // namespace v8 |
2674 | 2676 |
2675 #endif // V8_HEAP_HEAP_H_ | 2677 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |