| Index: runtime/vm/intermediate_language.h
|
| ===================================================================
|
| --- runtime/vm/intermediate_language.h (revision 24374)
|
| +++ runtime/vm/intermediate_language.h (working copy)
|
| @@ -3069,8 +3069,10 @@
|
| StaticCallInstr(intptr_t token_pos,
|
| const Function& function,
|
| const Array& argument_names,
|
| - ZoneGrowableArray<PushArgumentInstr*>* arguments)
|
| - : token_pos_(token_pos),
|
| + ZoneGrowableArray<PushArgumentInstr*>* arguments,
|
| + const Array& ic_data_array)
|
| + : ic_data_(GetICData(ic_data_array)),
|
| + token_pos_(token_pos),
|
| function_(function),
|
| argument_names_(argument_names),
|
| arguments_(arguments),
|
| @@ -3080,6 +3082,12 @@
|
| ASSERT(argument_names.IsZoneHandle() || argument_names.InVMHeap());
|
| }
|
|
|
| + // ICData for static calls carries call count.
|
| + const ICData* ic_data() const { return ic_data_; }
|
| + bool HasICData() const {
|
| + return (ic_data() != NULL) && !ic_data()->IsNull();
|
| + }
|
| +
|
| DECLARE_INSTRUCTION(StaticCall)
|
| virtual CompileType ComputeType() const;
|
|
|
| @@ -3109,6 +3117,7 @@
|
| virtual bool MayThrow() const { return true; }
|
|
|
| private:
|
| + const ICData* ic_data_;
|
| const intptr_t token_pos_;
|
| const Function& function_;
|
| const Array& argument_names_;
|
|
|