Index: src/compiler.cc |
diff --git a/src/compiler.cc b/src/compiler.cc |
index ef5d7f8514054a2a7bc9b4f8a9465dd1b8296568..755be2a3e525a23a102b5f36f189359fde32e377 100644 |
--- a/src/compiler.cc |
+++ b/src/compiler.cc |
@@ -383,6 +383,14 @@ OptimizedCompileJob::Status OptimizedCompileJob::CreateGraph() { |
return AbortOptimization(kFunctionBeingDebugged); |
} |
+ // Resuming a suspended frame is not supported by Crankshaft/TurboFan. |
+ if (info()->shared_info()->HasBuiltinFunctionId() && |
+ (info()->shared_info()->builtin_function_id() == kGeneratorObjectNext || |
+ info()->shared_info()->builtin_function_id() == kGeneratorObjectReturn || |
+ info()->shared_info()->builtin_function_id() == kGeneratorObjectThrow)) { |
+ return AbortOptimization(kGeneratorResumeMethod); |
+ } |
+ |
// Limit the number of times we try to optimize functions. |
const int kMaxOptCount = |
FLAG_deopt_every_n_times == 0 ? FLAG_max_opt_count : 1000; |