| Index: src/heap/heap-inl.h | 
| diff --git a/src/heap/heap-inl.h b/src/heap/heap-inl.h | 
| index f4411db7b4caae6ec4ecdb333413353121c403a1..e5e498170dfb2992534054eada2b51bd490f4a1c 100644 | 
| --- a/src/heap/heap-inl.h | 
| +++ b/src/heap/heap-inl.h | 
| @@ -502,24 +502,6 @@ | 
| } | 
|  | 
|  | 
| -bool Heap::CollectGarbage(AllocationSpace space, const char* gc_reason, | 
| -                          const GCFlags flags, | 
| -                          const GCCallbackFlags callback_flags, | 
| -                          const GCFlagOverride override) { | 
| -  GCFlagScope flag_scope(this, flags, callback_flags, override); | 
| -  const char* collector_reason = nullptr; | 
| -  const GarbageCollector collector = | 
| -      SelectGarbageCollector(space, &collector_reason); | 
| -  return CollectGarbage(collector, gc_reason, collector_reason); | 
| -} | 
| - | 
| - | 
| -bool Heap::CollectGarbageNewSpace(const char* gc_reason) { | 
| -  return CollectGarbage(NEW_SPACE, gc_reason, kNoGCFlags, kNoGCCallbackFlags, | 
| -                        kDontOverride); | 
| -} | 
| - | 
| - | 
| void Heap::UpdateAllocationSiteFeedback(HeapObject* object, | 
| ScratchpadSlotMode mode) { | 
| Heap* heap = object->GetHeap(); | 
| @@ -565,6 +547,14 @@ | 
| } | 
|  | 
|  | 
| +bool Heap::CollectGarbage(AllocationSpace space, const char* gc_reason, | 
| +                          const v8::GCCallbackFlags callbackFlags) { | 
| +  const char* collector_reason = NULL; | 
| +  GarbageCollector collector = SelectGarbageCollector(space, &collector_reason); | 
| +  return CollectGarbage(collector, gc_reason, collector_reason, callbackFlags); | 
| +} | 
| + | 
| + | 
| Isolate* Heap::isolate() { | 
| return reinterpret_cast<Isolate*>( | 
| reinterpret_cast<intptr_t>(this) - | 
| @@ -585,29 +575,28 @@ | 
| RETURN_VALUE;                                         \ | 
| } | 
|  | 
| -#define CALL_AND_RETRY(ISOLATE, FUNCTION_CALL, RETURN_VALUE, RETURN_EMPTY)     \ | 
| -  do {                                                                         \ | 
| -    AllocationResult __allocation__ = FUNCTION_CALL;                           \ | 
| -    Object* __object__ = NULL;                                                 \ | 
| -    RETURN_OBJECT_UNLESS_RETRY(ISOLATE, RETURN_VALUE)                          \ | 
| -    /* Two GCs before panicking.  In newspace will almost always succeed. */   \ | 
| -    for (int __i__ = 0; __i__ < 2; __i__++) {                                  \ | 
| -      (ISOLATE)->heap()->CollectGarbage(__allocation__.RetrySpace(),           \ | 
| -                                        "allocation failure",                  \ | 
| -                                        Heap::kNoGCFlags, kNoGCCallbackFlags); \ | 
| -      __allocation__ = FUNCTION_CALL;                                          \ | 
| -      RETURN_OBJECT_UNLESS_RETRY(ISOLATE, RETURN_VALUE)                        \ | 
| -    }                                                                          \ | 
| -    (ISOLATE)->counters()->gc_last_resort_from_handles()->Increment();         \ | 
| -    (ISOLATE)->heap()->CollectAllAvailableGarbage("last resort gc");           \ | 
| -    {                                                                          \ | 
| -      AlwaysAllocateScope __scope__(ISOLATE);                                  \ | 
| -      __allocation__ = FUNCTION_CALL;                                          \ | 
| -    }                                                                          \ | 
| -    RETURN_OBJECT_UNLESS_RETRY(ISOLATE, RETURN_VALUE)                          \ | 
| -    /* TODO(1181417): Fix this. */                                             \ | 
| -    v8::internal::Heap::FatalProcessOutOfMemory("CALL_AND_RETRY_LAST", true);  \ | 
| -    RETURN_EMPTY;                                                              \ | 
| +#define CALL_AND_RETRY(ISOLATE, FUNCTION_CALL, RETURN_VALUE, RETURN_EMPTY)    \ | 
| +  do {                                                                        \ | 
| +    AllocationResult __allocation__ = FUNCTION_CALL;                          \ | 
| +    Object* __object__ = NULL;                                                \ | 
| +    RETURN_OBJECT_UNLESS_RETRY(ISOLATE, RETURN_VALUE)                         \ | 
| +    /* Two GCs before panicking.  In newspace will almost always succeed. */  \ | 
| +    for (int __i__ = 0; __i__ < 2; __i__++) {                                 \ | 
| +      (ISOLATE)->heap()->CollectGarbage(__allocation__.RetrySpace(),          \ | 
| +                                        "allocation failure");                \ | 
| +      __allocation__ = FUNCTION_CALL;                                         \ | 
| +      RETURN_OBJECT_UNLESS_RETRY(ISOLATE, RETURN_VALUE)                       \ | 
| +    }                                                                         \ | 
| +    (ISOLATE)->counters()->gc_last_resort_from_handles()->Increment();        \ | 
| +    (ISOLATE)->heap()->CollectAllAvailableGarbage("last resort gc");          \ | 
| +    {                                                                         \ | 
| +      AlwaysAllocateScope __scope__(ISOLATE);                                 \ | 
| +      __allocation__ = FUNCTION_CALL;                                         \ | 
| +    }                                                                         \ | 
| +    RETURN_OBJECT_UNLESS_RETRY(ISOLATE, RETURN_VALUE)                         \ | 
| +    /* TODO(1181417): Fix this. */                                            \ | 
| +    v8::internal::Heap::FatalProcessOutOfMemory("CALL_AND_RETRY_LAST", true); \ | 
| +    RETURN_EMPTY;                                                             \ | 
| } while (false) | 
|  | 
| #define CALL_AND_RETRY_OR_DIE(ISOLATE, FUNCTION_CALL, RETURN_VALUE, \ | 
|  |