| Index: runtime/vm/object.cc
|
| ===================================================================
|
| --- runtime/vm/object.cc (revision 24207)
|
| +++ runtime/vm/object.cc (working copy)
|
| @@ -8221,8 +8221,7 @@
|
| max_id = deopt_id;
|
| }
|
| node_ids->Add(deopt_id);
|
| - CodePatcher::GetInstanceCallAt(descriptors.PC(i), *this,
|
| - &ic_data_obj, NULL);
|
| + CodePatcher::GetInstanceCallAt(descriptors.PC(i), *this, &ic_data_obj);
|
| ic_data_objs.Add(ic_data_obj);
|
| }
|
| }
|
| @@ -8456,6 +8455,10 @@
|
| }
|
|
|
|
|
| +void ICData::set_arguments_descriptor(const Array& value) const {
|
| + StorePointer(&raw_ptr()->args_descriptor_, value.raw());
|
| +}
|
| +
|
| void ICData::set_deopt_id(intptr_t value) const {
|
| raw_ptr()->deopt_id_ = value;
|
| }
|
| @@ -8697,6 +8700,7 @@
|
| ICData& result = ICData::Handle(ICData::New(
|
| Function::Handle(function()),
|
| String::Handle(target_name()),
|
| + Array::Handle(arguments_descriptor()),
|
| deopt_id(),
|
| kNumArgsTested));
|
| const intptr_t len = NumberOfChecks();
|
| @@ -8792,6 +8796,7 @@
|
|
|
| RawICData* ICData::New(const Function& function,
|
| const String& target_name,
|
| + const Array& arguments_descriptor,
|
| intptr_t deopt_id,
|
| intptr_t num_args_tested) {
|
| ASSERT(Object::icdata_class() != Class::null());
|
| @@ -8807,6 +8812,7 @@
|
| }
|
| result.set_function(function);
|
| result.set_target_name(target_name);
|
| + result.set_arguments_descriptor(arguments_descriptor);
|
| result.set_deopt_id(deopt_id);
|
| result.set_num_args_tested(num_args_tested);
|
| result.set_deopt_reason(kDeoptUnknown);
|
|
|