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 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 891 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
902 // Iterates over all strong roots in the heap. | 902 // Iterates over all strong roots in the heap. |
903 void IterateStrongRoots(ObjectVisitor* v, VisitMode mode); | 903 void IterateStrongRoots(ObjectVisitor* v, VisitMode mode); |
904 // Iterates over entries in the smi roots list. Only interesting to the | 904 // Iterates over entries in the smi roots list. Only interesting to the |
905 // serializer/deserializer, since GC does not care about smis. | 905 // serializer/deserializer, since GC does not care about smis. |
906 void IterateSmiRoots(ObjectVisitor* v); | 906 void IterateSmiRoots(ObjectVisitor* v); |
907 // Iterates over all the other roots in the heap. | 907 // Iterates over all the other roots in the heap. |
908 void IterateWeakRoots(ObjectVisitor* v, VisitMode mode); | 908 void IterateWeakRoots(ObjectVisitor* v, VisitMode mode); |
909 | 909 |
910 // Iterate pointers to from semispace of new space found in memory interval | 910 // Iterate pointers to from semispace of new space found in memory interval |
911 // from start to end. | 911 // from start to end. |
912 void IterateAndMarkPointersToFromSpace(Address start, Address end, | 912 void IterateAndMarkPointersToFromSpace(bool record_slots, Address start, |
| 913 Address end, |
913 ObjectSlotCallback callback); | 914 ObjectSlotCallback callback); |
914 | 915 |
915 // Returns whether the object resides in new space. | 916 // Returns whether the object resides in new space. |
916 inline bool InNewSpace(Object* object); | 917 inline bool InNewSpace(Object* object); |
917 inline bool InNewSpace(Address address); | 918 inline bool InNewSpace(Address address); |
918 inline bool InNewSpacePage(Address address); | 919 inline bool InNewSpacePage(Address address); |
919 inline bool InFromSpace(Object* object); | 920 inline bool InFromSpace(Object* object); |
920 inline bool InToSpace(Object* object); | 921 inline bool InToSpace(Object* object); |
921 | 922 |
922 // Returns whether the object resides in old pointer space. | 923 // Returns whether the object resides in old pointer space. |
(...skipping 1703 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2626 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2627 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2627 | 2628 |
2628 private: | 2629 private: |
2629 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2630 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2630 }; | 2631 }; |
2631 #endif // DEBUG | 2632 #endif // DEBUG |
2632 } | 2633 } |
2633 } // namespace v8::internal | 2634 } // namespace v8::internal |
2634 | 2635 |
2635 #endif // V8_HEAP_HEAP_H_ | 2636 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |