| Index: src/mips/assembler-mips.h
|
| diff --git a/src/mips/assembler-mips.h b/src/mips/assembler-mips.h
|
| index 71637701785e84f4dddaa95524855f84c4cbfb24..ee4daadf1243c584329aa60376636b034b2521a7 100644
|
| --- a/src/mips/assembler-mips.h
|
| +++ b/src/mips/assembler-mips.h
|
| @@ -663,10 +663,13 @@ class Assembler : public AssemblerBase {
|
| FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED
|
| };
|
|
|
| - // Type == 0 is the default non-marking type.
|
| + // Type == 0 is the default non-marking nop. For mips this is a
|
| + // sll(zero_reg, zero_reg, 0). We use rt_reg == at for non-zero
|
| + // marking, to avoid conflict with ssnop and ehb instructions.
|
| void nop(unsigned int type = 0) {
|
| ASSERT(type < 32);
|
| - sll(zero_reg, zero_reg, type, true);
|
| + Register nop_rt_reg = (type == 0) ? zero_reg : at;
|
| + sll(zero_reg, nop_rt_reg, type, true);
|
| }
|
|
|
|
|
|
|