| Index: src/ppc/code-stubs-ppc.cc
|
| diff --git a/src/ppc/code-stubs-ppc.cc b/src/ppc/code-stubs-ppc.cc
|
| index 284a0bee81fc19dae342455c8633e66389fd9d68..a32686b0541cb1af117aa87035c9fcd256091212 100644
|
| --- a/src/ppc/code-stubs-ppc.cc
|
| +++ b/src/ppc/code-stubs-ppc.cc
|
| @@ -3729,16 +3729,17 @@ void CompareICStub::GenerateStrings(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -void CompareICStub::GenerateObjects(MacroAssembler* masm) {
|
| - DCHECK(state() == CompareICState::OBJECT);
|
| +void CompareICStub::GenerateReceivers(MacroAssembler* masm) {
|
| + DCHECK_EQ(CompareICState::RECEIVER, state());
|
| Label miss;
|
| __ and_(r5, r4, r3);
|
| __ JumpIfSmi(r5, &miss);
|
|
|
| - __ CompareObjectType(r3, r5, r5, JS_OBJECT_TYPE);
|
| - __ bne(&miss);
|
| - __ CompareObjectType(r4, r5, r5, JS_OBJECT_TYPE);
|
| - __ bne(&miss);
|
| + STATIC_ASSERT(LAST_TYPE == LAST_JS_RECEIVER_TYPE);
|
| + __ CompareObjectType(r3, r5, r5, FIRST_JS_RECEIVER_TYPE);
|
| + __ blt(&miss);
|
| + __ CompareObjectType(r4, r5, r5, FIRST_JS_RECEIVER_TYPE);
|
| + __ blt(&miss);
|
|
|
| DCHECK(GetCondition() == eq);
|
| __ sub(r3, r3, r4);
|
| @@ -3749,7 +3750,7 @@ void CompareICStub::GenerateObjects(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -void CompareICStub::GenerateKnownObjects(MacroAssembler* masm) {
|
| +void CompareICStub::GenerateKnownReceivers(MacroAssembler* masm) {
|
| Label miss;
|
| Handle<WeakCell> cell = Map::WeakCellForMap(known_map_);
|
| __ and_(r5, r4, r3);
|
|
|