Index: src/ppc/code-stubs-ppc.cc |
diff --git a/src/ppc/code-stubs-ppc.cc b/src/ppc/code-stubs-ppc.cc |
index 573893dab734b78fa8f00af32ff2e90c1457b9aa..86a5b3947e0baa6f64ced2adee25c8757bb372da 100644 |
--- a/src/ppc/code-stubs-ppc.cc |
+++ b/src/ppc/code-stubs-ppc.cc |
@@ -707,26 +707,22 @@ void CompareICStub::GenerateGeneric(MacroAssembler* masm) { |
__ Push(lhs, rhs); |
// Figure out which native to call and setup the arguments. |
- if (cc == eq && strict()) { |
- __ TailCallRuntime(Runtime::kStrictEquals, 2, 1); |
+ if (cc == eq) { |
+ __ TailCallRuntime(strict() ? Runtime::kStrictEquals : Runtime::kEquals, 2, |
+ 1); |
} else { |
- int context_index; |
- if (cc == eq) { |
- context_index = Context::EQUALS_BUILTIN_INDEX; |
+ int context_index = is_strong(strength()) |
+ ? Context::COMPARE_STRONG_BUILTIN_INDEX |
+ : Context::COMPARE_BUILTIN_INDEX; |
+ int ncr; // NaN compare result |
+ if (cc == lt || cc == le) { |
+ ncr = GREATER; |
} else { |
- context_index = is_strong(strength()) |
- ? Context::COMPARE_STRONG_BUILTIN_INDEX |
- : Context::COMPARE_BUILTIN_INDEX; |
- int ncr; // NaN compare result |
- if (cc == lt || cc == le) { |
- ncr = GREATER; |
- } else { |
- DCHECK(cc == gt || cc == ge); // remaining cases |
- ncr = LESS; |
- } |
- __ LoadSmiLiteral(r3, Smi::FromInt(ncr)); |
- __ push(r3); |
+ DCHECK(cc == gt || cc == ge); // remaining cases |
+ ncr = LESS; |
} |
+ __ LoadSmiLiteral(r3, Smi::FromInt(ncr)); |
+ __ push(r3); |
// Call the native; it returns -1 (less), 0 (equal), or 1 (greater) |
// tagged as a small integer. |