| Index: runtime/vm/intermediate_language.h
|
| diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h
|
| index 102f6b8e42283bc0fb7270ddbcd1747cfc1e3082..f42ffaec0eaea2c656d2eb33abe71988fdbc84d6 100644
|
| --- a/runtime/vm/intermediate_language.h
|
| +++ b/runtime/vm/intermediate_language.h
|
| @@ -2827,7 +2827,8 @@ class InstanceCallInstr : public TemplateDefinition<0, Throws> {
|
| token_kind_(token_kind),
|
| arguments_(arguments),
|
| argument_names_(argument_names),
|
| - checked_argument_count_(checked_argument_count) {
|
| + checked_argument_count_(checked_argument_count),
|
| + has_unique_selector_(false) {
|
| ic_data_ = GetICData(ic_data_array);
|
| ASSERT(function_name.IsNotTemporaryScopedHandle());
|
| ASSERT(!arguments->is_empty());
|
| @@ -2864,6 +2865,11 @@ class InstanceCallInstr : public TemplateDefinition<0, Throws> {
|
| const Array& argument_names() const { return argument_names_; }
|
| intptr_t checked_argument_count() const { return checked_argument_count_; }
|
|
|
| + bool has_unique_selector() const { return has_unique_selector_; }
|
| + void set_has_unique_selector(bool b) {
|
| + has_unique_selector_ = b;
|
| + }
|
| +
|
| virtual bool CanDeoptimize() const { return true; }
|
|
|
| virtual bool CanBecomeDeoptimizationTarget() const {
|
| @@ -2888,6 +2894,7 @@ class InstanceCallInstr : public TemplateDefinition<0, Throws> {
|
| ZoneGrowableArray<PushArgumentInstr*>* const arguments_;
|
| const Array& argument_names_;
|
| const intptr_t checked_argument_count_;
|
| + bool has_unique_selector_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(InstanceCallInstr);
|
| };
|
| @@ -2910,6 +2917,7 @@ class PolymorphicInstanceCallInstr : public TemplateDefinition<0, Throws> {
|
|
|
| InstanceCallInstr* instance_call() const { return instance_call_; }
|
| bool with_checks() const { return with_checks_; }
|
| + void set_with_checks(bool b) { with_checks_ = b; }
|
| bool complete() const { return complete_; }
|
| virtual TokenPosition token_pos() const {
|
| return instance_call_->token_pos();
|
| @@ -2941,7 +2949,7 @@ class PolymorphicInstanceCallInstr : public TemplateDefinition<0, Throws> {
|
| private:
|
| InstanceCallInstr* instance_call_;
|
| const ICData& ic_data_;
|
| - const bool with_checks_;
|
| + bool with_checks_;
|
| const bool complete_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(PolymorphicInstanceCallInstr);
|
|
|