| Index: src/ast.cc
|
| diff --git a/src/ast.cc b/src/ast.cc
|
| index 0b65f5def33b7c895072e455f508640360e73836..6898d17066d4d3b74639b4aa650294894530f50c 100644
|
| --- a/src/ast.cc
|
| +++ b/src/ast.cc
|
| @@ -996,110 +996,6 @@ CaseClause::CaseClause(Zone* zone, Expression* label,
|
| compare_type_(Type::None(zone)) {}
|
|
|
|
|
| -#define REGULAR_NODE(NodeType) \
|
| - void AstConstructionVisitor::Visit##NodeType(NodeType* node) { \
|
| - }
|
| -#define REGULAR_NODE_WITH_FEEDBACK_SLOTS(NodeType) \
|
| - void AstConstructionVisitor::Visit##NodeType(NodeType* node) { \
|
| - }
|
| -#define DONT_OPTIMIZE_NODE(NodeType) \
|
| - void AstConstructionVisitor::Visit##NodeType(NodeType* node) { \
|
| - }
|
| -#define DONT_OPTIMIZE_NODE_WITH_FEEDBACK_SLOTS(NodeType) \
|
| - void AstConstructionVisitor::Visit##NodeType(NodeType* node) { \
|
| - }
|
| -#define DONT_TURBOFAN_NODE(NodeType) \
|
| - void AstConstructionVisitor::Visit##NodeType(NodeType* node) { \
|
| - }
|
| -#define DONT_TURBOFAN_NODE_WITH_FEEDBACK_SLOTS(NodeType) \
|
| - void AstConstructionVisitor::Visit##NodeType(NodeType* node) { \
|
| - }
|
| -#define DONT_SELFOPTIMIZE_NODE(NodeType) \
|
| - void AstConstructionVisitor::Visit##NodeType(NodeType* node) { \
|
| - }
|
| -#define DONT_SELFOPTIMIZE_NODE_WITH_FEEDBACK_SLOTS(NodeType) \
|
| - void AstConstructionVisitor::Visit##NodeType(NodeType* node) { \
|
| - }
|
| -#define DONT_CACHE_NODE(NodeType) \
|
| - void AstConstructionVisitor::Visit##NodeType(NodeType* node) { \
|
| - }
|
| -
|
| -REGULAR_NODE(VariableDeclaration)
|
| -REGULAR_NODE(FunctionDeclaration)
|
| -REGULAR_NODE(Block)
|
| -REGULAR_NODE(ExpressionStatement)
|
| -REGULAR_NODE(EmptyStatement)
|
| -REGULAR_NODE(IfStatement)
|
| -REGULAR_NODE(ContinueStatement)
|
| -REGULAR_NODE(BreakStatement)
|
| -REGULAR_NODE(ReturnStatement)
|
| -REGULAR_NODE(SwitchStatement)
|
| -REGULAR_NODE(CaseClause)
|
| -REGULAR_NODE(Conditional)
|
| -REGULAR_NODE(Literal)
|
| -REGULAR_NODE(ArrayLiteral)
|
| -REGULAR_NODE(ObjectLiteral)
|
| -REGULAR_NODE(RegExpLiteral)
|
| -REGULAR_NODE(FunctionLiteral)
|
| -REGULAR_NODE(Assignment)
|
| -REGULAR_NODE(Throw)
|
| -REGULAR_NODE(UnaryOperation)
|
| -REGULAR_NODE(CountOperation)
|
| -REGULAR_NODE(BinaryOperation)
|
| -REGULAR_NODE(CompareOperation)
|
| -REGULAR_NODE(ThisFunction)
|
| -
|
| -REGULAR_NODE_WITH_FEEDBACK_SLOTS(Call)
|
| -REGULAR_NODE_WITH_FEEDBACK_SLOTS(CallNew)
|
| -REGULAR_NODE_WITH_FEEDBACK_SLOTS(Property)
|
| -// In theory, for VariableProxy we'd have to add:
|
| -// if (node->var()->IsLookupSlot())
|
| -// set_dont_optimize_reason(kReferenceToAVariableWhichRequiresDynamicLookup);
|
| -// But node->var() is usually not bound yet at VariableProxy creation time, and
|
| -// LOOKUP variables only result from constructs that cannot be inlined anyway.
|
| -REGULAR_NODE_WITH_FEEDBACK_SLOTS(VariableProxy)
|
| -
|
| -// We currently do not optimize any modules.
|
| -DONT_OPTIMIZE_NODE(ModuleDeclaration)
|
| -DONT_OPTIMIZE_NODE(ImportDeclaration)
|
| -DONT_OPTIMIZE_NODE(ExportDeclaration)
|
| -DONT_OPTIMIZE_NODE(ModuleVariable)
|
| -DONT_OPTIMIZE_NODE(ModulePath)
|
| -DONT_OPTIMIZE_NODE(ModuleUrl)
|
| -DONT_OPTIMIZE_NODE(ModuleStatement)
|
| -DONT_OPTIMIZE_NODE(WithStatement)
|
| -DONT_OPTIMIZE_NODE(DebuggerStatement)
|
| -DONT_OPTIMIZE_NODE(NativeFunctionLiteral)
|
| -
|
| -DONT_OPTIMIZE_NODE_WITH_FEEDBACK_SLOTS(Yield)
|
| -
|
| -// TODO(turbofan): Remove the dont_turbofan_reason once this list is empty.
|
| -// This list must be kept in sync with Pipeline::GenerateCode.
|
| -DONT_TURBOFAN_NODE(ForOfStatement)
|
| -DONT_TURBOFAN_NODE(TryCatchStatement)
|
| -DONT_TURBOFAN_NODE(TryFinallyStatement)
|
| -DONT_TURBOFAN_NODE(ClassLiteral)
|
| -
|
| -DONT_TURBOFAN_NODE_WITH_FEEDBACK_SLOTS(SuperReference)
|
| -
|
| -DONT_SELFOPTIMIZE_NODE(DoWhileStatement)
|
| -DONT_SELFOPTIMIZE_NODE(WhileStatement)
|
| -DONT_SELFOPTIMIZE_NODE(ForStatement)
|
| -
|
| -DONT_SELFOPTIMIZE_NODE_WITH_FEEDBACK_SLOTS(ForInStatement)
|
| -
|
| -DONT_CACHE_NODE(ModuleLiteral)
|
| -
|
| -
|
| -void AstConstructionVisitor::VisitCallRuntime(CallRuntime* node) {
|
| -}
|
| -
|
| -#undef REGULAR_NODE
|
| -#undef DONT_OPTIMIZE_NODE
|
| -#undef DONT_SELFOPTIMIZE_NODE
|
| -#undef DONT_CACHE_NODE
|
| -
|
| -
|
| uint32_t Literal::Hash() {
|
| return raw_value()->IsString()
|
| ? raw_value()->AsString()->hash()
|
|
|