Index: src/ast.cc |
diff --git a/src/ast.cc b/src/ast.cc |
index 6deaae51c81187da45b0f65af33131b3c2ddfcdd..55a5ca18cf8677040dfc3f2fecd914a1d95bd4d6 100644 |
--- a/src/ast.cc |
+++ b/src/ast.cc |
@@ -1026,6 +1026,14 @@ CaseClause::CaseClause(Zone* zone, Expression* label, |
set_dont_turbofan_reason(k##NodeType); \ |
add_flag(kDontSelfOptimize); \ |
} |
+#define DONT_TURBOFAN_NODE_WITH_FEEDBACK_SLOTS(NodeType) \ |
+ void AstConstructionVisitor::Visit##NodeType(NodeType* node) { \ |
+ increase_node_count(); \ |
+ add_slot_node(node); \ |
+ set_dont_crankshaft_reason(k##NodeType); \ |
+ set_dont_turbofan_reason(k##NodeType); \ |
+ add_flag(kDontSelfOptimize); \ |
+ } |
#define DONT_SELFOPTIMIZE_NODE(NodeType) \ |
void AstConstructionVisitor::Visit##NodeType(NodeType* node) { \ |
increase_node_count(); \ |
@@ -1100,7 +1108,8 @@ DONT_TURBOFAN_NODE(ForOfStatement) |
DONT_TURBOFAN_NODE(TryCatchStatement) |
DONT_TURBOFAN_NODE(TryFinallyStatement) |
DONT_TURBOFAN_NODE(ClassLiteral) |
-DONT_TURBOFAN_NODE(SuperReference) |
+ |
+DONT_TURBOFAN_NODE_WITH_FEEDBACK_SLOTS(SuperReference) |
DONT_SELFOPTIMIZE_NODE(DoWhileStatement) |
DONT_SELFOPTIMIZE_NODE(WhileStatement) |