Reviewers: paul.l...,
Message:
Thanks for the review, I've uploaded the ports (except PPC). PTAL. Testing
is in
progress.
https://codereview.chromium.org/1191513003/diff/1/src/compiler/arm/linkage-arm.cc
File src/compiler/arm/linkage-arm.cc (right):
https://codereview.chromium.org/1191513003/diff/1/src/compiler/arm/linkage-arm.cc#newcode26
src/compiler/arm/linkage-arm.cc:26: static RegList
CCalleeSaveFPURegisters() {
On 2015/06/15 23:05:16, paul.l... wrote:
We should not use FPU in the names, that is MIPS specific. I first was
thinking
CCalleeSaveDoubleRegisters(), as that is very generic. However, arm64
uses 'FP',
and I like that, plus the names don't get insanely long:
CCalleeSaveFPRegisters()
Done.
https://codereview.chromium.org/1191513003/diff/1/src/compiler/arm64/linkage-arm64.cc
File src/compiler/arm64/linkage-arm64.cc (right):
https://codereview.chromium.org/1191513003/diff/1/src/compiler/arm64/linkage-arm64.cc#newcode28
src/compiler/arm64/linkage-arm64.cc:28: return 0;
On 2015/06/15 23:05:17, paul.l... wrote:
arm64 has CPURegList::GetCallerSaved() & CPURegList::GetCallerSavedFP,
and they
also have MacroAssembler::PushCPURegList(). You'll want to be careful
that
whatever methods you use for save/restore are no slower than the
stp/ldp
(register pair) operations that they use in the existing TF code.
OK, I'm generating the same stp/ldp code.
https://codereview.chromium.org/1191513003/diff/1/src/compiler/mips/code-generator-mips.cc
File src/compiler/mips/code-generator-mips.cc (right):
https://codereview.chromium.org/1191513003/diff/1/src/compiler/mips/code-generator-mips.cc#newcode1071
src/compiler/mips/code-generator-mips.cc:1071: register_save_area_size
+= kPointerSize;
On 2015/06/15 23:05:17, paul.l... wrote:
Rather than computing this, use kNumCalleeSaved + kNumCallSavedFPU
(from
frames-mips.h) if that is included here. Else maybe move it as a
function into
macro-assem, so we can avoid this for loop. Same below.
Done.
https://codereview.chromium.org/1191513003/diff/1/src/compiler/ppc/linkage-ppc.cc
File src/compiler/ppc/linkage-ppc.cc (right):
https://codereview.chromium.org/1191513003/diff/1/src/compiler/ppc/linkage-ppc.cc#newcode29
src/compiler/ppc/linkage-ppc.cc:29: // TODO(palfia): finish.
On 2015/06/15 23:05:17, paul.l... wrote:
I think the ppc callee saved are d14-d31.However, I have doubt, as
they are not
saved in JSEntryStub.
Acknowledged.
https://codereview.chromium.org/1191513003/diff/1/src/compiler/x64/linkage-x64.cc
File src/compiler/x64/linkage-x64.cc (right):
https://codereview.chromium.org/1191513003/diff/1/src/compiler/x64/linkage-x64.cc#newcode39
src/compiler/x64/linkage-x64.cc:39: }
On 2015/06/15 23:05:17, paul.l... wrote:
Per JSEntryStub, xmm6 thru xmm15 are callee-saved, but _only_ on
WIN64.
Done.
Description:
[turbofan] Add CalleeSavedFPURegisters to CallDescriptor.
This change makes possible to save and restore the FPU registers
in the Prologue and Return parts for the CallAddress kind functions.
TEST=test-simplified-lowering/RunNumberDivide_2_TruncatingToUint32,
test-simplified-lowering/RunNumberMultiply_TruncatingToUint32
BUG=
Please review this at https://codereview.chromium.org/1191513003/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+241, -48 lines):
M src/compiler/arm/code-generator-arm.cc
M src/compiler/arm/linkage-arm.cc
M src/compiler/arm64/code-generator-arm64.cc
M src/compiler/arm64/linkage-arm64.cc
M src/compiler/ia32/linkage-ia32.cc
M src/compiler/linkage.h
M src/compiler/linkage-impl.h
M src/compiler/mips/code-generator-mips.cc
M src/compiler/mips/linkage-mips.cc
M src/compiler/mips64/code-generator-mips64.cc
M src/compiler/mips64/linkage-mips64.cc
M src/compiler/ppc/linkage-ppc.cc
M src/compiler/x64/code-generator-x64.cc
M src/compiler/x64/linkage-x64.cc
M test/unittests/compiler/tail-call-optimization-unittest.cc
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.