Index: src/ia32/macro-assembler-ia32.cc |
diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc |
index 04e6cde4ed149da8da2151c0b759936e34ceab9b..9df5cad915a0a615e0510d514c70d19b16893730 100644 |
--- a/src/ia32/macro-assembler-ia32.cc |
+++ b/src/ia32/macro-assembler-ia32.cc |
@@ -69,8 +69,8 @@ void MacroAssembler::RecordWriteHelper(Register object, |
// Compute number of region covering addr. See Page::GetRegionNumberForAddress |
// method for more details. |
- and_(addr, Page::kPageAlignmentMask); |
shr(addr, Page::kRegionSizeLog2); |
+ and_(addr, Page::kPageAlignmentMask >> Page::kRegionSizeLog2); |
// Set dirty mark for region. |
// Bit tests with a memory operand should be avoided on Intel processors, |