Addressed comments

http://codereview.chromium.org/165443/diff/42/1014
File src/x64/assembler-x64.cc (right):

http://codereview.chromium.org/165443/diff/42/1014#newcode449
Line 449: void Assembler::arithmetic_op_16(byte opcode, Register dst,
Register src) {
Done

http://codereview.chromium.org/165443/diff/42/1014#newcode814
Line 814: emit(0x3c);
Most likely :)

http://codereview.chromium.org/165443/diff/42/1015
File src/x64/assembler-x64.h (right):

http://codereview.chromium.org/165443/diff/42/1015#newcode543
Line 543: arithmetic_op_32(0x02, src, dst);
Well spotted.

http://codereview.chromium.org/165443/diff/42/1015#newcode588
Line 588: arithmetic_op(0x38, dst, src);
I should do it for all of them, eventually. The addl one was just a
trial to see how much work it was.
I'll leave a general change for another update.

http://codereview.chromium.org/165443/diff/42/1015#newcode600
Line 600: immediate_arithmetic_op_8(0x7, dst, src);
This one has an operand as destination, so it won't be al.
If there was a register version, it should probably check for al.

There is a tension here between making an optimizing assembler (picking
the most efficient opcode that does the same thing) and an exact
assembler (does exactly what it's told). The latter can be important if
one is creating code that must have a specific length or other known
code qualities (i.e., something might break if we change the length of
an operation), whereas the former is obviously easier to use to just
write code to run.

http://codereview.chromium.org/165443/diff/42/1015#newcode1193
Line 1193: void arithmetic_op_32(byte opcode, Register dst, Register
src);
Done.

http://codereview.chromium.org/165443/diff/42/1016
File src/x64/regexp-macro-assembler-x64.cc (right):

http://codereview.chromium.org/165443/diff/42/1016#newcode68
Line 68: *    - stack_area_top        (High end of the memory area to
use as
Changed to "base".

http://codereview.chromium.org/165443/diff/42/1016#newcode95
Line 95: * Entry code will ensure that the values are stored correctly
if passed in
Removed final sentence and the "e.g.".
This is how you must call the code (and yes, calling convention depends
on platform and abi).

http://codereview.chromium.org/165443/diff/42/1016#newcode227
Line 227: // TODO(lrn): Test multiple characters at a time by loading 4
or 8 bytes
Done.

http://codereview.chromium.org/165443/diff/42/1016#newcode329
Line 329: #ifdef WIN64
They should probably just be removed, as they are the other places where
we call C++ code. It'll even make for tighter code on Windows.

http://codereview.chromium.org/165443

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to