Chromium Code Reviews| Index: src/arm/macro-assembler-arm.cc |
| =================================================================== |
| --- src/arm/macro-assembler-arm.cc (revision 10969) |
| +++ src/arm/macro-assembler-arm.cc (working copy) |
| @@ -3710,14 +3710,25 @@ |
| } |
|
fschneider
2012/03/28 09:59:18
#ifdef DEBUG
Alexandre
2012/03/28 16:27:38
Done.
|
| -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; |
| +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; |
| } |
|
fschneider
2012/03/28 09:59:18
#endif // DEBUG
Alexandre
2012/03/28 16:27:38
Done.
|