Chromium Code Reviews| Index: runtime/vm/object.h |
| =================================================================== |
| --- runtime/vm/object.h (revision 39414) |
| +++ runtime/vm/object.h (working copy) |
| @@ -3412,6 +3412,9 @@ |
| intptr_t NumberOfChecks() const; |
| + // Discounts any checks with usage of zero. |
| + intptr_t NumberOfUsedChecks() const; |
| + |
| static intptr_t InstanceSize() { |
| return RoundedAllocationSize(sizeof(RawICData)); |
| } |
| @@ -3461,6 +3464,7 @@ |
| // Retrieving checks. |
| + // TODO(srdjan): GetCheckAt without target. |
| void GetCheckAt(intptr_t index, |
| GrowableArray<intptr_t>* class_ids, |
| Function* target) const; |
| @@ -3484,11 +3488,13 @@ |
| // Returns this->raw() if num_args_tested == 1 and arg_nr == 1, otherwise |
| // returns a new ICData object containing only unique arg_nr checks. |
| + // Returns only used entries., |
|
zra
2014/08/20 20:17:11
remove comma.
srdjan
2014/08/21 17:30:22
Done.
|
| RawICData* AsUnaryClassChecksForArgNr(intptr_t arg_nr) const; |
| RawICData* AsUnaryClassChecks() const { |
| return AsUnaryClassChecksForArgNr(0); |
| } |
| + // Consider only used entries. |
| bool AllTargetsHaveSameOwner(intptr_t owner_cid) const; |
| bool AllReceiversAreNumbers() const; |
| bool HasOneTarget() const; |
| @@ -3510,6 +3516,11 @@ |
| return (num_args + 1); |
| } |
| + bool IsUsedAt(intptr_t i) const; |
| + |
| + void GetUsedCidsForTwoArgs(GrowableArray<intptr_t>* first, |
| + GrowableArray<intptr_t>* second) const; |
| + |
| private: |
| RawArray* ic_data() const { |
| return raw_ptr()->ic_data_; |