Chromium Code Reviews| Index: src/compiler/typer.cc |
| diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc |
| index 0a7d55d82e76d8434fecf657418d78e1c09517d2..e3000081b37ff6deda2b602b469e1280978b070f 100644 |
| --- a/src/compiler/typer.cc |
| +++ b/src/compiler/typer.cc |
| @@ -243,6 +243,7 @@ class Typer::Visitor : public Reducer { |
| case IrOpcode::k##x: \ |
| return UpdateBounds(node, Type##x(node)); |
| DECLARE_CASE(Start) |
| + DECLARE_CASE(IfException) |
| // VALUE_OP_LIST without JS_SIMPLE_BINOP_LIST: |
| COMMON_OP_LIST(DECLARE_CASE) |
| SIMPLIFIED_OP_LIST(DECLARE_CASE) |
| @@ -254,8 +255,22 @@ class Typer::Visitor : public Reducer { |
| #undef DECLARE_CASE |
| #define DECLARE_CASE(x) case IrOpcode::k##x: |
| + DECLARE_CASE(Dead) |
| + DECLARE_CASE(Loop) |
| + DECLARE_CASE(Branch) |
| + DECLARE_CASE(IfTrue) |
| + DECLARE_CASE(IfFalse) |
| + DECLARE_CASE(IfSuccess) |
| + DECLARE_CASE(Switch) |
| + DECLARE_CASE(IfValue) |
| + DECLARE_CASE(IfDefault) |
| + DECLARE_CASE(Merge) |
| + DECLARE_CASE(Deoptimize) |
| + DECLARE_CASE(Return) |
| + DECLARE_CASE(OsrNormalEntry) |
| + DECLARE_CASE(OsrLoopEntry) |
| + DECLARE_CASE(Throw) |
| DECLARE_CASE(End) |
| - INNER_CONTROL_OP_LIST(DECLARE_CASE) |
|
titzer
2015/03/17 16:11:32
I like expanding the INNER_CONTROL_OP_LIST but can
Michael Starzinger
2015/03/31 11:58:44
Acknowledged. Happy to do that, would it be OK wit
|
| #undef DECLARE_CASE |
| break; |
| } |
| @@ -271,6 +286,7 @@ class Typer::Visitor : public Reducer { |
| #define DECLARE_CASE(x) case IrOpcode::k##x: return Type##x(node); |
| DECLARE_CASE(Start) |
| + DECLARE_CASE(IfException) |
| // VALUE_OP_LIST without JS_SIMPLE_BINOP_LIST: |
| COMMON_OP_LIST(DECLARE_CASE) |
| SIMPLIFIED_OP_LIST(DECLARE_CASE) |
| @@ -282,8 +298,22 @@ class Typer::Visitor : public Reducer { |
| #undef DECLARE_CASE |
| #define DECLARE_CASE(x) case IrOpcode::k##x: |
| + DECLARE_CASE(Dead) |
| + DECLARE_CASE(Loop) |
| + DECLARE_CASE(Branch) |
| + DECLARE_CASE(IfTrue) |
| + DECLARE_CASE(IfFalse) |
| + DECLARE_CASE(IfSuccess) |
| + DECLARE_CASE(Switch) |
| + DECLARE_CASE(IfValue) |
| + DECLARE_CASE(IfDefault) |
| + DECLARE_CASE(Merge) |
| + DECLARE_CASE(Deoptimize) |
| + DECLARE_CASE(Return) |
| + DECLARE_CASE(OsrNormalEntry) |
| + DECLARE_CASE(OsrLoopEntry) |
| + DECLARE_CASE(Throw) |
| DECLARE_CASE(End) |
| - INNER_CONTROL_OP_LIST(DECLARE_CASE) |
| #undef DECLARE_CASE |
| break; |
| } |
| @@ -299,6 +329,7 @@ class Typer::Visitor : public Reducer { |
| #define DECLARE_METHOD(x) inline Bounds Type##x(Node* node); |
| DECLARE_METHOD(Start) |
| + DECLARE_METHOD(IfException) |
| VALUE_OP_LIST(DECLARE_METHOD) |
| #undef DECLARE_METHOD |
| @@ -609,6 +640,11 @@ Bounds Typer::Visitor::TypeStart(Node* node) { |
| } |
| +Bounds Typer::Visitor::TypeIfException(Node* node) { |
| + return Bounds::Unbounded(zone()); |
| +} |
| + |
| + |
| // Common operators. |