Index: src/ast/scopes.h |
diff --git a/src/ast/scopes.h b/src/ast/scopes.h |
index 1bf541944a0298aafd7c009141aae882db52dec2..0b84d630b91325343c6f77dd29f3ae31f6e257c3 100644 |
--- a/src/ast/scopes.h |
+++ b/src/ast/scopes.h |
@@ -310,9 +310,6 @@ class Scope: public ZoneObject { |
bool calls_sloppy_eval() const { |
return scope_calls_eval_ && is_sloppy(language_mode()); |
} |
- bool outer_scope_calls_sloppy_eval() const { |
- return outer_scope_calls_sloppy_eval_; |
- } |
bool IsAsmModule() const; |
bool IsAsmFunction() const; |
// Does this scope access "super" property (super.foo). |
@@ -383,7 +380,11 @@ class Scope: public ZoneObject { |
bool AllowsLazyCompilationWithoutContext() const; |
// The number of contexts between this and scope; zero if this == scope. |
- int ContextChainLength(Scope* scope); |
+ int ContextChainLength(Scope* scope) const; |
+ |
+ // The number of contexts between this and the outermost context that has a |
+ // sloppy eval call. One if this->calls_sloppy_eval(). |
+ int ContextChainLengthUntilOutermostSloppyEval() const; |
// The maximum number of nested contexts required for this scope and any inner |
// scopes. |
@@ -512,7 +513,6 @@ class Scope: public ZoneObject { |
bool is_debug_evaluate_scope_ : 1; |
// Computed via PropagateScopeInfo. |
- bool outer_scope_calls_sloppy_eval_ : 1; |
bool inner_scope_calls_eval_ : 1; |
bool force_eager_compilation_ : 1; |
bool force_context_allocation_ : 1; |
@@ -591,7 +591,7 @@ class Scope: public ZoneObject { |
VariableProxy* stack = nullptr); |
// Scope analysis. |
- void PropagateScopeInfo(bool outer_scope_calls_sloppy_eval); |
+ void PropagateScopeInfo(); |
// Predicates. |
bool MustAllocate(Variable* var); |