Why don't you load it directly into r3 and change the first and to be and_(r1, r3, Operand(kIsNotStringMask))?
On Mon, Oct 27, 2008 at 2:54 PM, <[EMAIL PROTECTED]> wrote: > > Reviewers: Mads Ager, > > Description: > Fix mistake in ARM version of string length stub. > > Please review this at http://codereview.chromium.org/8193 > > SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ > > Affected files: > M src/ic-arm.cc > > > Index: src/ic-arm.cc > =================================================================== > --- src/ic-arm.cc (revision 605) > +++ src/ic-arm.cc (working copy) > @@ -174,12 +174,13 @@ > // Check that the object is a string. > __ ldr(r1, FieldMemOperand(r0, HeapObject::kMapOffset)); > __ ldrb(r1, FieldMemOperand(r1, Map::kInstanceTypeOffset)); > + __ mov(r3, Operand(r1)); > __ and_(r1, r1, Operand(kIsNotStringMask)); > // The cast is to resolve the overload for the argument of 0x0. > __ cmp(r1, Operand(static_cast<int32_t>(kStringTag))); > __ b(ne, &miss); > > - __ and_(r1, r1, Operand(kStringSizeMask)); > + __ and_(r1, r3, Operand(kStringSizeMask)); > __ add(r1, r1, Operand(String::kHashShift)); > // Load length directly from the string. > __ ldr(r0, FieldMemOperand(r0, String::kLengthOffset)); > > > > > > --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
