| Index: runtime/vm/object.h
|
| diff --git a/runtime/vm/object.h b/runtime/vm/object.h
|
| index 984a718d1b86a73f2b9edda5a31e25d5de47eaaf..690251b3267463b81fb71ea88e084a7c4e58d384 100644
|
| --- a/runtime/vm/object.h
|
| +++ b/runtime/vm/object.h
|
| @@ -1842,7 +1842,7 @@ class ICData : public Object {
|
|
|
| bool IsImmutable() const;
|
|
|
| - void Reset(bool is_static_call) const;
|
| + void Reset() const;
|
| void ResetData() const;
|
|
|
| // Note: only deopts with reasons before Unknown in this list are recorded in
|
| @@ -2146,6 +2146,9 @@ class ICData : public Object {
|
| intptr_t tag() const { return raw_ptr()->tag_; }
|
| #endif
|
|
|
| + void SetIsStaticCall(bool static_call) const;
|
| + bool is_static_call() const;
|
| +
|
| private:
|
| static RawICData* New();
|
|
|
| @@ -2167,7 +2170,9 @@ class ICData : public Object {
|
| kDeoptReasonPos = kNumArgsTestedPos + kNumArgsTestedSize,
|
| kDeoptReasonSize = kLastRecordedDeoptReason + 1,
|
| kRangeFeedbackPos = kDeoptReasonPos + kDeoptReasonSize,
|
| - kRangeFeedbackSize = kBitsPerRangeFeedback * kRangeFeedbackSlots
|
| + kRangeFeedbackSize = kBitsPerRangeFeedback * kRangeFeedbackSlots,
|
| + kStaticCallPos = kRangeFeedbackPos + kRangeFeedbackSize,
|
| + kStaticCallSize = 1,
|
| };
|
|
|
| class NumArgsTestedBits : public BitField<uint32_t,
|
| @@ -2183,6 +2188,10 @@ class ICData : public Object {
|
| ICData::kRangeFeedbackPos,
|
| ICData::kRangeFeedbackSize> {};
|
|
|
| + class StaticCallBit : public BitField<uint32_t,
|
| + bool,
|
| + ICData::kStaticCallPos,
|
| + ICData::kStaticCallSize> {};
|
| #if defined(DEBUG)
|
| // Used in asserts to verify that a check is not added twice.
|
| bool HasCheck(const GrowableArray<intptr_t>& cids) const;
|
| @@ -2275,7 +2284,6 @@ class Function : public Object {
|
| // Reloading support:
|
| void Reparent(const Class& new_cls) const;
|
| void ZeroEdgeCounters() const;
|
| - void FillICDataWithSentinels(const Code& code) const;
|
|
|
| RawClass* Owner() const;
|
| RawClass* origin() const;
|
| @@ -4539,6 +4547,9 @@ class Code : public Object {
|
| StorePointer(&raw_ptr()->code_source_map_, code_source_map.raw());
|
| }
|
|
|
| + // Used during reloading (see object_reload.cc).
|
| + void ResetICDatas(const Function& function) const;
|
| +
|
| TokenPosition GetTokenPositionAt(intptr_t offset) const;
|
|
|
| // Array of DeoptInfo objects.
|
|
|