| 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_H_ | 5 #ifndef V8_HEAP_H_ |
| 6 #define V8_HEAP_H_ | 6 #define V8_HEAP_H_ |
| 7 | 7 |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 | 9 |
| 10 #include "allocation.h" | 10 #include "allocation.h" |
| (...skipping 831 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 842 void set_allocation_sites_list(Object* object) { | 842 void set_allocation_sites_list(Object* object) { |
| 843 allocation_sites_list_ = object; | 843 allocation_sites_list_ = object; |
| 844 } | 844 } |
| 845 Object* allocation_sites_list() { return allocation_sites_list_; } | 845 Object* allocation_sites_list() { return allocation_sites_list_; } |
| 846 | 846 |
| 847 // Used in CreateAllocationSiteStub and the (de)serializer. | 847 // Used in CreateAllocationSiteStub and the (de)serializer. |
| 848 Object** allocation_sites_list_address() { return &allocation_sites_list_; } | 848 Object** allocation_sites_list_address() { return &allocation_sites_list_; } |
| 849 | 849 |
| 850 Object* weak_object_to_code_table() { return weak_object_to_code_table_; } | 850 Object* weak_object_to_code_table() { return weak_object_to_code_table_; } |
| 851 | 851 |
| 852 void set_encountered_weak_collections(Object* weak_collection) { |
| 853 encountered_weak_collections_ = weak_collection; |
| 854 } |
| 855 Object* encountered_weak_collections() const { |
| 856 return encountered_weak_collections_; |
| 857 } |
| 858 |
| 852 // Number of mark-sweeps. | 859 // Number of mark-sweeps. |
| 853 unsigned int ms_count() { return ms_count_; } | 860 unsigned int ms_count() { return ms_count_; } |
| 854 | 861 |
| 855 // Iterates over all roots in the heap. | 862 // Iterates over all roots in the heap. |
| 856 void IterateRoots(ObjectVisitor* v, VisitMode mode); | 863 void IterateRoots(ObjectVisitor* v, VisitMode mode); |
| 857 // Iterates over all strong roots in the heap. | 864 // Iterates over all strong roots in the heap. |
| 858 void IterateStrongRoots(ObjectVisitor* v, VisitMode mode); | 865 void IterateStrongRoots(ObjectVisitor* v, VisitMode mode); |
| 859 // Iterates over entries in the smi roots list. Only interesting to the | 866 // Iterates over entries in the smi roots list. Only interesting to the |
| 860 // serializer/deserializer, since GC does not care about smis. | 867 // serializer/deserializer, since GC does not care about smis. |
| 861 void IterateSmiRoots(ObjectVisitor* v); | 868 void IterateSmiRoots(ObjectVisitor* v); |
| (...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1598 // List heads are initilized lazily and contain the undefined_value at start. | 1605 // List heads are initilized lazily and contain the undefined_value at start. |
| 1599 Object* native_contexts_list_; | 1606 Object* native_contexts_list_; |
| 1600 Object* array_buffers_list_; | 1607 Object* array_buffers_list_; |
| 1601 Object* allocation_sites_list_; | 1608 Object* allocation_sites_list_; |
| 1602 | 1609 |
| 1603 // WeakHashTable that maps objects embedded in optimized code to dependent | 1610 // WeakHashTable that maps objects embedded in optimized code to dependent |
| 1604 // code list. It is initilized lazily and contains the undefined_value at | 1611 // code list. It is initilized lazily and contains the undefined_value at |
| 1605 // start. | 1612 // start. |
| 1606 Object* weak_object_to_code_table_; | 1613 Object* weak_object_to_code_table_; |
| 1607 | 1614 |
| 1615 // List of encountered weak collections (JSWeakMap and JSWeakSet) during |
| 1616 // marking. It is initialized during marking, destroyed after marking and |
| 1617 // contains Smi(0) while marking is not active. |
| 1618 Object* encountered_weak_collections_; |
| 1619 |
| 1608 StoreBufferRebuilder store_buffer_rebuilder_; | 1620 StoreBufferRebuilder store_buffer_rebuilder_; |
| 1609 | 1621 |
| 1610 struct StringTypeTable { | 1622 struct StringTypeTable { |
| 1611 InstanceType type; | 1623 InstanceType type; |
| 1612 int size; | 1624 int size; |
| 1613 RootListIndex index; | 1625 RootListIndex index; |
| 1614 }; | 1626 }; |
| 1615 | 1627 |
| 1616 struct ConstantStringTable { | 1628 struct ConstantStringTable { |
| 1617 const char* contents; | 1629 const char* contents; |
| (...skipping 1143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2761 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2773 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
| 2762 | 2774 |
| 2763 private: | 2775 private: |
| 2764 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2776 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
| 2765 }; | 2777 }; |
| 2766 #endif // DEBUG | 2778 #endif // DEBUG |
| 2767 | 2779 |
| 2768 } } // namespace v8::internal | 2780 } } // namespace v8::internal |
| 2769 | 2781 |
| 2770 #endif // V8_HEAP_H_ | 2782 #endif // V8_HEAP_H_ |
| OLD | NEW |