Reviewers: William Hesse, fschneider,

Description:
Split the AST LoopStatement type into separate types for do/while,
while, and for loops.

Previously they were distinguished by a type field, which required
runtime asserts to avoid invalid nodes (since not all loop types have
the same internal structure).  Now they C++ type system is used to
require well-formed loop ASTs.

Because they do not share compilation code, we had very large
functions in the code generators that merely did a runtime dispatch to
a specific implementation based on the type.

Please review this at http://codereview.chromium.org/269049

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/arm/codegen-arm.h
   M     src/arm/codegen-arm.cc
   M     src/ast.h
   M     src/ast.cc
   M     src/codegen.h
   M     src/codegen.cc
   M     src/ia32/codegen-ia32.h
   M     src/ia32/codegen-ia32.cc
   M     src/parser.cc
   M     src/prettyprinter.cc
   M     src/rewriter.cc
   M     src/usage-analyzer.cc
   M     src/x64/codegen-x64.h
   M     src/x64/codegen-x64.cc



--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to