MIPS: Changed "marked" nops to use sll(zero_reg, at, type).
authordanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 4 Oct 2012 09:46:50 +0000 (09:46 +0000)
committerdanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 4 Oct 2012 09:46:50 +0000 (09:46 +0000)
commita92a9c8a2c337b0f2963cf0ef32f8ba770260d34
treedbe21f0e1da3bcad11d28ce3ebdfc1d44786c1b9
parenta80f7f42dd24ab7041137ebc8216413482edc9a4
MIPS: Changed "marked" nops to use sll(zero_reg, at, type).

We use marking bits in nops (in the 'sa' field) for debug markers, and for some IC stuff. A normal NOP in mips is sll(zero_reg, zero_reg, 0), where the 0 is a 5 bit immediate field in 'sa'.

See enum NopMarkerTypes at around line 654 of assembler-mips.h

The problem is that these markers use encodings that are reserved for the 'ssnop' and 'ehb' instructions. These are instructions used for hazard barriers.

It does not break anything, but it will slow things down a little bit as some pipeline stages are cleared, etc.

This commit changes the "marked" NOPs to sll(zero_reg, at, type) instructions, which is also a NOP operation on MIPS.

BUG=
TEST=

Review URL: https://codereview.chromium.org/10990110
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/mips/assembler-mips.cc
src/mips/assembler-mips.h