Index: runtime/vm/instructions_arm.h |
diff --git a/runtime/vm/instructions_arm.h b/runtime/vm/instructions_arm.h |
index 57d48244d55dcdbcafbee7f8c50877ceb7d5eb81..86d81a7ad615a2507b8ff652fe89c73c8241d922 100644 |
--- a/runtime/vm/instructions_arm.h |
+++ b/runtime/vm/instructions_arm.h |
@@ -98,22 +98,24 @@ class NativeCallPattern : public ValueObject { |
}; |
-// Instance call that can switch from an IC call to a megamorphic call |
-// load ICData load MegamorphicCache |
-// call ICLookup stub -> call MegamorphicLookup stub |
-// call target call target |
+// 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); |
}; |