Index: runtime/vm/object_store.h |
diff --git a/runtime/vm/object_store.h b/runtime/vm/object_store.h |
index e22a096a312ae6ee35ce8dd8f7b2b14094c7baad..fda986d8c6d37b066e664e0c66bc490561b520e6 100644 |
--- a/runtime/vm/object_store.h |
+++ b/runtime/vm/object_store.h |
@@ -433,6 +433,21 @@ class ObjectStore { |
compile_time_constants_ = value.raw(); |
} |
+ RawGrowableObjectArray* megamorphic_cache_table() const { |
+ return megamorphic_cache_table_; |
+ } |
+ void set_megamorphic_cache_table(const GrowableObjectArray& value) { |
+ megamorphic_cache_table_ = value.raw(); |
+ } |
+ RawFunction* megamorphic_miss_function() const { |
+ return megamorphic_miss_function_; |
+ } |
+ void SetMegamorphicMissHandler(const Code& code, const Function& func) { |
+ // Hold onto the code so it is traced and not detached from the function. |
+ megamorphic_miss_code_ = code.raw(); |
+ megamorphic_miss_function_ = func.raw(); |
+ } |
+ |
// Visit all object pointers. |
void VisitObjectPointers(ObjectPointerVisitor* visitor); |
@@ -523,10 +538,17 @@ class ObjectStore { |
RawFunction* handle_message_function_; |
RawArray* library_load_error_table_; |
RawArray* compile_time_constants_; |
- RawObject** to() { |
+ RawObject** to_snapshot() { |
return reinterpret_cast<RawObject**>(&compile_time_constants_); |
} |
+ RawGrowableObjectArray* megamorphic_cache_table_; |
+ RawCode* megamorphic_miss_code_; |
+ RawFunction* megamorphic_miss_function_; |
+ RawObject** to() { |
+ return reinterpret_cast<RawObject**>(&megamorphic_miss_function_); |
+ } |
+ friend class FullSnapshotWriter; |
friend class SnapshotReader; |
friend class VmIsolateSnapshotReader; |