Index: src/x87/macro-assembler-x87.cc |
diff --git a/src/x87/macro-assembler-x87.cc b/src/x87/macro-assembler-x87.cc |
index 9ffbf9f34b20d6e4265fd1e3ab3939d70c3cd90f..7e9533f48be9188c3d69c56075a680b7201faef9 100644 |
--- a/src/x87/macro-assembler-x87.cc |
+++ b/src/x87/macro-assembler-x87.cc |
@@ -2120,7 +2120,9 @@ void MacroAssembler::CallRuntime(const Runtime::Function* f, int num_arguments, |
// arguments passed in because it is constant. At some point we |
// should remove this need and make the runtime routine entry code |
// smarter. |
- Move(eax, Immediate(num_arguments)); |
+ if (num_arguments >= 0) { |
+ Move(eax, Immediate(num_arguments)); |
+ } |
mov(ebx, Immediate(ExternalReference(f, isolate()))); |
CEntryStub ces(isolate(), 1, save_doubles); |
CallStub(&ces); |