| Index: src/compiler/escape-analysis-reducer.cc
|
| diff --git a/src/compiler/escape-analysis-reducer.cc b/src/compiler/escape-analysis-reducer.cc
|
| index 1e02591bcadf07bc2c662c9aabe2d99b053b2d25..df8b65dab2e336b23bf1a695d37f3d43cac6ef27 100644
|
| --- a/src/compiler/escape-analysis-reducer.cc
|
| +++ b/src/compiler/escape-analysis-reducer.cc
|
| @@ -246,7 +246,14 @@ Node* EscapeAnalysisReducer::ReduceStateValueInputs(Node* node, Node* effect,
|
| DCHECK_NOT_NULL(effect);
|
| Node* clone = nullptr;
|
| for (int i = 0; i < node->op()->ValueInputCount(); ++i) {
|
| - if (Node* ret = ReduceStateValueInput(node, i, effect, multiple_users)) {
|
| + Node* input = NodeProperties::GetValueInput(node, i);
|
| + Node* ret = nullptr;
|
| + if (input->opcode() == IrOpcode::kStateValues) {
|
| + ret = ReduceStateValueInputs(input, effect, multiple_users);
|
| + } else {
|
| + ret = ReduceStateValueInput(node, i, effect, multiple_users);
|
| + }
|
| + if (ret) {
|
| node = ret;
|
| DCHECK_NULL(clone);
|
| clone = ret;
|
|
|