| Index: src/mips/lithium-mips.h
|
| diff --git a/src/mips/lithium-mips.h b/src/mips/lithium-mips.h
|
| index a48422eecf5e4e132afd1e2c4fb3f340286c3573..71360bda299f5e61a6d4aea12e2bf17dfd85ebf3 100644
|
| --- a/src/mips/lithium-mips.h
|
| +++ b/src/mips/lithium-mips.h
|
| @@ -274,7 +274,7 @@ class LInstruction : public ZoneObject {
|
| // Interface to the register allocator and iterators.
|
| bool ClobbersTemps() const { return IsCall(); }
|
| bool ClobbersRegisters() const { return IsCall(); }
|
| - bool ClobbersDoubleRegisters() const { return IsCall(); }
|
| + virtual bool ClobbersDoubleRegisters() const { return IsCall(); }
|
|
|
| // Interface to the register allocator and iterators.
|
| bool IsMarkedAsCall() const { return IsCall(); }
|
| @@ -1963,8 +1963,13 @@ class LCallRuntime V8_FINAL : public LTemplateInstruction<1, 0, 0> {
|
| DECLARE_CONCRETE_INSTRUCTION(CallRuntime, "call-runtime")
|
| DECLARE_HYDROGEN_ACCESSOR(CallRuntime)
|
|
|
| + virtual bool ClobbersDoubleRegisters() const V8_OVERRIDE {
|
| + return save_doubles() == kDontSaveFPRegs;
|
| + }
|
| +
|
| const Runtime::Function* function() const { return hydrogen()->function(); }
|
| int arity() const { return hydrogen()->argument_count(); }
|
| + SaveFPRegsMode save_doubles() const { return hydrogen()->save_doubles(); }
|
| };
|
|
|
|
|
|
|