| Index: src/heap/heap.cc | 
| diff --git a/src/heap/heap.cc b/src/heap/heap.cc | 
| index dfd799da36ebc1416ceca04781f4e0ed70734219..5006292b0effb4a9b2f50b019b72c3b372691187 100644 | 
| --- a/src/heap/heap.cc | 
| +++ b/src/heap/heap.cc | 
| @@ -895,7 +895,7 @@ void Heap::CollectAllAvailableGarbage(const char* gc_reason) { | 
| const int kMinNumberOfAttempts = 2; | 
| for (int attempt = 0; attempt < kMaxNumberOfAttempts; attempt++) { | 
| if (!CollectGarbage(MARK_COMPACTOR, gc_reason, NULL, | 
| -                        v8::kGCCallbackFlagForced) && | 
| +                        v8::kGCCallbackFlagCollectAllAvailableGarbage) && | 
| attempt + 1 >= kMinNumberOfAttempts) { | 
| break; | 
| } | 
| @@ -1044,7 +1044,8 @@ bool Heap::CollectGarbage(GarbageCollector collector, const char* gc_reason, | 
| } | 
|  | 
| if (collector == MARK_COMPACTOR && | 
| -      (gc_callback_flags & kGCCallbackFlagForced) != 0) { | 
| +      (gc_callback_flags & (kGCCallbackFlagForced | | 
| +                            kGCCallbackFlagCollectAllAvailableGarbage)) != 0) { | 
| isolate()->CountUsage(v8::Isolate::kForcedGC); | 
| } | 
|  | 
|  |