| Index: src/heap-inl.h
 | 
| diff --git a/src/heap-inl.h b/src/heap-inl.h
 | 
| index ad6f44f935f1af9349d99f0cc670017a3cd7f192..55b8d17300ad341334b5081f85490e774d9e9e91 100644
 | 
| --- a/src/heap-inl.h
 | 
| +++ b/src/heap-inl.h
 | 
| @@ -217,10 +217,6 @@ MaybeObject* Heap::AllocateRaw(int size_in_bytes,
 | 
|    ASSERT(AllowHandleAllocation::IsAllowed());
 | 
|    ASSERT(AllowHeapAllocation::IsAllowed());
 | 
|    ASSERT(gc_state_ == NOT_IN_GC);
 | 
| -  ASSERT(space != NEW_SPACE ||
 | 
| -         retry_space == OLD_POINTER_SPACE ||
 | 
| -         retry_space == OLD_DATA_SPACE ||
 | 
| -         retry_space == LO_SPACE);
 | 
|  #ifdef DEBUG
 | 
|    if (FLAG_gc_interval >= 0 &&
 | 
|        !disallow_allocation_failure_ &&
 | 
| @@ -233,7 +229,7 @@ MaybeObject* Heap::AllocateRaw(int size_in_bytes,
 | 
|    MaybeObject* result;
 | 
|    if (NEW_SPACE == space) {
 | 
|      result = new_space_.AllocateRaw(size_in_bytes);
 | 
| -    if (always_allocate() && result->IsFailure()) {
 | 
| +    if (always_allocate() && result->IsFailure() && retry_space != NEW_SPACE) {
 | 
|        space = retry_space;
 | 
|      } else {
 | 
|        return result;
 | 
| 
 |