| Index: src/compiler.cc | 
| diff --git a/src/compiler.cc b/src/compiler.cc | 
| index 8fac53e970322fee813cdfbd3e05cb07ef7a6239..992ed4e82dc93c006a4371cadc70aeb58f4e8da7 100644 | 
| --- a/src/compiler.cc | 
| +++ b/src/compiler.cc | 
| @@ -23,6 +23,7 @@ | 
| #include "src/frames-inl.h" | 
| #include "src/full-codegen/full-codegen.h" | 
| #include "src/globals.h" | 
| +#include "src/heap/heap.h" | 
| #include "src/interpreter/interpreter.h" | 
| #include "src/isolate-inl.h" | 
| #include "src/log-inl.h" | 
| @@ -705,6 +706,15 @@ bool GetOptimizedCodeLater(CompilationJob* job) { | 
| return false; | 
| } | 
|  | 
| +  if (isolate->heap()->HighMemoryPressure()) { | 
| +    if (FLAG_trace_concurrent_recompilation) { | 
| +      PrintF("  ** High memory pressure, will retry optimizing "); | 
| +      info->closure()->ShortPrint(); | 
| +      PrintF(" later.\n"); | 
| +    } | 
| +    return false; | 
| +  } | 
| + | 
| // All handles below this point will be allocated in a deferred handle scope | 
| // that is detached and handed off to the background thread when we return. | 
| CompilationHandleScope handle_scope(info); | 
|  |