Index: src/full-codegen/ppc/full-codegen-ppc.cc |
diff --git a/src/full-codegen/ppc/full-codegen-ppc.cc b/src/full-codegen/ppc/full-codegen-ppc.cc |
index a5d4849c9362f7594ffbc85acb7ae9bdcfa5a949..24a2a387331f4920ec756fbee8d071e712b1b714 100644 |
--- a/src/full-codegen/ppc/full-codegen-ppc.cc |
+++ b/src/full-codegen/ppc/full-codegen-ppc.cc |
@@ -4031,11 +4031,10 @@ |
__ cmp(r3, r4); |
Split(eq, if_true, if_false, fall_through); |
} else { |
- __ JumpIfSmi(r3, if_false); |
- __ LoadP(r3, FieldMemOperand(r3, HeapObject::kMapOffset)); |
- __ lbz(r4, FieldMemOperand(r3, Map::kBitFieldOffset)); |
- __ andi(r0, r4, Operand(1 << Map::kIsUndetectable)); |
- Split(ne, if_true, if_false, fall_through, cr0); |
+ Handle<Code> ic = CompareNilICStub::GetUninitialized(isolate(), nil); |
+ CallIC(ic, expr->CompareOperationFeedbackId()); |
+ __ CompareRoot(r3, Heap::kTrueValueRootIndex); |
+ Split(eq, if_true, if_false, fall_through); |
} |
context()->Plug(if_true, if_false); |
} |