[v8-dev] Re: X64 implementation: Add high_bit() and low_bits() to register methods.

2009-06-22 Thread lrn
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/

[v8-dev] Re: X64 implementation: Add high_bit() and low_bits() to register methods.

2009-06-22 Thread whesse
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)

[v8-dev] Re: X64 implementation: Add high_bit() and low_bits() to register methods.

2009-06-22 Thread Lasse R.H. Nielsen
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

[v8-dev] Re: X64 implementation: Add high_bit() and low_bits() to register methods.

2009-06-22 Thread Lasse R.H. Nielsen
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: