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