| Index: runtime/vm/runtime_entry.cc
|
| diff --git a/runtime/vm/runtime_entry.cc b/runtime/vm/runtime_entry.cc
|
| index 15bdab0595293f62d2741feb22174991e9b0a885..e06db120b2373b93afc54f3d347e532bca4e4f5c 100644
|
| --- a/runtime/vm/runtime_entry.cc
|
| +++ b/runtime/vm/runtime_entry.cc
|
| @@ -854,9 +854,10 @@ static bool ResolveCallThroughGetter(const Instance& receiver,
|
| Function* result) {
|
| // 1. Check if there is a getter with the same name.
|
| const String& getter_name = String::Handle(Field::GetterName(target_name));
|
| + const int kTypeArgsLen = 0;
|
| const int kNumArguments = 1;
|
| ArgumentsDescriptor args_desc(
|
| - Array::Handle(ArgumentsDescriptor::New(kNumArguments)));
|
| + Array::Handle(ArgumentsDescriptor::New(kTypeArgsLen, kNumArguments)));
|
| const Function& getter =
|
| Function::Handle(Resolver::ResolveDynamicForReceiverClass(
|
| receiver_class, getter_name, args_desc));
|
| @@ -926,7 +927,7 @@ static RawFunction* ComputeTypeCheckTarget(const Instance& receiver,
|
|
|
|
|
| static RawFunction* InlineCacheMissHandler(
|
| - const GrowableArray<const Instance*>& args,
|
| + const GrowableArray<const Instance*>& args, // Checked arguments only.
|
| const ICData& ic_data) {
|
| const Instance& receiver = *args[0];
|
| ArgumentsDescriptor arguments_descriptor(
|
| @@ -1136,8 +1137,11 @@ DEFINE_RUNTIME_ENTRY(SingleTargetMiss, 1) {
|
| // We lost the original ICData when we patched to the monomorphic case.
|
| const String& name = String::Handle(zone, old_target.name());
|
| ASSERT(!old_target.HasOptionalParameters());
|
| - const Array& descriptor = Array::Handle(
|
| - zone, ArgumentsDescriptor::New(old_target.num_fixed_parameters()));
|
| + ASSERT(!old_target.IsGeneric());
|
| + const int kTypeArgsLen = 0;
|
| + const Array& descriptor =
|
| + Array::Handle(zone, ArgumentsDescriptor::New(
|
| + kTypeArgsLen, old_target.num_fixed_parameters()));
|
| const ICData& ic_data =
|
| ICData::Handle(zone, ICData::New(caller_function, name, descriptor,
|
| Thread::kNoDeoptId, 1, /* args_tested */
|
| @@ -1289,8 +1293,11 @@ DEFINE_RUNTIME_ENTRY(MonomorphicMiss, 1) {
|
| // We lost the original ICData when we patched to the monomorphic case.
|
| const String& name = String::Handle(zone, old_target.name());
|
| ASSERT(!old_target.HasOptionalParameters());
|
| - const Array& descriptor = Array::Handle(
|
| - zone, ArgumentsDescriptor::New(old_target.num_fixed_parameters()));
|
| + ASSERT(!old_target.IsGeneric());
|
| + const int kTypeArgsLen = 0;
|
| + const Array& descriptor =
|
| + Array::Handle(zone, ArgumentsDescriptor::New(
|
| + kTypeArgsLen, old_target.num_fixed_parameters()));
|
| const ICData& ic_data =
|
| ICData::Handle(zone, ICData::New(caller_function, name, descriptor,
|
| Thread::kNoDeoptId, 1, /* args_tested */
|
|
|