Fix typer to actually visit the entire graph.

R=titzer@chromium.org
TEST=mjsunit

Review URL: https://codereview.chromium.org/545223002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
mstarzinger@chromium.org 2014-09-05 15:01:51 +00:00
parent 6bbd2e0e0c
commit dd8779537b
2 changed files with 1 additions and 8 deletions

View File

@ -221,6 +221,7 @@ Handle<Code> Pipeline::GenerateCode() {
// Type the graph.
PhaseStats typer_stats(info(), PhaseStats::CREATE_GRAPH, "typer");
typer.Run(&graph, info()->context());
VerifyAndPrintGraph(&graph, "Typed");
}
// All new nodes must be typed.
typer.DecorateGraph(&graph);

View File

@ -117,14 +117,6 @@ class Typer::RunVisitor : public Typer::Visitor {
: Visitor(typer, context),
phis(NodeSet::key_compare(), NodeSet::allocator_type(typer->zone())) {}
GenericGraphVisit::Control Pre(Node* node) {
return NodeProperties::IsControl(node)
&& node->opcode() != IrOpcode::kEnd
&& node->opcode() != IrOpcode::kMerge
&& node->opcode() != IrOpcode::kReturn
? GenericGraphVisit::SKIP : GenericGraphVisit::CONTINUE;
}
GenericGraphVisit::Control Post(Node* node) {
Bounds bounds = TypeNode(node);
if (node->opcode() == IrOpcode::kPhi) {