Index: src/x64/macro-assembler-x64.cc |
diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc |
index 64c2ec8f3bac642c6f0136fde8476fdc326b9364..fd6ef769afba7ee439b701d016e74b561161b3f7 100644 |
--- a/src/x64/macro-assembler-x64.cc |
+++ b/src/x64/macro-assembler-x64.cc |
@@ -703,7 +703,9 @@ void MacroAssembler::CallRuntime(const Runtime::Function* f, |
// arguments passed in because it is constant. At some point we |
// should remove this need and make the runtime routine entry code |
// smarter. |
- Set(rax, num_arguments); |
+ if (num_arguments >= 0) { |
+ Set(rax, num_arguments); |
+ } |
LoadAddress(rbx, ExternalReference(f, isolate())); |
CEntryStub ces(isolate(), f->result_size, save_doubles); |
CallStub(&ces); |