Chromium Code Reviews| Index: src/ast/scopes.cc |
| diff --git a/src/ast/scopes.cc b/src/ast/scopes.cc |
| index 4ce1c0d85f7970f0b1cd5807d0519aac825d88c3..5e33c22e938ebad8448cab778401d0bcdee9859a 100644 |
| --- a/src/ast/scopes.cc |
| +++ b/src/ast/scopes.cc |
| @@ -542,13 +542,15 @@ void DeclarationScope::Analyze(ParseInfo* info, AnalyzeMode mode) { |
| scope->HoistSloppyBlockFunctions(&factory); |
| } |
| - // We are compiling one of three cases: |
| + // We are compiling one of four cases: |
| // 1) top-level code, |
| // 2) a function/eval/module on the top-level |
| // 3) a function/eval in a scope that was already resolved. |
| + // 4) an asm.js function |
| DCHECK(scope->scope_type() == SCRIPT_SCOPE || |
| scope->outer_scope()->scope_type() == SCRIPT_SCOPE || |
| - scope->outer_scope()->already_resolved_); |
| + scope->outer_scope()->already_resolved_ || |
| + (info->asm_function_scope() && scope->scope_type() == FUNCTION_SCOPE)); |
|
Toon Verwaest
2016/11/29 14:39:59
is_function_scope()
bradn
2016/11/29 22:09:06
Done.
|
| // The outer scope is never lazy. |
| scope->set_should_eager_compile(); |