MIPS: Lazily save double registers for HCallRuntime instructions within Hydrogen...
authorplind44@gmail.com <plind44@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 1 Oct 2013 19:03:47 +0000 (19:03 +0000)
committerplind44@gmail.com <plind44@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 1 Oct 2013 19:03:47 +0000 (19:03 +0000)
commite98e7c9f41475a63e1d5c0a2e43680e699c58734
tree3bff2a53182dae52bf6071189d40336ae4091251
parent05c62c2e9878dc094105f8c16350767aae3359f7
MIPS: Lazily save double registers for HCallRuntime instructions within Hydrogen code stubs.

Port r17044 (94843cc)

Original commit message:
Right now we eagerly save all allocatable double registers upon
entry to every Hydrogen code stub that uses HCallRuntime, and
restore them when we return. Since the HCallRuntime is on the
fallback path for code stubs, this is both a waste of time and
stack space in almost every case.

This patch adds a flag to the HCallRuntime, which controls whether
the instruction saves the double register itself (using the save
doubles flag for the CEntryStub), or whether its up the surrounding
code to handle the clobbering of double registers.

BUG=
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/25567002

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/mips/lithium-codegen-mips.cc
src/mips/lithium-codegen-mips.h
src/mips/lithium-mips.cc
src/mips/lithium-mips.h
src/mips/macro-assembler-mips.cc
src/mips/macro-assembler-mips.h