| Index: src/heap-inl.h | 
| diff --git a/src/heap-inl.h b/src/heap-inl.h | 
| index efad2fbf5969cf7604915db269934615e36c3a9a..7e465d5c9386858c05088c89073d3365c232167e 100644 | 
| --- a/src/heap-inl.h | 
| +++ b/src/heap-inl.h | 
| @@ -138,7 +138,7 @@ MaybeObject* Heap::AllocateInternalizedStringImpl( | 
| MaybeObject* Heap::AllocateOneByteInternalizedString(Vector<const uint8_t> str, | 
| uint32_t hash_field) { | 
| if (str.length() > String::kMaxLength) { | 
| -    return Failure::OutOfMemoryException(0x2); | 
| +    v8::internal::Heap::FatalProcessOutOfMemory("invalid string length", true); | 
| } | 
| // Compute map and object size. | 
| Map* map = ascii_internalized_string_map(); | 
| @@ -171,7 +171,7 @@ MaybeObject* Heap::AllocateOneByteInternalizedString(Vector<const uint8_t> str, | 
| MaybeObject* Heap::AllocateTwoByteInternalizedString(Vector<const uc16> str, | 
| uint32_t hash_field) { | 
| if (str.length() > String::kMaxLength) { | 
| -    return Failure::OutOfMemoryException(0x3); | 
| +    v8::internal::Heap::FatalProcessOutOfMemory("invalid string length", true); | 
| } | 
| // Compute map and object size. | 
| Map* map = internalized_string_map(); | 
| @@ -641,24 +641,18 @@ Isolate* Heap::isolate() { | 
| // Warning: Do not use the identifiers __object__, __maybe_object__ or | 
| // __scope__ in a call to this macro. | 
|  | 
| -#define CALL_AND_RETRY(ISOLATE, FUNCTION_CALL, RETURN_VALUE, RETURN_EMPTY, OOM)\ | 
| +#define CALL_AND_RETRY(ISOLATE, FUNCTION_CALL, RETURN_VALUE, RETURN_EMPTY)     \ | 
| do {                                                                         \ | 
| GC_GREEDY_CHECK(ISOLATE);                                                  \ | 
| MaybeObject* __maybe_object__ = FUNCTION_CALL;                             \ | 
| Object* __object__ = NULL;                                                 \ | 
| if (__maybe_object__->ToObject(&__object__)) RETURN_VALUE;                 \ | 
| -    if (__maybe_object__->IsOutOfMemory()) {                                   \ | 
| -      OOM;                                                                     \ | 
| -    }                                                                          \ | 
| if (!__maybe_object__->IsRetryAfterGC()) RETURN_EMPTY;                     \ | 
| (ISOLATE)->heap()->CollectGarbage(Failure::cast(__maybe_object__)->        \ | 
| allocation_space(),                        \ | 
| "allocation failure");                     \ | 
| __maybe_object__ = FUNCTION_CALL;                                          \ | 
| if (__maybe_object__->ToObject(&__object__)) RETURN_VALUE;                 \ | 
| -    if (__maybe_object__->IsOutOfMemory()) {                                   \ | 
| -      OOM;                                                                     \ | 
| -    }                                                                          \ | 
| if (!__maybe_object__->IsRetryAfterGC()) RETURN_EMPTY;                     \ | 
| (ISOLATE)->counters()->gc_last_resort_from_handles()->Increment();         \ | 
| (ISOLATE)->heap()->CollectAllAvailableGarbage("last resort gc");           \ | 
| @@ -667,9 +661,6 @@ Isolate* Heap::isolate() { | 
| __maybe_object__ = FUNCTION_CALL;                                        \ | 
| }                                                                          \ | 
| if (__maybe_object__->ToObject(&__object__)) RETURN_VALUE;                 \ | 
| -    if (__maybe_object__->IsOutOfMemory()) {                                   \ | 
| -      OOM;                                                                     \ | 
| -    }                                                                          \ | 
| if (__maybe_object__->IsRetryAfterGC()) {                                  \ | 
| /* TODO(1181417): Fix this. */                                           \ | 
| v8::internal::Heap::FatalProcessOutOfMemory("CALL_AND_RETRY_LAST", true);\ | 
| @@ -683,8 +674,7 @@ Isolate* Heap::isolate() { | 
| ISOLATE,                                                             \ | 
| FUNCTION_CALL,                                                       \ | 
| RETURN_VALUE,                                                        \ | 
| -      RETURN_EMPTY,                                                        \ | 
| -      v8::internal::Heap::FatalProcessOutOfMemory("CALL_AND_RETRY", true)) | 
| +      RETURN_EMPTY) | 
|  | 
| #define CALL_HEAP_FUNCTION(ISOLATE, FUNCTION_CALL, TYPE)                      \ | 
| CALL_AND_RETRY_OR_DIE(ISOLATE,                                              \ | 
| @@ -701,7 +691,6 @@ Isolate* Heap::isolate() { | 
| CALL_AND_RETRY(ISOLATE,                                         \ | 
| FUNCTION_CALL,                                   \ | 
| return __object__,                               \ | 
| -                 return __maybe_object__,                         \ | 
| return __maybe_object__) | 
|  | 
|  | 
|  |