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 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 EmptySlowElementDictionary) \ | 159 EmptySlowElementDictionary) \ |
160 V(TypeFeedbackVector, dummy_vector, DummyVector) \ | 160 V(TypeFeedbackVector, dummy_vector, DummyVector) \ |
161 V(PropertyCell, empty_property_cell, EmptyPropertyCell) \ | 161 V(PropertyCell, empty_property_cell, EmptyPropertyCell) \ |
162 V(WeakCell, empty_weak_cell, EmptyWeakCell) \ | 162 V(WeakCell, empty_weak_cell, EmptyWeakCell) \ |
163 /* Protectors */ \ | 163 /* Protectors */ \ |
164 V(PropertyCell, array_protector, ArrayProtector) \ | 164 V(PropertyCell, array_protector, ArrayProtector) \ |
165 V(Cell, is_concat_spreadable_protector, IsConcatSpreadableProtector) \ | 165 V(Cell, is_concat_spreadable_protector, IsConcatSpreadableProtector) \ |
166 V(PropertyCell, has_instance_protector, HasInstanceProtector) \ | 166 V(PropertyCell, has_instance_protector, HasInstanceProtector) \ |
167 V(Cell, species_protector, SpeciesProtector) \ | 167 V(Cell, species_protector, SpeciesProtector) \ |
168 V(PropertyCell, string_length_protector, StringLengthProtector) \ | 168 V(PropertyCell, string_length_protector, StringLengthProtector) \ |
| 169 V(Cell, array_iterator_protector, ArrayIteratorProtector) \ |
169 /* Special numbers */ \ | 170 /* Special numbers */ \ |
170 V(HeapNumber, nan_value, NanValue) \ | 171 V(HeapNumber, nan_value, NanValue) \ |
171 V(HeapNumber, hole_nan_value, HoleNanValue) \ | 172 V(HeapNumber, hole_nan_value, HoleNanValue) \ |
172 V(HeapNumber, infinity_value, InfinityValue) \ | 173 V(HeapNumber, infinity_value, InfinityValue) \ |
173 V(HeapNumber, minus_zero_value, MinusZeroValue) \ | 174 V(HeapNumber, minus_zero_value, MinusZeroValue) \ |
174 V(HeapNumber, minus_infinity_value, MinusInfinityValue) \ | 175 V(HeapNumber, minus_infinity_value, MinusInfinityValue) \ |
175 /* Caches */ \ | 176 /* Caches */ \ |
176 V(FixedArray, number_string_cache, NumberStringCache) \ | 177 V(FixedArray, number_string_cache, NumberStringCache) \ |
177 V(FixedArray, single_character_string_cache, SingleCharacterStringCache) \ | 178 V(FixedArray, single_character_string_cache, SingleCharacterStringCache) \ |
178 V(FixedArray, string_split_cache, StringSplitCache) \ | 179 V(FixedArray, string_split_cache, StringSplitCache) \ |
(...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
744 bool IsHeapIterable(); | 745 bool IsHeapIterable(); |
745 | 746 |
746 // Notify the heap that a context has been disposed. | 747 // Notify the heap that a context has been disposed. |
747 int NotifyContextDisposed(bool dependant_context); | 748 int NotifyContextDisposed(bool dependant_context); |
748 | 749 |
749 void set_native_contexts_list(Object* object) { | 750 void set_native_contexts_list(Object* object) { |
750 native_contexts_list_ = object; | 751 native_contexts_list_ = object; |
751 } | 752 } |
752 Object* native_contexts_list() const { return native_contexts_list_; } | 753 Object* native_contexts_list() const { return native_contexts_list_; } |
753 | 754 |
| 755 // Used by CodeStubAssembler::IsInAnyContext() |
| 756 Object** native_contexts_list_address() { return &native_contexts_list_; } |
| 757 |
754 void set_allocation_sites_list(Object* object) { | 758 void set_allocation_sites_list(Object* object) { |
755 allocation_sites_list_ = object; | 759 allocation_sites_list_ = object; |
756 } | 760 } |
757 Object* allocation_sites_list() { return allocation_sites_list_; } | 761 Object* allocation_sites_list() { return allocation_sites_list_; } |
758 | 762 |
759 // Used in CreateAllocationSiteStub and the (de)serializer. | 763 // Used in CreateAllocationSiteStub and the (de)serializer. |
760 Object** allocation_sites_list_address() { return &allocation_sites_list_; } | 764 Object** allocation_sites_list_address() { return &allocation_sites_list_; } |
761 | 765 |
762 void set_encountered_weak_collections(Object* weak_collection) { | 766 void set_encountered_weak_collections(Object* weak_collection) { |
763 encountered_weak_collections_ = weak_collection; | 767 encountered_weak_collections_ = weak_collection; |
(...skipping 1861 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2625 friend class LargeObjectSpace; | 2629 friend class LargeObjectSpace; |
2626 friend class NewSpace; | 2630 friend class NewSpace; |
2627 friend class PagedSpace; | 2631 friend class PagedSpace; |
2628 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); | 2632 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); |
2629 }; | 2633 }; |
2630 | 2634 |
2631 } // namespace internal | 2635 } // namespace internal |
2632 } // namespace v8 | 2636 } // namespace v8 |
2633 | 2637 |
2634 #endif // V8_HEAP_HEAP_H_ | 2638 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |