| Index: src/ia32/macro-assembler-ia32.cc
|
| diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc
|
| index 8276bc1fbc9ea284c453a80995a52d2bdcefda67..e9920b530c06923029570e830f0e793aa29d6877 100644
|
| --- a/src/ia32/macro-assembler-ia32.cc
|
| +++ b/src/ia32/macro-assembler-ia32.cc
|
| @@ -3043,15 +3043,33 @@ void MacroAssembler::CallCFunction(Register function,
|
| }
|
|
|
|
|
| -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,
|
| + Register reg7,
|
| + Register reg8) {
|
| + int n_of_valid_regs = reg1.is_valid() + reg2.is_valid() +
|
| + reg3.is_valid() + reg4.is_valid() + reg5.is_valid() + reg6.is_valid() +
|
| + reg7.is_valid() + reg8.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();
|
| + if (reg7.is_valid()) regs |= reg7.bit();
|
| + if (reg8.is_valid()) regs |= reg8.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 size)
|
|
|