Chromium Code Reviews| Index: src/ast/scopes.h |
| diff --git a/src/ast/scopes.h b/src/ast/scopes.h |
| index 1ea06bccc44bc0c9951f07412fa68ec6a4ab5d6b..6494c81e90701deadc6fd55c930dd669ee115f0d 100644 |
| --- a/src/ast/scopes.h |
| +++ b/src/ast/scopes.h |
| @@ -602,9 +602,6 @@ class Scope: public ZoneObject { |
| ParseInfo* info = nullptr, |
| VariableProxy* stack = nullptr); |
| - // Scope analysis. |
| - void PropagateScopeInfo(); |
| - |
| // Predicates. |
| bool MustAllocate(Variable* var); |
| bool MustAllocateInContext(Variable* var); |
| @@ -684,7 +681,16 @@ class DeclarationScope : public Scope { |
| } |
| bool asm_module() const { return asm_module_; } |
| - void set_asm_module() { asm_module_ = true; } |
| + void set_asm_module() { |
|
titzer
2016/08/23 13:08:59
Move to cc file? Not performance sensitive, I gues
|
| + asm_module_ = true; |
| + // Mark any existing inner function scopes as asm function scopes. |
| + for (Scope* inner = inner_scope_; inner != nullptr; |
|
titzer
2016/08/23 13:08:59
You could, e.g. recurse through block scopes as we
Toon Verwaest
2016/08/23 13:17:51
The block scopes I'm talking about aren't in this
|
| + inner = inner->sibling_) { |
| + if (inner->is_function_scope()) { |
| + inner->AsDeclarationScope()->set_asm_function(); |
| + } |
| + } |
| + } |
| bool asm_function() const { return asm_function_; } |
| void set_asm_function() { asm_module_ = true; } |