| Index: runtime/vm/instructions_arm64.h
|
| diff --git a/runtime/vm/instructions_arm64.h b/runtime/vm/instructions_arm64.h
|
| index 0d2c96d70ceba0d775b65f631bd78f6504fa8c63..6195d52b5942ed825a22fc1064e91dd669e4e63c 100644
|
| --- a/runtime/vm/instructions_arm64.h
|
| +++ b/runtime/vm/instructions_arm64.h
|
| @@ -106,6 +106,27 @@ 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
|
| +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;
|
| +
|
| + private:
|
| + const ObjectPool& object_pool_;
|
| + intptr_t cache_pool_index_;
|
| + intptr_t stub_pool_index_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(SwitchableCallPattern);
|
| +};
|
| +
|
| +
|
| class ReturnPattern : public ValueObject {
|
| public:
|
| explicit ReturnPattern(uword pc);
|
|
|