 Chromium Code Reviews
 Chromium Code Reviews Issue 1553703002:
  [runtime] TailCallRuntime and CallRuntime should use default argument counts  (Closed) 
  Base URL: https://chromium.googlesource.com/v8/v8.git@2015-12-29_TailCallRuntime_default_result_size_1_1550923002
    
  
    Issue 1553703002:
  [runtime] TailCallRuntime and CallRuntime should use default argument counts  (Closed) 
  Base URL: https://chromium.googlesource.com/v8/v8.git@2015-12-29_TailCallRuntime_default_result_size_1_1550923002| 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())); | 
| } |