Index: src/ast/ast-numbering.cc |
diff --git a/src/ast/ast-numbering.cc b/src/ast/ast-numbering.cc |
index 620925406d17883ce231a952933b4b0fcaa9179e..f3ba04d571b2b3b6f51bd0bf9d0371d534616fa9 100644 |
--- a/src/ast/ast-numbering.cc |
+++ b/src/ast/ast-numbering.cc |
@@ -532,6 +532,9 @@ void AstNumberingVisitor::VisitArrayLiteral(ArrayLiteral* node) { |
void AstNumberingVisitor::VisitCall(Call* node) { |
+ if (node->is_possibly_eval()) { |
+ DisableFullCodegenAndCrankshaft(kFunctionCallsEval); |
+ } |
IncrementNodeCount(); |
ReserveFeedbackSlots(node); |
node->set_base_id(ReserveIdRange(Call::num_ids())); |
@@ -587,7 +590,6 @@ void AstNumberingVisitor::VisitRewritableExpression( |
bool AstNumberingVisitor::Renumber(FunctionLiteral* node) { |
DeclarationScope* scope = node->scope(); |
if (scope->new_target_var()) DisableFullCodegenAndCrankshaft(kSuperReference); |
- if (scope->calls_eval()) DisableFullCodegenAndCrankshaft(kFunctionCallsEval); |
if (scope->arguments() != NULL && !scope->arguments()->IsStackAllocated()) { |
DisableFullCodegenAndCrankshaft(kContextAllocatedArguments); |
} |