http://codereview.chromium.org/598072/diff/8001/8003
File src/ia32/macro-assembler-ia32.cc (right):

http://codereview.chromium.org/598072/diff/8001/8003#newcode1168
src/ia32/macro-assembler-ia32.cc:1168: //   ret addr (if tail call)
I suggest encapsulating this in PrepareCallCFunction/CallCFunction in
the macro assembler as on x64 and use these in the RegExp macro
assembler. That could be done as a separate commit before this.

http://codereview.chromium.org/598072/diff/8001/8003#newcode1211
src/ia32/macro-assembler-ia32.cc:1211:
call(FUNCTION_ADDR(ExternalReference(f).address()),
RelocInfo::RUNTIME_ENTRY);
Please add a comment saying that we are only performing a semi tail call
as we need to copy the arguments for alignment. On Windows 32-bit we
could consider cheating as the 8 byte alignment set in platform-win is
not strictly required. We could measure this after this is done.

http://codereview.chromium.org/598072/diff/8001/8004
File src/ia32/macro-assembler-ia32.h (right):

http://codereview.chromium.org/598072/diff/8001/8004#newcode369
src/ia32/macro-assembler-ia32.h:369: // Tail call of a runtime routine
(jump).
This comment needs to be changed as well.

http://codereview.chromium.org/598072/diff/8001/8011
File src/x64/macro-assembler-x64.cc (right):

http://codereview.chromium.org/598072/diff/8001/8011#newcode405
src/x64/macro-assembler-x64.cc:405: // A expected to be put into the
registers in order of Register
This comment seems a bit broken.

http://codereview.chromium.org/598072/diff/8001/8013
File src/x64/macro-assembler-x64.h (right):

http://codereview.chromium.org/598072/diff/8001/8013#newcode44
src/x64/macro-assembler-x64.h:44: static const RegList kCCallerSaved =
Can't we use Register.bit here (e.g. rax.bit())?

http://codereview.chromium.org/598072/diff/8001/8012
File src/x64/virtual-frame-x64.cc (right):

http://codereview.chromium.org/598072/diff/8001/8012#newcode982
src/x64/virtual-frame-x64.cc:982: Forget(arg_count);
On ia32 this threw and exception?

http://codereview.chromium.org/598072/diff/8001/8012#newcode985
src/x64/virtual-frame-x64.cc:985:
This is more or less a duplication of what is in macro assembler
CallRuntime. Why is that? I think you should start by just spilling all
registers. And then optimizing for calee saved registers later.

http://codereview.chromium.org/598072

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

Reply via email to