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 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 V(Map, message_object_map, JSMessageObjectMap) \ | 155 V(Map, message_object_map, JSMessageObjectMap) \ |
156 V(Map, foreign_map, ForeignMap) \ | 156 V(Map, foreign_map, ForeignMap) \ |
157 V(Map, neander_map, NeanderMap) \ | 157 V(Map, neander_map, NeanderMap) \ |
158 V(Map, external_map, ExternalMap) \ | 158 V(Map, external_map, ExternalMap) \ |
159 V(HeapNumber, nan_value, NanValue) \ | 159 V(HeapNumber, nan_value, NanValue) \ |
160 V(HeapNumber, infinity_value, InfinityValue) \ | 160 V(HeapNumber, infinity_value, InfinityValue) \ |
161 V(HeapNumber, minus_zero_value, MinusZeroValue) \ | 161 V(HeapNumber, minus_zero_value, MinusZeroValue) \ |
162 V(HeapNumber, minus_infinity_value, MinusInfinityValue) \ | 162 V(HeapNumber, minus_infinity_value, MinusInfinityValue) \ |
163 V(JSObject, message_listeners, MessageListeners) \ | 163 V(JSObject, message_listeners, MessageListeners) \ |
164 V(UnseededNumberDictionary, code_stubs, CodeStubs) \ | 164 V(UnseededNumberDictionary, code_stubs, CodeStubs) \ |
| 165 V(UnseededNumberDictionary, non_monomorphic_cache, NonMonomorphicCache) \ |
165 V(Code, js_entry_code, JsEntryCode) \ | 166 V(Code, js_entry_code, JsEntryCode) \ |
166 V(Code, js_construct_entry_code, JsConstructEntryCode) \ | 167 V(Code, js_construct_entry_code, JsConstructEntryCode) \ |
167 V(FixedArray, natives_source_cache, NativesSourceCache) \ | 168 V(FixedArray, natives_source_cache, NativesSourceCache) \ |
168 V(FixedArray, experimental_natives_source_cache, \ | 169 V(FixedArray, experimental_natives_source_cache, \ |
169 ExperimentalNativesSourceCache) \ | 170 ExperimentalNativesSourceCache) \ |
170 V(FixedArray, extra_natives_source_cache, ExtraNativesSourceCache) \ | 171 V(FixedArray, extra_natives_source_cache, ExtraNativesSourceCache) \ |
171 V(FixedArray, experimental_extra_natives_source_cache, \ | 172 V(FixedArray, experimental_extra_natives_source_cache, \ |
172 ExperimentalExtraNativesSourceCache) \ | 173 ExperimentalExtraNativesSourceCache) \ |
173 V(Script, empty_script, EmptyScript) \ | 174 V(Script, empty_script, EmptyScript) \ |
174 V(NameDictionary, intrinsic_function_names, IntrinsicFunctionNames) \ | 175 V(NameDictionary, intrinsic_function_names, IntrinsicFunctionNames) \ |
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
969 } | 970 } |
970 | 971 |
971 // Generated code can embed this address to get access to the roots. | 972 // Generated code can embed this address to get access to the roots. |
972 Object** roots_array_start() { return roots_; } | 973 Object** roots_array_start() { return roots_; } |
973 | 974 |
974 // Sets the stub_cache_ (only used when expanding the dictionary). | 975 // Sets the stub_cache_ (only used when expanding the dictionary). |
975 void SetRootCodeStubs(UnseededNumberDictionary* value) { | 976 void SetRootCodeStubs(UnseededNumberDictionary* value) { |
976 roots_[kCodeStubsRootIndex] = value; | 977 roots_[kCodeStubsRootIndex] = value; |
977 } | 978 } |
978 | 979 |
| 980 // Sets the non_monomorphic_cache_ (only used when expanding the dictionary). |
| 981 void SetRootNonMonomorphicCache(UnseededNumberDictionary* value) { |
| 982 roots_[kNonMonomorphicCacheRootIndex] = value; |
| 983 } |
| 984 |
979 void SetRootMaterializedObjects(FixedArray* objects) { | 985 void SetRootMaterializedObjects(FixedArray* objects) { |
980 roots_[kMaterializedObjectsRootIndex] = objects; | 986 roots_[kMaterializedObjectsRootIndex] = objects; |
981 } | 987 } |
982 | 988 |
983 void SetRootScriptList(Object* value) { | 989 void SetRootScriptList(Object* value) { |
984 roots_[kScriptListRootIndex] = value; | 990 roots_[kScriptListRootIndex] = value; |
985 } | 991 } |
986 | 992 |
987 void SetRootStringTable(StringTable* value) { | 993 void SetRootStringTable(StringTable* value) { |
988 roots_[kStringTableRootIndex] = value; | 994 roots_[kStringTableRootIndex] = value; |
(...skipping 1666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2655 friend class LargeObjectSpace; | 2661 friend class LargeObjectSpace; |
2656 friend class NewSpace; | 2662 friend class NewSpace; |
2657 friend class PagedSpace; | 2663 friend class PagedSpace; |
2658 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); | 2664 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); |
2659 }; | 2665 }; |
2660 | 2666 |
2661 } // namespace internal | 2667 } // namespace internal |
2662 } // namespace v8 | 2668 } // namespace v8 |
2663 | 2669 |
2664 #endif // V8_HEAP_HEAP_H_ | 2670 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |