Reviewers: fschneider, Description: Fix stub cache on ARM, broken in 10864.
Please review this at https://chromiumcodereview.appspot.com/9539010/ SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/arm/stub-cache-arm.cc Index: src/arm/stub-cache-arm.cc =================================================================== --- src/arm/stub-cache-arm.cc (revision 10864) +++ src/arm/stub-cache-arm.cc (working copy) @@ -237,7 +237,7 @@ __ mov(scratch, Operand(scratch, LSR, kHeapObjectTagSize)); // Mask down the eor argument to the minimum to keep the immediate // ARM-encodable. - __ eor(scratch, scratch, Operand(flags & mask)); + __ eor(scratch, scratch, Operand((flags >> kHeapObjectTagSize) & mask)); // Prefer and_ to ubfx here because ubfx takes 2 cycles. __ and_(scratch, scratch, Operand(mask)); @@ -255,7 +255,7 @@ // Primary miss: Compute hash for secondary probe. __ sub(scratch, scratch, Operand(name, LSR, kHeapObjectTagSize)); - uint32_t mask2 = (kSecondaryTableSize - 1); + uint32_t mask2 = kSecondaryTableSize - 1; __ add(scratch, scratch, Operand((flags >> kHeapObjectTagSize) & mask2)); __ and_(scratch, scratch, Operand(mask2)); -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
