Index: src/ppc/code-stubs-ppc.cc |
diff --git a/src/ppc/code-stubs-ppc.cc b/src/ppc/code-stubs-ppc.cc |
index 94a2ae070a6b5d406d605b19d273be3019ab6bb3..abcad08f35160815a94ecf827a02e46432dbd5b2 100644 |
--- a/src/ppc/code-stubs-ppc.cc |
+++ b/src/ppc/code-stubs-ppc.cc |
@@ -262,7 +262,7 @@ static void EmitIdenticalObjectComparison(MacroAssembler* masm, Label* slow, |
if (cond == lt || cond == gt) { |
__ CompareObjectType(r3, r7, r7, FIRST_SPEC_OBJECT_TYPE); |
__ bge(slow); |
- __ CompareObjectType(r3, r7, r7, SYMBOL_TYPE); |
+ __ cmpi(r7, Operand(SYMBOL_TYPE)); |
__ beq(slow); |
} else { |
__ CompareObjectType(r3, r7, r7, HEAP_NUMBER_TYPE); |
@@ -271,6 +271,8 @@ static void EmitIdenticalObjectComparison(MacroAssembler* masm, Label* slow, |
if (cond != eq) { |
__ cmpi(r7, Operand(FIRST_SPEC_OBJECT_TYPE)); |
__ bge(slow); |
+ __ cmpi(r7, Operand(SYMBOL_TYPE)); |
+ __ beq(slow); |
// Normally here we fall through to return_equal, but undefined is |
// special: (undefined == undefined) == true, but |
// (undefined <= undefined) == false! See ECMAScript 11.8.5. |