| Index: src/compiler/typer.cc
|
| diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc
|
| index 316a4090cfc74b00b5bfbd953b283bc6c26796e4..e32c6495c0c5a5c1e3e1d0841ebde969874684f8 100644
|
| --- a/src/compiler/typer.cc
|
| +++ b/src/compiler/typer.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "src/compiler/typer.h"
|
|
|
| +#include <iomanip>
|
| +
|
| #include "src/base/flags.h"
|
| #include "src/bootstrapper.h"
|
| #include "src/compiler/common-operator.h"
|
| @@ -318,7 +320,7 @@ void Typer::Run(const NodeVector& roots,
|
| graph_reducer.ReduceGraph();
|
|
|
| if (induction_vars != nullptr) {
|
| - induction_vars->ChangeFromInductionVariablePhis();
|
| + induction_vars->ChangeToPhisAndInsertSigmas();
|
| }
|
| }
|
|
|
| @@ -823,6 +825,7 @@ Type* Typer::Visitor::TypeInductionVariablePhi(Node* node) {
|
| }
|
| if (FLAG_trace_turbo_loop) {
|
| OFStream os(stdout);
|
| + os << std::setprecision(10);
|
| os << "Loop (" << NodeProperties::GetControlInput(node)->id()
|
| << ") variable bounds for phi " << node->id() << ": (" << min << ", "
|
| << max << ")\n";
|
| @@ -893,6 +896,11 @@ Type* Typer::Visitor::TypeProjection(Node* node) {
|
| return Type::Any();
|
| }
|
|
|
| +Type* Typer::Visitor::TypeSigma(Node* node) {
|
| + Type* const type = Operand(node, 0);
|
| + return typer_->operation_typer()->TypeSigma(node->op(), type);
|
| +}
|
| +
|
| Type* Typer::Visitor::TypeDead(Node* node) { return Type::None(); }
|
|
|
| // JS comparison operators.
|
|
|