Merge V8 5.3.332.45.  DO NOT MERGE

Test: Manual

FPIIM-449

Change-Id: Id3254828b068abdea3cb10442e0172a8c9a98e03
(cherry picked from commit 13e2dadd00298019ed862f2b2fc5068bba730bcf)
diff --git a/src/ast/ast-expression-visitor.h b/src/ast/ast-expression-visitor.h
index 283bc7b..3f7b9f7 100644
--- a/src/ast/ast-expression-visitor.h
+++ b/src/ast/ast-expression-visitor.h
@@ -17,7 +17,7 @@
 // A Visitor over a CompilationInfo's AST that invokes
 // VisitExpression on each expression node.
 
-class AstExpressionVisitor : public AstVisitor {
+class AstExpressionVisitor : public AstTraversalVisitor {
  public:
   AstExpressionVisitor(Isolate* isolate, Expression* root);
   AstExpressionVisitor(uintptr_t stack_limit, Expression* root);
@@ -25,20 +25,13 @@
 
  protected:
   virtual void VisitExpression(Expression* expression) = 0;
-  int depth() { return depth_; }
-
-  void VisitDeclarations(ZoneList<Declaration*>* d) override;
-  void VisitStatements(ZoneList<Statement*>* s) override;
 
  private:
-  DEFINE_AST_VISITOR_SUBCLASS_MEMBERS();
-
 #define DECLARE_VISIT(type) void Visit##type(type* node) override;
-  AST_NODE_LIST(DECLARE_VISIT)
+  EXPRESSION_NODE_LIST(DECLARE_VISIT)
 #undef DECLARE_VISIT
 
   Expression* root_;
-  int depth_;
 
   DISALLOW_COPY_AND_ASSIGN(AstExpressionVisitor);
 };