| 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..aaf3adc44eeb39bf658009d05c263bf595bfca10 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;
|
| @@ -21,32 +22,25 @@ class String;
|
|
|
| class MegamorphicCacheTable {
|
| public:
|
| - MegamorphicCacheTable();
|
| - ~MegamorphicCacheTable();
|
| + explicit MegamorphicCacheTable(Isolate* isolate) : isolate_(isolate) {}
|
| + ~MegamorphicCacheTable() {}
|
|
|
| - RawFunction* miss_handler() const { return miss_handler_function_; }
|
| + RawFunction* miss_handler() const;
|
| void InitMissHandler();
|
|
|
| RawMegamorphicCache* Lookup(const String& name, const Array& descriptor);
|
|
|
| - void VisitObjectPointers(ObjectPointerVisitor* visitor);
|
| -
|
| void PrintSizes();
|
|
|
| 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_;
|
| + Isolate* isolate_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MegamorphicCacheTable);
|
| };
|
|
|