| Index: src/compiler.cc
|
| diff --git a/src/compiler.cc b/src/compiler.cc
|
| index 47b555c27706a8d9c65f53f856a9c4b3afaac916..1dbd10f8cabda3080e11635a8009b566f458d31d 100644
|
| --- a/src/compiler.cc
|
| +++ b/src/compiler.cc
|
| @@ -785,16 +785,18 @@ static bool CompileUnoptimizedCode(CompilationInfo* info) {
|
| return true;
|
| }
|
|
|
| -
|
| static bool UseIgnition(CompilationInfo* info) {
|
| - // Cannot use Ignition when the {function_data} is already used.
|
| - if (info->has_shared_info() && info->shared_info()->HasBuiltinFunctionId()) {
|
| + // TODO(4681): Generator functions are not yet supported.
|
| + if ((info->has_shared_info() && info->shared_info()->is_generator()) ||
|
| + (info->has_literal() && IsGeneratorFunction(info->literal()->kind()))) {
|
| return false;
|
| }
|
|
|
| - // TODO(4681): Generators are not yet supported.
|
| - if ((info->has_shared_info() && info->shared_info()->is_generator()) ||
|
| - (info->has_literal() && IsGeneratorFunction(info->literal()->kind()))) {
|
| + // TODO(4681): Resuming a suspended frame is not supported.
|
| + if (info->has_shared_info() && 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 false;
|
| }
|
|
|
|
|