OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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_SPACES_H_ | 5 #ifndef V8_HEAP_SPACES_H_ |
6 #define V8_HEAP_SPACES_H_ | 6 #define V8_HEAP_SPACES_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <memory> | 9 #include <memory> |
10 #include <unordered_set> | 10 #include <unordered_set> |
(...skipping 1896 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1907 | 1907 |
1908 // Returns true if the space has been successfully set up and not | 1908 // Returns true if the space has been successfully set up and not |
1909 // subsequently torn down. | 1909 // subsequently torn down. |
1910 bool HasBeenSetUp(); | 1910 bool HasBeenSetUp(); |
1911 | 1911 |
1912 // Checks whether an object/address is in this space. | 1912 // Checks whether an object/address is in this space. |
1913 inline bool Contains(Address a); | 1913 inline bool Contains(Address a); |
1914 inline bool Contains(Object* o); | 1914 inline bool Contains(Object* o); |
1915 bool ContainsSlow(Address addr); | 1915 bool ContainsSlow(Address addr); |
1916 | 1916 |
1917 // Given an address occupied by a live object, return that object if it is | |
1918 // in this space, or a Smi if it is not. The implementation iterates over | |
1919 // objects in the page containing the address, the cost is linear in the | |
1920 // number of objects in the page. It may be slow. | |
1921 Object* FindObject(Address addr); | |
1922 | |
1923 // During boot the free_space_map is created, and afterwards we may need | 1917 // During boot the free_space_map is created, and afterwards we may need |
1924 // to write it into the free list nodes that were already created. | 1918 // to write it into the free list nodes that were already created. |
1925 void RepairFreeListsAfterDeserialization(); | 1919 void RepairFreeListsAfterDeserialization(); |
1926 | 1920 |
1927 // Prepares for a mark-compact GC. | 1921 // Prepares for a mark-compact GC. |
1928 void PrepareForMarkCompact(); | 1922 void PrepareForMarkCompact(); |
1929 | 1923 |
1930 // Current capacity without growing (Size() + Available()). | 1924 // Current capacity without growing (Size() + Available()). |
1931 size_t Capacity() { return accounting_stats_.Capacity(); } | 1925 size_t Capacity() { return accounting_stats_.Capacity(); } |
1932 | 1926 |
(...skipping 983 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2916 PageIterator old_iterator_; | 2910 PageIterator old_iterator_; |
2917 PageIterator code_iterator_; | 2911 PageIterator code_iterator_; |
2918 PageIterator map_iterator_; | 2912 PageIterator map_iterator_; |
2919 LargePageIterator lo_iterator_; | 2913 LargePageIterator lo_iterator_; |
2920 }; | 2914 }; |
2921 | 2915 |
2922 } // namespace internal | 2916 } // namespace internal |
2923 } // namespace v8 | 2917 } // namespace v8 |
2924 | 2918 |
2925 #endif // V8_HEAP_SPACES_H_ | 2919 #endif // V8_HEAP_SPACES_H_ |
OLD | NEW |