Index: runtime/vm/code_generator.cc |
=================================================================== |
--- runtime/vm/code_generator.cc (revision 15847) |
+++ runtime/vm/code_generator.cc (working copy) |
@@ -683,7 +683,7 @@ |
// Check if the formal parameter is defined by a named argument. |
const intptr_t num_named_args = arg_desc.NamedCount(); |
for (intptr_t i = 0; i < num_named_args; i++) { |
- if (arg_desc.NameAt(i) == param_name.raw()) { |
+ if (arg_desc.MatchesNameAt(i, param_name)) { |
is_defined = true; |
break; |
} |
@@ -792,7 +792,8 @@ |
RawCode* ResolveCompileInstanceCallTarget( |
const Instance& receiver, |
const ICData& ic_data, |
- const ArgumentsDescriptor& arguments_descriptor) { |
+ const Array& arguments_descriptor_array) { |
+ ArgumentsDescriptor arguments_descriptor(arguments_descriptor_array); |
intptr_t num_arguments = arguments_descriptor.Count(); |
int num_named_arguments = arguments_descriptor.NamedCount(); |
String& function_name = String::Handle(ic_data.target_name()); |
@@ -874,12 +875,12 @@ |
static RawFunction* InlineCacheMissHandler( |
const GrowableArray<const Instance*>& args, |
const ICData& ic_data, |
- const ArgumentsDescriptor& arg_descriptor) { |
+ const Array& arg_descriptor_array) { |
const Instance& receiver = *args[0]; |
const Code& target_code = |
Code::Handle(ResolveCompileInstanceCallTarget(receiver, |
ic_data, |
- arg_descriptor)); |
+ arg_descriptor_array)); |
if (target_code.IsNull()) { |
// Let the megamorphic stub handle special cases: NoSuchMethod, |
// closure calls. |
@@ -940,11 +941,10 @@ |
const Instance& receiver = Instance::CheckedHandle(arguments.ArgAt(0)); |
const ICData& ic_data = ICData::CheckedHandle(arguments.ArgAt(1)); |
const Array& arg_desc_array = Array::CheckedHandle(arguments.ArgAt(2)); |
- ArgumentsDescriptor arg_descriptor(arg_desc_array); |
GrowableArray<const Instance*> args(1); |
args.Add(&receiver); |
const Function& result = |
- Function::Handle(InlineCacheMissHandler(args, ic_data, arg_descriptor)); |
+ Function::Handle(InlineCacheMissHandler(args, ic_data, arg_desc_array)); |
arguments.SetReturn(result); |
} |
@@ -964,12 +964,11 @@ |
const Instance& other = Instance::CheckedHandle(arguments.ArgAt(1)); |
const ICData& ic_data = ICData::CheckedHandle(arguments.ArgAt(2)); |
const Array& arg_desc_array = Array::CheckedHandle(arguments.ArgAt(3)); |
- ArgumentsDescriptor arg_descriptor(arg_desc_array); |
GrowableArray<const Instance*> args(2); |
args.Add(&receiver); |
args.Add(&other); |
const Function& result = |
- Function::Handle(InlineCacheMissHandler(args, ic_data, arg_descriptor)); |
+ Function::Handle(InlineCacheMissHandler(args, ic_data, arg_desc_array)); |
arguments.SetReturn(result); |
} |
@@ -991,13 +990,12 @@ |
const Instance& arg2 = Instance::CheckedHandle(arguments.ArgAt(2)); |
const ICData& ic_data = ICData::CheckedHandle(arguments.ArgAt(3)); |
const Array& arg_desc_array = Array::CheckedHandle(arguments.ArgAt(4)); |
- ArgumentsDescriptor arg_descriptor(arg_desc_array); |
GrowableArray<const Instance*> args(3); |
args.Add(&receiver); |
args.Add(&arg1); |
args.Add(&arg2); |
const Function& result = |
- Function::Handle(InlineCacheMissHandler(args, ic_data, arg_descriptor)); |
+ Function::Handle(InlineCacheMissHandler(args, ic_data, arg_desc_array)); |
arguments.SetReturn(result); |
} |