| Index: runtime/vm/megamorphic_cache_table.h
|
| diff --git a/runtime/vm/megamorphic_cache_table.h b/runtime/vm/megamorphic_cache_table.h
|
| index eafb35b12b6ed45d8f656c62668d1518adad1f10..c47d4d89f6e9a89da1b20d7913c339d54d67850f 100644
|
| --- a/runtime/vm/megamorphic_cache_table.h
|
| +++ b/runtime/vm/megamorphic_cache_table.h
|
| @@ -11,6 +11,7 @@ namespace dart {
|
|
|
| class Array;
|
| class Function;
|
| +class Isolate;
|
| class ObjectPointerVisitor;
|
| class RawArray;
|
| class RawFunction;
|
| @@ -19,36 +20,24 @@ class RawMegamorphicCache;
|
| class RawString;
|
| class String;
|
|
|
| -class MegamorphicCacheTable {
|
| +class MegamorphicCacheTable : public AllStatic {
|
| public:
|
| - MegamorphicCacheTable();
|
| - ~MegamorphicCacheTable();
|
| + static RawFunction* miss_handler(Isolate* isolate);
|
| + static void InitMissHandler(Isolate* isolate);
|
|
|
| - RawFunction* miss_handler() const { return miss_handler_function_; }
|
| - void InitMissHandler();
|
| + static RawMegamorphicCache* Lookup(Isolate* isolate,
|
| + const String& name,
|
| + const Array& descriptor);
|
|
|
| - RawMegamorphicCache* Lookup(const String& name, const Array& descriptor);
|
| -
|
| - void VisitObjectPointers(ObjectPointerVisitor* visitor);
|
| -
|
| - void PrintSizes();
|
| + static void PrintSizes(Isolate* isolate);
|
|
|
| private:
|
| - struct Entry {
|
| - RawString* name;
|
| - RawArray* descriptor;
|
| - RawMegamorphicCache* cache;
|
| + enum {
|
| + kEntryNameOffset = 0,
|
| + kEntryDescriptorOffset,
|
| + kEntryCacheOffset,
|
| + kEntrySize
|
| };
|
| -
|
| - static const int kCapacityIncrement = 128;
|
| -
|
| - RawFunction* miss_handler_function_;
|
| - RawCode* miss_handler_code_;
|
| - intptr_t capacity_;
|
| - intptr_t length_;
|
| - Entry* table_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(MegamorphicCacheTable);
|
| };
|
|
|
| } // namespace dart
|
|
|