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.

Reply via email to