| Index: runtime/vm/intermediate_language_x64.cc
 | 
| diff --git a/runtime/vm/intermediate_language_x64.cc b/runtime/vm/intermediate_language_x64.cc
 | 
| index 930ace149f1a5932f7b5b079eedd06f45c075df2..c403dae9b3f96a0908e8ed68d007fb91a1e0a86c 100644
 | 
| --- a/runtime/vm/intermediate_language_x64.cc
 | 
| +++ b/runtime/vm/intermediate_language_x64.cc
 | 
| @@ -910,11 +910,12 @@ LocationSummary* StringInterpolateInstr::MakeLocationSummary(Zone* zone,
 | 
|  void StringInterpolateInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
 | 
|    Register array = locs()->in(0).reg();
 | 
|    __ pushq(array);
 | 
| +  const int kTypeArgsLen = 0;
 | 
|    const int kNumberOfArguments = 1;
 | 
|    const Array& kNoArgumentNames = Object::null_array();
 | 
| +  ArgumentsInfo args_info(kTypeArgsLen, kNumberOfArguments, kNoArgumentNames);
 | 
|    compiler->GenerateStaticCall(deopt_id(), token_pos(), CallFunction(),
 | 
| -                               kNumberOfArguments, kNoArgumentNames, locs(),
 | 
| -                               ICData::Handle());
 | 
| +                               args_info, locs(), ICData::Handle());
 | 
|    ASSERT(locs()->out(0).reg() == RAX);
 | 
|  }
 | 
|  
 | 
| @@ -5325,17 +5326,17 @@ void DoubleToIntegerInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
 | 
|    __ SmiTag(result);
 | 
|    __ jmp(&done);
 | 
|    __ Bind(&do_call);
 | 
| +  __ pushq(value_obj);
 | 
|    ASSERT(instance_call()->HasICData());
 | 
|    const ICData& ic_data = *instance_call()->ic_data();
 | 
|    ASSERT(ic_data.NumberOfChecksIs(1));
 | 
|    const Function& target = Function::ZoneHandle(ic_data.GetTargetAt(0));
 | 
| -
 | 
| -  const intptr_t kNumberOfArguments = 1;
 | 
| -  __ pushq(value_obj);
 | 
| +  const int kTypeArgsLen = 0;
 | 
| +  const int kNumberOfArguments = 1;
 | 
| +  const Array& kNoArgumentNames = Object::null_array();
 | 
| +  ArgumentsInfo args_info(kTypeArgsLen, kNumberOfArguments, kNoArgumentNames);
 | 
|    compiler->GenerateStaticCall(deopt_id(), instance_call()->token_pos(), target,
 | 
| -                               kNumberOfArguments,
 | 
| -                               Object::null_array(),  // No argument names.
 | 
| -                               locs(), ICData::Handle());
 | 
| +                               args_info, locs(), ICData::Handle());
 | 
|    __ Bind(&done);
 | 
|  }
 | 
|  
 | 
| @@ -6691,9 +6692,9 @@ LocationSummary* ClosureCallInstr::MakeLocationSummary(Zone* zone,
 | 
|  
 | 
|  void ClosureCallInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
 | 
|    // Arguments descriptor is expected in R10.
 | 
| -  intptr_t argument_count = ArgumentCount();
 | 
| -  const Array& arguments_descriptor = Array::ZoneHandle(
 | 
| -      ArgumentsDescriptor::New(argument_count, argument_names()));
 | 
| +  const intptr_t argument_count = ArgumentCount();  // Includes type args.
 | 
| +  const Array& arguments_descriptor =
 | 
| +      Array::ZoneHandle(Z, GetArgumentsDescriptor());
 | 
|    __ LoadObject(R10, arguments_descriptor);
 | 
|  
 | 
|    // Function in RAX.
 | 
| 
 |