Index: src/crankshaft/arm64/lithium-arm64.cc |
diff --git a/src/crankshaft/arm64/lithium-arm64.cc b/src/crankshaft/arm64/lithium-arm64.cc |
index 4f42483d2de78fb5a5f45d7d3a89a3a652427dd1..0e8d7a25339904050dd6c31370687b71b36d6312 100644 |
--- a/src/crankshaft/arm64/lithium-arm64.cc |
+++ b/src/crankshaft/arm64/lithium-arm64.cc |
@@ -934,12 +934,13 @@ LInstruction* LChunkBuilder::DoBranch(HBranch* instr) { |
return new(zone()) LBranch(UseRegister(value), TempRegister(), NULL); |
} |
- ToBooleanICStub::Types expected = instr->expected_input_types(); |
- bool needs_temps = expected.NeedsMap() || expected.IsEmpty(); |
+ ToBooleanHints expected = instr->expected_input_types(); |
+ bool needs_temps = (expected & ToBooleanHint::kNeedsMap) || |
+ expected == ToBooleanHint::kNone; |
LOperand* temp1 = needs_temps ? TempRegister() : NULL; |
LOperand* temp2 = needs_temps ? TempRegister() : NULL; |
- if (expected.IsGeneric() || expected.IsEmpty()) { |
+ if (expected == ToBooleanHint::kAny || expected == ToBooleanHint::kNone) { |
// The generic case cannot deoptimize because it already supports every |
// possible input type. |
DCHECK(needs_temps); |