Index: src/mips/macro-assembler-mips.cc |
diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc |
index ebad6d63092b3c1f1ec283f73dcb5f0cef09523a..dab28d6283a0abdd676ee875eed476f85ae5b91b 100644 |
--- a/src/mips/macro-assembler-mips.cc |
+++ b/src/mips/macro-assembler-mips.cc |
@@ -4521,20 +4521,13 @@ void MacroAssembler::CallExternalReference(const ExternalReference& ext, |
} |
-void MacroAssembler::TailCallExternalReference(const ExternalReference& ext, |
- int num_arguments) { |
- // TODO(1236192): Most runtime routines don't need the number of |
- // arguments passed in because it is constant. At some point we |
- // should remove this need and make the runtime routine entry code |
- // smarter. |
- PrepareCEntryArgs(num_arguments); |
- JumpToExternalReference(ext); |
-} |
- |
- |
-void MacroAssembler::TailCallRuntime(Runtime::FunctionId fid, |
- int num_arguments) { |
- TailCallExternalReference(ExternalReference(fid, isolate()), num_arguments); |
+void MacroAssembler::TailCallRuntime(Runtime::FunctionId fid) { |
+ const Runtime::Function* function = Runtime::FunctionForId(fid); |
+ DCHECK_EQ(1, function->result_size); |
+ if (function->nargs >= 0) { |
Igor Sheludko
2015/12/30 14:48:17
The TODO comment seems to be still relevant. Pleas
|
+ PrepareCEntryArgs(function->nargs); |
+ } |
+ JumpToExternalReference(ExternalReference(fid, isolate())); |
} |