| Index: src/arm/code-stubs-arm.cc
|
| diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc
|
| index a8c374fd1d11595a05148c25ac4233f8477f7ff6..51f490f56359d1f858385a03c00ccd41be82370c 100644
|
| --- a/src/arm/code-stubs-arm.cc
|
| +++ b/src/arm/code-stubs-arm.cc
|
| @@ -3661,13 +3661,15 @@ void CompareICStub::GenerateObjects(MacroAssembler* masm) {
|
|
|
| void CompareICStub::GenerateKnownObjects(MacroAssembler* masm) {
|
| Label miss;
|
| + Handle<WeakCell> cell = Map::WeakCellForMap(known_map_);
|
| __ and_(r2, r1, Operand(r0));
|
| __ JumpIfSmi(r2, &miss);
|
| + __ GetWeakValue(r4, cell);
|
| __ ldr(r2, FieldMemOperand(r0, HeapObject::kMapOffset));
|
| __ ldr(r3, FieldMemOperand(r1, HeapObject::kMapOffset));
|
| - __ cmp(r2, Operand(known_map_));
|
| + __ cmp(r2, r4);
|
| __ b(ne, &miss);
|
| - __ cmp(r3, Operand(known_map_));
|
| + __ cmp(r3, r4);
|
| __ b(ne, &miss);
|
|
|
| __ sub(r0, r0, Operand(r1));
|
|
|