From 170e1c4e601d1861635ae5db2cfcff7b3704ce25 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Wed, 9 May 2012 10:14:54 +0200 Subject: [PATCH] Fix regression in custom object comparison on arm When the "Add custom object compare callback" patch was rebased on top of V8 3.10.1, a regression was introduced; the kUseUserObjectComparison flag was fetched from the wrong location. With this fix, tst_v8::userobjectcompare() passes again on arm. Change-Id: I7f0dc2cc9d077b2018facb413dbe7a119dd9de5f Reviewed-by: Peter Varga Reviewed-by: Simon Hausmann --- src/3rdparty/v8/src/arm/code-stubs-arm.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/3rdparty/v8/src/arm/code-stubs-arm.cc b/src/3rdparty/v8/src/arm/code-stubs-arm.cc index 136d4ab..dd13f88 100644 --- a/src/3rdparty/v8/src/arm/code-stubs-arm.cc +++ b/src/3rdparty/v8/src/arm/code-stubs-arm.cc @@ -6810,14 +6810,14 @@ void ICCompareStub::GenerateKnownObjects(MacroAssembler* masm) { __ ldr(r3, FieldMemOperand(r1, HeapObject::kMapOffset)); __ cmp(r2, Operand(known_map_)); __ b(ne, &miss); - __ ldrb(r2, FieldMemOperand(r0, Map::kBitField2Offset)); + __ ldrb(r2, FieldMemOperand(r2, Map::kBitField2Offset)); __ and_(r2, r2, Operand(1 << Map::kUseUserObjectComparison)); __ cmp(r2, Operand(1 << Map::kUseUserObjectComparison)); __ b(eq, &miss); __ cmp(r3, Operand(known_map_)); __ b(ne, &miss); - __ ldrb(r3, FieldMemOperand(r1, Map::kBitField2Offset)); - __ and_(r3, r2, Operand(1 << Map::kUseUserObjectComparison)); + __ ldrb(r3, FieldMemOperand(r3, Map::kBitField2Offset)); + __ and_(r3, r3, Operand(1 << Map::kUseUserObjectComparison)); __ cmp(r3, Operand(1 << Map::kUseUserObjectComparison)); __ b(eq, &miss); -- 2.7.4