Chromium Code Reviews| Index: runtime/vm/intermediate_language.h |
| diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h |
| index 65a16c6eac5bdeba6dcc949d68e309c4ca0a9e58..628fa5fb7684f6b0b51988bcab2d124ae83c22b7 100644 |
| --- a/runtime/vm/intermediate_language.h |
| +++ b/runtime/vm/intermediate_language.h |
| @@ -2777,6 +2777,7 @@ class PolymorphicInstanceCallInstr : public TemplateDefinition<0, Throws> { |
| complete_(complete) { |
| ASSERT(instance_call_ != NULL); |
| ASSERT(!ic_data.NumberOfChecksIs(0)); |
| + InitializeIcCount(); |
| } |
| InstanceCallInstr* instance_call() const { return instance_call_; } |
| @@ -2804,6 +2805,10 @@ class PolymorphicInstanceCallInstr : public TemplateDefinition<0, Throws> { |
| const ICData& ic_data() const { return ic_data_; } |
| + intptr_t total_ic_count() { return total_ic_count_; } |
|
Vyacheslav Egorov (Google)
2017/03/10 10:31:30
This is an extremely confusing name. We need:
(a)
erikcorry
2017/03/10 13:30:01
Done.
|
| + |
| + void set_total_ic_count(intptr_t count) { total_ic_count_ = count; } |
| + |
| virtual bool CanDeoptimize() const { return true; } |
| virtual EffectSet Effects() const { return EffectSet::All(); } |
| @@ -2819,6 +2824,9 @@ class PolymorphicInstanceCallInstr : public TemplateDefinition<0, Throws> { |
| const ICData& ic_data_; |
| bool with_checks_; |
| const bool complete_; |
| + intptr_t total_ic_count_; |
| + |
| + void InitializeIcCount(); |
| DISALLOW_COPY_AND_ASSIGN(PolymorphicInstanceCallInstr); |
| }; |