Index: src/arm/macro-assembler-arm.cc |
=================================================================== |
--- src/arm/macro-assembler-arm.cc (revision 11426) |
+++ src/arm/macro-assembler-arm.cc (working copy) |
@@ -3710,15 +3710,28 @@ |
} |
-bool AreAliased(Register r1, Register r2, Register r3, Register r4) { |
- if (r1.is(r2)) return true; |
- if (r1.is(r3)) return true; |
- if (r1.is(r4)) return true; |
- if (r2.is(r3)) return true; |
- if (r2.is(r4)) return true; |
- if (r3.is(r4)) return true; |
- return false; |
+#ifdef DEBUG |
+bool AreAliased(Register reg1, |
+ Register reg2, |
+ Register reg3, |
+ Register reg4, |
+ Register reg5, |
+ Register reg6) { |
+ int n_of_valid_regs = reg1.is_valid() + reg2.is_valid() + |
+ reg3.is_valid() + reg4.is_valid() + reg5.is_valid() + reg6.is_valid(); |
+ |
+ RegList regs = 0; |
+ if (reg1.is_valid()) regs |= reg1.bit(); |
+ if (reg2.is_valid()) regs |= reg2.bit(); |
+ if (reg3.is_valid()) regs |= reg3.bit(); |
+ if (reg4.is_valid()) regs |= reg4.bit(); |
+ if (reg5.is_valid()) regs |= reg5.bit(); |
+ if (reg6.is_valid()) regs |= reg6.bit(); |
+ int n_of_non_aliasing_regs = NumRegs(regs); |
+ |
+ return n_of_valid_regs != n_of_non_aliasing_regs; |
} |
+#endif |
CodePatcher::CodePatcher(byte* address, int instructions) |