The X64 change seems ok to me (without understanding it completely). There is no x64-specific code in it. It's all virtual-frame operations.
http://codereview.chromium.org/487017/diff/8006/10006 File src/x64/codegen-x64.cc (right): http://codereview.chromium.org/487017/diff/8006/10006#newcode1829 src/x64/codegen-x64.cc:1829: // that it doesn't matter whether a value (eg, ebx pushed above) is ebx->rbx http://codereview.chromium.org/487017/diff/8006/10006#newcode2734 src/x64/codegen-x64.cc:2734: frame_->Push(&receiver); Could this be made faster by doing, effectively: pop(tmp) push(Operand(sp)) // aka Dup. mov(Operand(sp,kPointerSize), tmp) It seems like one less operation - but maybe not if the frame is virtual. http://codereview.chromium.org/487017/diff/8006/10006#newcode2958 src/x64/codegen-x64.cc:2958: frame_->Push(&receiver); Again a swap of the top two elements of the frame. Perhaps give the frame a Swap operation. http://codereview.chromium.org/487017 -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
