Collect type feedback in separate pass and store it in AST
authorrossberg@chromium.org <rossberg@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 27 May 2013 13:59:20 +0000 (13:59 +0000)
committerrossberg@chromium.org <rossberg@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 27 May 2013 13:59:20 +0000 (13:59 +0000)
commit6fda4e4c2810bce5e8dc50b88be0cf0ab0fad7be
tree448a39d6c1b2c83320ec0f16dbb58c0621f801b7
parent0a4289618d0f8391e96e67bff6f9540bb45d6c47
Collect type feedback in separate pass and store it in AST

Notes:

- For now, just adds the missing type info fields to the AST nodes directly.
  I'd like to factor that out more nicely in a follow-up CL.

- All type feedback now is uniformly collected through AST nodes'
  RecordTypeFeedback functions. At some point, this logic should be moved
  out of ast.cc.

- The typing pass currently simulates the exact same conditions under
  which feedback was collected in Hydrogen before. That also should be
  made more generic in the future.

- Type information itself is unchanged. Making it more regular is
  yet more future work.

Some additional cleanups:

- Lifted out nested class ObjectLiteral::Property, to enable forward declaration.
- Moved around some auxiliary enums.

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/14990014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
12 files changed:
src/ast.cc
src/ast.h
src/code-stubs.h
src/compiler.cc
src/compiler.h
src/hydrogen.cc
src/hydrogen.h
src/type-info.cc
src/type-info.h
src/typing.cc [new file with mode: 0644]
src/typing.h [new file with mode: 0644]
tools/gyp/v8.gyp