OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
659 static void IterateRoots(ObjectVisitor* v); | 659 static void IterateRoots(ObjectVisitor* v); |
660 // Iterates over all strong roots in the heap. | 660 // Iterates over all strong roots in the heap. |
661 static void IterateStrongRoots(ObjectVisitor* v); | 661 static void IterateStrongRoots(ObjectVisitor* v); |
662 | 662 |
663 // Iterates remembered set of an old space. | 663 // Iterates remembered set of an old space. |
664 static void IterateRSet(PagedSpace* space, ObjectSlotCallback callback); | 664 static void IterateRSet(PagedSpace* space, ObjectSlotCallback callback); |
665 | 665 |
666 // Iterates a range of remembered set addresses starting with rset_start | 666 // Iterates a range of remembered set addresses starting with rset_start |
667 // corresponding to the range of allocated pointers | 667 // corresponding to the range of allocated pointers |
668 // [object_start, object_end). | 668 // [object_start, object_end). |
669 static void IterateRSetRange(Address object_start, | 669 // Returns the number of bits that were set. |
670 Address object_end, | 670 static int IterateRSetRange(Address object_start, |
671 Address rset_start, | 671 Address object_end, |
672 ObjectSlotCallback copy_object_func); | 672 Address rset_start, |
| 673 ObjectSlotCallback copy_object_func); |
673 | 674 |
674 // Returns whether the object resides in new space. | 675 // Returns whether the object resides in new space. |
675 static inline bool InNewSpace(Object* object); | 676 static inline bool InNewSpace(Object* object); |
676 static inline bool InFromSpace(Object* object); | 677 static inline bool InFromSpace(Object* object); |
677 static inline bool InToSpace(Object* object); | 678 static inline bool InToSpace(Object* object); |
678 | 679 |
679 // Checks whether an address/object in the heap (including auxiliary | 680 // Checks whether an address/object in the heap (including auxiliary |
680 // area and unused area). | 681 // area and unused area). |
681 static bool Contains(Address addr); | 682 static bool Contains(Address addr); |
682 static bool Contains(HeapObject* value); | 683 static bool Contains(HeapObject* value); |
(...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1306 int marked_count_; | 1307 int marked_count_; |
1307 | 1308 |
1308 // The count from the end of the previous full GC. Will be zero if there | 1309 // The count from the end of the previous full GC. Will be zero if there |
1309 // was no previous full GC. | 1310 // was no previous full GC. |
1310 int previous_marked_count_; | 1311 int previous_marked_count_; |
1311 }; | 1312 }; |
1312 | 1313 |
1313 } } // namespace v8::internal | 1314 } } // namespace v8::internal |
1314 | 1315 |
1315 #endif // V8_HEAP_H_ | 1316 #endif // V8_HEAP_H_ |
OLD | NEW |