Index: src/compiler/escape-analysis.cc |
diff --git a/src/compiler/escape-analysis.cc b/src/compiler/escape-analysis.cc |
index b1a12b201ee16ac2aa849b4354bdf1a2b01addb0..18ea2db7be9ae4e0940f36c8fcd1e8bf7134b185 100644 |
--- a/src/compiler/escape-analysis.cc |
+++ b/src/compiler/escape-analysis.cc |
@@ -712,6 +712,7 @@ bool EscapeStatusAnalysis::CheckUsesForEscape(Node* uses, Node* rep, |
} |
break; |
case IrOpcode::kSelect: |
+ case IrOpcode::kGuard: |
if (SetEscaped(rep)) { |
TRACE("Setting #%d (%s) to escaped because of use by #%d (%s)\n", |
rep->id(), rep->op()->mnemonic(), use->id(), |
@@ -721,7 +722,8 @@ bool EscapeStatusAnalysis::CheckUsesForEscape(Node* uses, Node* rep, |
break; |
default: |
if (use->op()->EffectInputCount() == 0 && |
- uses->op()->EffectInputCount() > 0) { |
+ uses->op()->EffectInputCount() > 0 && |
+ !IrOpcode::IsJsOpcode(use->opcode())) { |
TRACE("Encountered unaccounted use by #%d (%s)\n", use->id(), |
use->op()->mnemonic()); |
UNREACHABLE(); |