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