| Index: src/arm/lithium-arm.h
|
| diff --git a/src/arm/lithium-arm.h b/src/arm/lithium-arm.h
|
| index 6c4d73af8b2f0c3ef3f826fc082bf091db35a242..2dc24187d70d9ab4dfa685f1f043b8b048ee20dc 100644
|
| --- a/src/arm/lithium-arm.h
|
| +++ b/src/arm/lithium-arm.h
|
| @@ -277,7 +277,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(); }
|
| @@ -1985,8 +1985,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(); }
|
| };
|
|
|
|
|
|
|