Reviewers: jarin, titzer,
Message:
Committed patchset #2 manually as 24626.
Description:
Better typing and type verification
- Extend verifier to check types of JS and Simplified nodes.
- Untyped nodes now contain NULL as types, enforcing hard failure.
- Typer immediately installs itself as a decorator; remove explicit
decorator
installation.
- Decorator eagerly types all nodes that have typed inputs
(subsumes typing of constant cache, removing its typing
side-channel and various spurious dependencies on the typer).
- Cut down typer interface to prevent inconsistently typed graphs.
- Remove verification from start, since it caused too much trouble
with semi-wellformed nodes.
- Fix a couple of bugs on the way that got uncovered.
To do: verifying machine operators. Also, various conditions in the
verifier are currently commented out, because they don't yet hold.
BUG=
[email protected],[email protected]
Committed: https://code.google.com/p/v8/source/detail?r=24626
Please review this at https://codereview.chromium.org/658543002/
Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+849, -377 lines):
M src/compiler/generic-node-inl.h
M src/compiler/graph.h
M src/compiler/graph.cc
M src/compiler/graph-builder.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/js-typed-lowering.cc
M src/compiler/node.h
M src/compiler/node-properties.h
M src/compiler/node-properties-inl.h
M src/compiler/pipeline.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.h
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-machine-operator-reducer.cc
M test/cctest/compiler/test-representation-change.cc
M test/cctest/compiler/test-simplified-lowering.cc
M test/unittests/compiler/change-lowering-unittest.cc
M test/unittests/compiler/graph-unittest.h
M test/unittests/compiler/js-builtin-reducer-unittest.cc
M test/unittests/compiler/js-typed-lowering-unittest.cc
M test/unittests/compiler/machine-operator-reducer-unittest.cc
M test/unittests/compiler/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.