| Index: runtime/vm/precompiler.h
|
| diff --git a/runtime/vm/precompiler.h b/runtime/vm/precompiler.h
|
| index 6f504f18c8c4401fbe6b5f9b3d0483ab111b25d4..e47674cfda4c8ab1d062216decb4e7702d8a421e 100644
|
| --- a/runtime/vm/precompiler.h
|
| +++ b/runtime/vm/precompiler.h
|
| @@ -87,6 +87,27 @@ class StackMapKeyValueTrait {
|
| typedef DirectChainedHashMap<StackMapKeyValueTrait> StackMapSet;
|
|
|
|
|
| +class CodeSourceMapKeyValueTrait {
|
| + public:
|
| + // Typedefs needed for the DirectChainedHashMap template.
|
| + typedef const CodeSourceMap* Key;
|
| + typedef const CodeSourceMap* Value;
|
| + typedef const CodeSourceMap* Pair;
|
| +
|
| + static Key KeyOf(Pair kv) { return kv; }
|
| +
|
| + static Value ValueOf(Pair kv) { return kv; }
|
| +
|
| + static inline intptr_t Hashcode(Key key) { return key->Length(); }
|
| +
|
| + static inline bool IsKeyEqual(Pair pair, Key key) {
|
| + return pair->Equals(*key);
|
| + }
|
| +};
|
| +
|
| +typedef DirectChainedHashMap<CodeSourceMapKeyValueTrait> CodeSourceMapSet;
|
| +
|
| +
|
| class ArrayKeyValueTrait {
|
| public:
|
| // Typedefs needed for the DirectChainedHashMap template.
|
| @@ -461,6 +482,7 @@ class Precompiler : public ValueObject {
|
| void SwitchICCalls();
|
| void ShareMegamorphicBuckets();
|
| void DedupStackMaps();
|
| + void DedupCodeSourceMaps();
|
| void DedupLists();
|
| void DedupInstructions();
|
| void ResetPrecompilerState();
|
|
|