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.