LGTM
http://codereview.chromium.org/141032/diff/1/2
File src/x64/assembler-x64.cc (right):
http://codereview.chromium.org/141032/diff/1/2#newcode1197
Line 1197: emit_rex_64(dst);
If REX.W isn't required, we might as well use emit_optional_rex_32(dst)
http://codereview.chromium.org/141032/diff/
http://codereview.chromium.org/141032/diff/1/2
File src/x64/assembler-x64.cc (right):
http://codereview.chromium.org/141032/diff/1/2#newcode1197
Line 1197: emit_rex_64(dst);
On 2009/06/22 07:52:46, Lasse Reichstein wrote:
> If REX.W isn't required, we might as well use
emit_optional_rex_32(dst)
REX without REX.W may be different from no REX at all, but in this case it
isn't. The push/pop operations ignore REX.W, so the REX prefix is only
necessary for high-bits of registers. We use rex_32 for REX with no REX.W,
although it should perhaps be called rex_default_operand_size :).
On Mon, Jun
Correction: It doesn't ignore REX.W, it just happens that default size is 64
bits, and REX.W forces size to 64 bits, so it makes no difference. You could
probably make a difference by combining REX.W with the operand size prefix
(0x66).
On Mon, Jun 22, 2009 at 10:26 AM, Lasse R.H. Nielsen wrote: