Index: runtime/vm/instructions_dbc.h |
diff --git a/runtime/vm/instructions_dbc.h b/runtime/vm/instructions_dbc.h |
index 5eb0c6e5bf82af7df5b61430fde80c92272550d4..6db52052bc284427f4bc1694db642ab574b1faca 100644 |
--- a/runtime/vm/instructions_dbc.h |
+++ b/runtime/vm/instructions_dbc.h |
@@ -98,19 +98,24 @@ class NativeCallPattern : public ValueObject { |
}; |
-// Instance call that can switch from an IC call to a megamorphic call |
+// Instance call that can switch between a direct monomorphic call, an IC call, |
+// and a megamorphic call. |
+// load guarded cid load ICData load MegamorphicCache |
+// load monomorphic target <-> load ICLookup stub -> load MMLookup stub |
+// call target.entry call stub.entry call stub.entry |
class SwitchableCallPattern : public ValueObject { |
public: |
SwitchableCallPattern(uword pc, const Code& code); |
- RawObject* cache() const; |
- void SetCache(const MegamorphicCache& cache) const; |
- void SetLookupStub(const Code& stub) const; |
+ RawObject* data() const; |
+ RawCode* target() const; |
+ void SetData(const Object& data) const; |
+ void SetTarget(const Code& target) const; |
private: |
const ObjectPool& object_pool_; |
- intptr_t cache_pool_index_; |
- intptr_t stub_pool_index_; |
+ intptr_t data_pool_index_; |
+ intptr_t target_pool_index_; |
DISALLOW_COPY_AND_ASSIGN(SwitchableCallPattern); |
}; |