| Index: src/heap/scavenger.h | 
| diff --git a/src/heap/scavenger.h b/src/heap/scavenger.h | 
| index 54fe6ffdf92f50b4a017bd4216b0005011b542a6..45652860f65d7be5eff048d4c346f0900d4542e4 100644 | 
| --- a/src/heap/scavenger.h | 
| +++ b/src/heap/scavenger.h | 
| @@ -12,7 +12,7 @@ namespace v8 { | 
| namespace internal { | 
|  | 
| typedef void (*ScavengingCallback)(Map* map, HeapObject** slot, | 
| -                                   HeapObject* object); | 
| +                                   HeapObject* object, bool force_promotion); | 
|  | 
| class Scavenger { | 
| public: | 
| @@ -25,12 +25,15 @@ class Scavenger { | 
| // necessary, the object might be promoted to an old space.  The caller must | 
| // ensure the precondition that the object is (a) a heap object and (b) in | 
| // the heap's from space. | 
| -  static inline void ScavengeObject(HeapObject** p, HeapObject* object); | 
| +  static inline void ScavengeObject(HeapObject** p, HeapObject* object, | 
| +                                    bool force_promotion = false); | 
| static inline SlotCallbackResult CheckAndScavengeObject(Heap* heap, | 
| -                                                          Address slot_address); | 
| +                                                          Address slot_address, | 
| +                                                          bool force_promotion); | 
|  | 
| // Slow part of {ScavengeObject} above. | 
| -  static void ScavengeObjectSlow(HeapObject** p, HeapObject* object); | 
| +  static void ScavengeObjectSlow(HeapObject** p, HeapObject* object, | 
| +                                 bool force_promotion); | 
|  | 
| // Chooses an appropriate static visitor table depending on the current state | 
| // of the heap (i.e. incremental marking, logging and profiling). | 
|  |