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_MARK_COMPACT_H_ | 5 #ifndef V8_HEAP_MARK_COMPACT_H_ |
6 #define V8_HEAP_MARK_COMPACT_H_ | 6 #define V8_HEAP_MARK_COMPACT_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 | 9 |
10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
268 inline void AddCandidate(JSFunction* function); | 268 inline void AddCandidate(JSFunction* function); |
269 | 269 |
270 void EvictCandidate(SharedFunctionInfo* shared_info); | 270 void EvictCandidate(SharedFunctionInfo* shared_info); |
271 void EvictCandidate(JSFunction* function); | 271 void EvictCandidate(JSFunction* function); |
272 | 272 |
273 void ProcessCandidates() { | 273 void ProcessCandidates() { |
274 ProcessSharedFunctionInfoCandidates(); | 274 ProcessSharedFunctionInfoCandidates(); |
275 ProcessJSFunctionCandidates(); | 275 ProcessJSFunctionCandidates(); |
276 } | 276 } |
277 | 277 |
278 void IteratePointersToFromSpace(ObjectVisitor* v); | 278 inline void VisitListHeads(RootVisitor* v); |
| 279 |
| 280 template <typename StaticVisitor> |
| 281 inline void IteratePointersToFromSpace(); |
279 | 282 |
280 private: | 283 private: |
281 void ProcessJSFunctionCandidates(); | 284 void ProcessJSFunctionCandidates(); |
282 void ProcessSharedFunctionInfoCandidates(); | 285 void ProcessSharedFunctionInfoCandidates(); |
283 | 286 |
284 static inline JSFunction** GetNextCandidateSlot(JSFunction* candidate); | 287 static inline JSFunction** GetNextCandidateSlot(JSFunction* candidate); |
285 static inline JSFunction* GetNextCandidate(JSFunction* candidate); | 288 static inline JSFunction* GetNextCandidate(JSFunction* candidate); |
286 static inline void SetNextCandidate(JSFunction* candidate, | 289 static inline void SetNextCandidate(JSFunction* candidate, |
287 JSFunction* next_candidate); | 290 JSFunction* next_candidate); |
288 static inline void ClearNextCandidate(JSFunction* candidate, | 291 static inline void ClearNextCandidate(JSFunction* candidate, |
(...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
860 | 863 |
861 private: | 864 private: |
862 MarkCompactCollector* collector_; | 865 MarkCompactCollector* collector_; |
863 }; | 866 }; |
864 | 867 |
865 V8_EXPORT_PRIVATE const char* AllocationSpaceName(AllocationSpace space); | 868 V8_EXPORT_PRIVATE const char* AllocationSpaceName(AllocationSpace space); |
866 } // namespace internal | 869 } // namespace internal |
867 } // namespace v8 | 870 } // namespace v8 |
868 | 871 |
869 #endif // V8_HEAP_MARK_COMPACT_H_ | 872 #endif // V8_HEAP_MARK_COMPACT_H_ |
OLD | NEW |