This is going in the right direction, but please see the naming issue in
comments below. You will have to modify code-generator-xxx for all arch's.


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() {
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()

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;
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.

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;
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.

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.
I think the ppc callee saved are d14-d31.However, I have doubt, as they
are not saved in JSEntryStub.

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: }
Per JSEntryStub, xmm6 thru xmm15 are callee-saved, but _only_ on WIN64.

https://codereview.chromium.org/1191513003/

--
--
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.

Reply via email to