| Index: runtime/vm/kernel_to_il.h
|
| diff --git a/runtime/vm/kernel_to_il.h b/runtime/vm/kernel_to_il.h
|
| index 7d71ad21e544211cf4a2d4bc6ac0425812e1c768..e6033eb45cf6d2beee81da5201cb68ce1b3fba47 100644
|
| --- a/runtime/vm/kernel_to_il.h
|
| +++ b/runtime/vm/kernel_to_il.h
|
| @@ -81,54 +81,6 @@ class Map : public DirectChainedHashMap<RawPointerKeyValueTrait<K, V> > {
|
| }
|
| };
|
|
|
| -
|
| -template <typename V>
|
| -class IntKeyRawPointerValueTrait {
|
| - public:
|
| - typedef intptr_t Key;
|
| - typedef V Value;
|
| -
|
| - struct Pair {
|
| - Key key;
|
| - Value value;
|
| - Pair() : key(NULL), value() {}
|
| - Pair(const Key key, const Value& value) : key(key), value(value) {}
|
| - Pair(const Pair& other) : key(other.key), value(other.value) {}
|
| - };
|
| -
|
| - static Key KeyOf(Pair kv) { return kv.key; }
|
| - static Value ValueOf(Pair kv) { return kv.value; }
|
| - static intptr_t Hashcode(Key key) { return reinterpret_cast<intptr_t>(key); }
|
| - static bool IsKeyEqual(Pair kv, Key key) { return kv.key == key; }
|
| -};
|
| -
|
| -template <typename V>
|
| -class IntMap : public DirectChainedHashMap<IntKeyRawPointerValueTrait<V> > {
|
| - public:
|
| - typedef typename IntKeyRawPointerValueTrait<V>::Key Key;
|
| - typedef typename IntKeyRawPointerValueTrait<V>::Value Value;
|
| - typedef typename IntKeyRawPointerValueTrait<V>::Pair Pair;
|
| -
|
| - inline void Insert(const Key& key, const Value& value) {
|
| - Pair pair(key, value);
|
| - DirectChainedHashMap<IntKeyRawPointerValueTrait<V> >::Insert(pair);
|
| - }
|
| -
|
| - inline V Lookup(const Key& key) {
|
| - Pair* pair =
|
| - DirectChainedHashMap<IntKeyRawPointerValueTrait<V> >::Lookup(key);
|
| - if (pair == NULL) {
|
| - return V();
|
| - } else {
|
| - return pair->value;
|
| - }
|
| - }
|
| -
|
| - inline Pair* LookupPair(const Key& key) {
|
| - return DirectChainedHashMap<IntKeyRawPointerValueTrait<V> >::Lookup(key);
|
| - }
|
| -};
|
| -
|
| template <typename K, typename V>
|
| class MallocMap
|
| : public MallocDirectChainedHashMap<RawPointerKeyValueTrait<K, V> > {
|
| @@ -550,7 +502,7 @@ class ConstantEvaluator : public ExpressionVisitor {
|
|
|
|
|
| struct FunctionScope {
|
| - intptr_t kernel_offset;
|
| + FunctionNode* function;
|
| LocalScope* scope;
|
| };
|
|
|
| @@ -566,8 +518,8 @@ class ScopeBuildingResult : public ZoneAllocated {
|
| yield_jump_variable(NULL),
|
| yield_context_variable(NULL) {}
|
|
|
| - IntMap<LocalVariable*> locals;
|
| - IntMap<LocalScope*> scopes;
|
| + Map<VariableDeclaration, LocalVariable*> locals;
|
| + Map<TreeNode, LocalScope*> scopes;
|
| GrowableArray<FunctionScope> function_scopes;
|
|
|
| // Only non-NULL for instance functions.
|
|
|