|
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=
R=jarin@chromium.org,titzer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=24626
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+849 lines, -377 lines) |
Patch |
|
M |
src/compiler/generic-node-inl.h
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/graph.h
|
View
|
|
2 chunks |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/graph.cc
|
View
|
|
1 chunk |
+11 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/compiler/graph-builder.cc
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/compiler/graph-visualizer.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/js-graph.h
|
View
|
|
3 chunks |
+1 line, -5 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-graph.cc
|
View
|
|
7 chunks |
+8 lines, -15 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-inlining.cc
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-typed-lowering.cc
|
View
|
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/compiler/node.h
|
View
|
|
1 chunk |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/compiler/node-properties.h
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/node-properties-inl.h
|
View
|
|
1 chunk |
+19 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/pipeline.h
|
View
|
1
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/pipeline.cc
|
View
|
1
|
10 chunks |
+18 lines, -13 lines |
0 comments
|
Download
|
|
M |
src/compiler/schedule.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/typer.h
|
View
|
|
1 chunk |
+13 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/compiler/typer.cc
|
View
|
|
24 chunks |
+139 lines, -138 lines |
0 comments
|
Download
|
|
M |
src/compiler/verifier.h
|
View
|
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/verifier.cc
|
View
|
|
3 chunks |
+532 lines, -121 lines |
0 comments
|
Download
|
|
M |
src/types.h
|
View
|
|
6 chunks |
+15 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/types.cc
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/types-inl.h
|
View
|
|
2 chunks |
+14 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-changes-lowering.cc
|
View
|
|
3 chunks |
+3 lines, -6 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-js-constant-cache.cc
|
View
|
|
2 chunks |
+7 lines, -3 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-js-context-specialization.cc
|
View
|
|
3 chunks |
+1 line, -4 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-js-typed-lowering.cc
|
View
|
|
2 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-machine-operator-reducer.cc
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-representation-change.cc
|
View
|
|
2 chunks |
+1 line, -5 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-simplified-lowering.cc
|
View
|
|
6 chunks |
+10 lines, -9 lines |
0 comments
|
Download
|
|
M |
test/unittests/compiler/change-lowering-unittest.cc
|
View
|
|
2 chunks |
+1 line, -3 lines |
0 comments
|
Download
|
|
M |
test/unittests/compiler/graph-unittest.h
|
View
|
|
2 chunks |
+15 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/unittests/compiler/js-builtin-reducer-unittest.cc
|
View
|
|
1 chunk |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
test/unittests/compiler/js-typed-lowering-unittest.cc
|
View
|
|
1 chunk |
+3 lines, -4 lines |
0 comments
|
Download
|
|
M |
test/unittests/compiler/machine-operator-reducer-unittest.cc
|
View
|
|
1 chunk |
+3 lines, -4 lines |
0 comments
|
Download
|
|
M |
test/unittests/compiler/simplified-operator-reducer-unittest.cc
|
View
|
|
2 chunks |
+1 line, -3 lines |
0 comments
|
Download
|
Total messages: 2 (1 generated)
|