| Index: src/x64/macro-assembler-x64.cc
|
| diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc
|
| index 69abc5454f0eea0a4287ed0ca1bca3844e7049da..dd38d8fd0bd1e8a4b9383b30d418906043d11a0d 100644
|
| --- a/src/x64/macro-assembler-x64.cc
|
| +++ b/src/x64/macro-assembler-x64.cc
|
| @@ -605,11 +605,15 @@ void MacroAssembler::IndexFromHash(Register hash, Register index) {
|
| }
|
|
|
|
|
| -void MacroAssembler::CallRuntime(Runtime::FunctionId id, int num_arguments) {
|
| - CallRuntime(Runtime::FunctionForId(id), num_arguments);
|
| +void MacroAssembler::CallRuntime(Runtime::FunctionId fid,
|
| + int num_arguments,
|
| + SaveFPRegsMode save_doubles) {
|
| + CallRuntime(Runtime::FunctionForId(fid), num_arguments, save_doubles);
|
| }
|
|
|
|
|
| +
|
| +
|
| void MacroAssembler::CallRuntimeSaveDoubles(Runtime::FunctionId id) {
|
| const Runtime::Function* function = Runtime::FunctionForId(id);
|
| Set(rax, function->nargs);
|
| @@ -620,7 +624,8 @@ void MacroAssembler::CallRuntimeSaveDoubles(Runtime::FunctionId id) {
|
|
|
|
|
| void MacroAssembler::CallRuntime(const Runtime::Function* f,
|
| - int num_arguments) {
|
| + int num_arguments,
|
| + SaveFPRegsMode save_doubles) {
|
| // If the expected number of arguments of the runtime function is
|
| // constant, we check that the actual number of arguments match the
|
| // expectation.
|
| @@ -635,7 +640,7 @@ void MacroAssembler::CallRuntime(const Runtime::Function* f,
|
| // smarter.
|
| Set(rax, num_arguments);
|
| LoadAddress(rbx, ExternalReference(f, isolate()));
|
| - CEntryStub ces(f->result_size);
|
| + CEntryStub ces(f->result_size, save_doubles);
|
| CallStub(&ces);
|
| }
|
|
|
|
|