Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index 027dcf79554a9dafe8bcf3af7d659d6048899644..8fb0c4f8c8788dcf969b5efc753cfbda94f1577c 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -303,10 +303,9 @@ class Scavenger; |
class ScavengeJob; |
class WeakObjectRetainer; |
-enum PromotionMode { FORCE_PROMOTION, DEFAULT_PROMOTION }; |
+enum PromotionMode { PROMOTE_MARKED, DEFAULT_PROMOTION }; |
-typedef void (*ObjectSlotCallback)(HeapObject** from, HeapObject* to, |
- PromotionMode mode); |
+typedef void (*ObjectSlotCallback)(HeapObject** from, HeapObject* to); |
// A queue of objects promoted during scavenge. Each object is accompanied |
// by it's size to avoid dereferencing a map pointer for scanning. |
@@ -779,6 +778,7 @@ class Heap { |
// An object should be promoted if the object has survived a |
// scavenge operation. |
+ template <PromotionMode promotion_mode> |
inline bool ShouldBePromoted(Address old_address, int object_size); |
void ClearNormalizedMapCaches(); |
@@ -1698,6 +1698,10 @@ class Heap { |
// Performs a minor collection in new generation. |
void Scavenge(); |
+ template <PromotionMode promotion_mode> |
+ void Scavenge(); |
+ |
+ template <PromotionMode promotion_mode> |
Address DoScavenge(ObjectVisitor* scavenge_visitor, Address new_space_front); |
void UpdateNewSpaceReferencesInExternalStringTable( |