LGTM, with changes.
http://codereview.chromium.org/293023/diff/5013/4029 File src/x64/assembler-x64.cc (right): http://codereview.chromium.org/293023/diff/5013/4029#newcode1261 Line 1261: emit_rex_32(src, dst); Use emit_optional_rex_32. Ox66 prefix goes before REX. http://codereview.chromium.org/293023/diff/5013/4029#newcode1492 Line 1492: emit_rex_64(dst, src); In fact, this one, that you used as an example, is wrong too, I think. I think we wrote it before we realized how every register write to a 32-bit register zeros out the top 32 bits. http://codereview.chromium.org/293023/diff/5013/4029#newcode1512 Line 1512: emit_rex_64(dst, src); I don't think this is needed. Wouldn't the write to the 32-bit register also zero out the top 32 bits? I think this should be optional_rex_32, and should be the exact same code as movzxwl. In fact, it should just be an inlined call to movzxwl. http://codereview.chromium.org/293023 --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
