| 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);
|
| };
|
|
|