Reviewers: Michael Starzinger, titzer,

Description:
Better typing and type verification

- Extend typer to handle Simplified nodes.
- Extend verifier to check types of JS and Simplified nodes.
- Untyped nodes now contain NULL as types, enforcing hard failure.
- Distinguish between typed and untyped graphs, checked by verifier
  and in various assertions.
- Typer::Run marks the graph typed and installs
  itself as a decorator. Remove explicit decorator installation.
- Cut down typer interface to prevent inconsistently typed graphs.
- Decorators are also used by the constant cache, removing its typing
  side-channel and various spurious dependencies on the typer.
- Fix a couple of bugs on the way that got uncovered.

To do: typing and verifying machine operators.

[email protected], [email protected]
BUG=

Please review this at https://codereview.chromium.org/509343002/

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

Affected files (+834, -337 lines):
  M src/compiler/generic-node-inl.h
  M src/compiler/graph.h
  M src/compiler/graph.cc
  M src/compiler/graph-visualizer.cc
  M src/compiler/js-graph.h
  M src/compiler/js-graph.cc
  M src/compiler/js-inlining.cc
  M src/compiler/node.h
  M src/compiler/node-properties.h
  M src/compiler/node-properties-inl.h
  M src/compiler/opcodes.h
  M src/compiler/pipeline.cc
  M src/compiler/schedule.cc
  M src/compiler/typer.h
  M src/compiler/typer.cc
  M src/compiler/verifier.cc
  M src/types.h
  M src/types.cc
  M src/types-inl.h
  M test/cctest/compiler/test-changes-lowering.cc
  M test/cctest/compiler/test-js-constant-cache.cc
  M test/cctest/compiler/test-js-context-specialization.cc
  M test/cctest/compiler/test-js-typed-lowering.cc
  M test/cctest/compiler/test-representation-change.cc
  M test/cctest/compiler/test-simplified-lowering.cc
  M test/compiler-unittests/change-lowering-unittest.cc
  M test/compiler-unittests/simplified-operator-reducer-unittest.cc


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to