LGTM with comments I find the additional argument for lui and ori somewhat obscure.
http://codereview.chromium.org/7239020/diff/1/src/mips/assembler-mips.cc File src/mips/assembler-mips.cc (right): http://codereview.chromium.org/7239020/diff/1/src/mips/assembler-mips.cc#newcode633 src/mips/assembler-mips.cc:633: ASSERT(IsLui(instr_lui) && IsOri(instr_ori)); IsLui(instr_lui) is not needed in the ASSERT (already covered by the if). http://codereview.chromium.org/7239020/diff/1/src/mips/assembler-mips.cc#newcode685 src/mips/assembler-mips.cc:685: ASSERT(IsLui(instr_lui) && IsOri(instr_ori)); Ditto. http://codereview.chromium.org/7239020/diff/1/src/mips/assembler-mips.cc#newcode1836 src/mips/assembler-mips.cc:1836: ASSERT(IsLui(instr_lui) && IsOri(instr_ori)); Ditto. http://codereview.chromium.org/7239020/diff/1/src/mips/assembler-mips.cc#newcode2000 src/mips/assembler-mips.cc:2000: ori(at, at, (imm32 & kImm16Mask), false); Can't the jr go between the lui and the ori and then the nop can be avoided? http://codereview.chromium.org/7239020/diff/1/src/mips/assembler-mips.h File src/mips/assembler-mips.h (right): http://codereview.chromium.org/7239020/diff/1/src/mips/assembler-mips.h#newcode647 src/mips/assembler-mips.h:647: void ori(Register rd, Register rs, int32_t j, bool check_buffer = true); This boolean flag seems rather obscure - when should it be set to false? http://codereview.chromium.org/7239020/diff/1/src/mips/assembler-mips.h#newcode1121 src/mips/assembler-mips.h:1121: // already a slow case which can possibly break our code generation for for -> for the / in the http://codereview.chromium.org/7239020/diff/1/src/mips/assembler-mips.h#newcode1122 src/mips/assembler-mips.h:1122: // extreme case, we use this information to trigger different mode for for -> of http://codereview.chromium.org/7239020/ -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev