| Index: src/compiler/js-typed-lowering.cc
|
| diff --git a/src/compiler/js-typed-lowering.cc b/src/compiler/js-typed-lowering.cc
|
| index ad03b10e14a1894e567f1f6a46c4e13fbac342e1..eb752483fcc4f5512819efa396f059b4e63b6841 100644
|
| --- a/src/compiler/js-typed-lowering.cc
|
| +++ b/src/compiler/js-typed-lowering.cc
|
| @@ -1348,8 +1348,14 @@ Reduction JSTypedLowering::ReduceJSForInPrepare(Node* node) {
|
| Revisit(use);
|
| } else {
|
| if (NodeProperties::IsControlEdge(edge)) {
|
| - DCHECK_EQ(IrOpcode::kIfSuccess, use->opcode());
|
| - Replace(use, control);
|
| + if (use->opcode() == IrOpcode::kIfSuccess) {
|
| + Replace(use, control);
|
| + } else if (use->opcode() == IrOpcode::kIfException) {
|
| + edge.UpdateTo(cache_type_true0);
|
| + continue;
|
| + } else {
|
| + UNREACHABLE();
|
| + }
|
| } else {
|
| DCHECK(NodeProperties::IsValueEdge(edge));
|
| DCHECK_EQ(IrOpcode::kProjection, use->opcode());
|
|
|