LGTM. This is very complicated stuff. More comments, both on this and on the
parallel ia32 platform, would be welcome.

http://codereview.chromium.org/2801008/diff/10001/11008
File src/x64/macro-assembler-x64.h (right):

http://codereview.chromium.org/2801008/diff/10001/11008#newcode735
src/x64/macro-assembler-x64.h:735: // Tail call a code stub (jump) and
return the code object called.  Try to
Put this declaration in the same place as on ia32, after TailCallStub().

http://codereview.chromium.org/2801008/diff/10001/11008#newcode779
src/x64/macro-assembler-x64.h:779: // ensuring that saved register, it
is not no_reg, is left unchanged.
I don't understand this sentence.  What if it is no_reg?  What if it is
not no_reg?  Does it save it?

http://codereview.chromium.org/2801008/diff/10001/11009
File src/x64/stub-cache-x64.cc (right):

http://codereview.chromium.org/2801008/diff/10001/11009#newcode2219
src/x64/stub-cache-x64.cc:2219: Register other = reg.is(scratch1) ?
scratch2 : scratch1;
What is the benefit of not just using scratch2 always?
OK, I see this is just what is done on ia32.  But maybe it
should be changed there too.

http://codereview.chromium.org/2801008/diff/10001/11009#newcode2259
src/x64/stub-cache-x64.cc:2259: // object.
Do we have guaranteed semantics about whether the callback is called
exactly once, even in the presence of GCs?

http://codereview.chromium.org/2801008/show

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

Reply via email to