| Index: src/ast-numbering.cc
|
| diff --git a/src/ast-numbering.cc b/src/ast-numbering.cc
|
| index 13d8bf8a34f9f450a90a6a7ed02ea2c5aab7ef44..87b96346cbcf74bea1ae87fcb889e98a71cc44bc 100644
|
| --- a/src/ast-numbering.cc
|
| +++ b/src/ast-numbering.cc
|
| @@ -52,6 +52,12 @@ class AstNumberingVisitor final : public AstVisitor {
|
| dont_optimize_reason_ = reason;
|
| DisableSelfOptimization();
|
| }
|
| + void DisableCrankshaft(BailoutReason reason) {
|
| + properties_.flags()->Add(kDontCrankshaft);
|
| + if (FLAG_turbo_shipping) return;
|
| + dont_optimize_reason_ = reason;
|
| + DisableSelfOptimization();
|
| + }
|
| void DisableCaching(BailoutReason reason) {
|
| dont_optimize_reason_ = reason;
|
| DisableSelfOptimization();
|
| @@ -148,7 +154,7 @@ void AstNumberingVisitor::VisitRegExpLiteral(RegExpLiteral* node) {
|
| void AstNumberingVisitor::VisitVariableProxy(VariableProxy* node) {
|
| IncrementNodeCount();
|
| if (node->var()->IsLookupSlot()) {
|
| - DisableOptimization(kReferenceToAVariableWhichRequiresDynamicLookup);
|
| + DisableCrankshaft(kReferenceToAVariableWhichRequiresDynamicLookup);
|
| }
|
| ReserveFeedbackSlots(node);
|
| node->set_base_id(ReserveIdRange(VariableProxy::num_ids()));
|
| @@ -249,7 +255,7 @@ void AstNumberingVisitor::VisitCallRuntime(CallRuntime* node) {
|
|
|
| void AstNumberingVisitor::VisitWithStatement(WithStatement* node) {
|
| IncrementNodeCount();
|
| - DisableOptimization(kWithStatement);
|
| + DisableCrankshaft(kWithStatement);
|
| node->set_base_id(ReserveIdRange(WithStatement::num_ids()));
|
| Visit(node->expression());
|
| Visit(node->statement());
|
| @@ -344,7 +350,7 @@ void AstNumberingVisitor::VisitForInStatement(ForInStatement* node) {
|
|
|
| void AstNumberingVisitor::VisitForOfStatement(ForOfStatement* node) {
|
| IncrementNodeCount();
|
| - DisableOptimization(kForOfStatement);
|
| + DisableCrankshaft(kForOfStatement);
|
| node->set_base_id(ReserveIdRange(ForOfStatement::num_ids()));
|
| Visit(node->assign_iterator());
|
| Visit(node->next_result());
|
| @@ -511,7 +517,7 @@ bool AstNumberingVisitor::Renumber(FunctionLiteral* node) {
|
| }
|
| if (scope->calls_eval()) DisableOptimization(kFunctionCallsEval);
|
| if (scope->arguments() != NULL && !scope->arguments()->IsStackAllocated()) {
|
| - DisableOptimization(kContextAllocatedArguments);
|
| + DisableCrankshaft(kContextAllocatedArguments);
|
| }
|
|
|
| VisitDeclarations(scope->declarations());
|
|
|