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 -~----------~----~----~----~------~----~------~--~---
