| Index: runtime/vm/fixed_cache.h
|
| diff --git a/runtime/vm/fixed_cache.h b/runtime/vm/fixed_cache.h
|
| index eac919dc844c984f17fac9e4e744fc5c5c3c7df1..2d6e00a7507b60fa915f4c78c370a5addbe6df37 100644
|
| --- a/runtime/vm/fixed_cache.h
|
| +++ b/runtime/vm/fixed_cache.h
|
| @@ -12,25 +12,21 @@ namespace dart {
|
|
|
| // A simple sorted fixed size Key-Value storage.
|
| //
|
| -// Assumes both Key and Value are POD-like objects.
|
| +// Assumes both Key and Value are default-constructible objects.
|
| //
|
| // Keys must be comparable with operator<.
|
| //
|
| // Duplicates are not allowed - check with Lookup before insertion.
|
| //
|
| -// Optionally Values may have cleanup function to delete
|
| -// any resources they point to.
|
| template <class K, class V, intptr_t kCapacity>
|
| class FixedCache {
|
| public:
|
| - typedef void (*Deleter)(V*);
|
| -
|
| struct Entry {
|
| K key;
|
| V value;
|
| };
|
|
|
| - explicit FixedCache(Deleter deleter = NULL) : deleter_(deleter), length_(0) {}
|
| + FixedCache() : length_(0) {}
|
|
|
| ~FixedCache() { Clear(); }
|
|
|
| @@ -44,7 +40,6 @@ class FixedCache {
|
| intptr_t i = LowerBound(key);
|
|
|
| if (length_ == kCapacity) {
|
| - if (deleter_) deleter_(&pairs_[length_ - 1].value);
|
| length_ = kCapacity - 1;
|
| if (i == kCapacity) i = kCapacity - 1;
|
| }
|
| @@ -59,11 +54,6 @@ class FixedCache {
|
| }
|
|
|
| void Clear() {
|
| - if (deleter_) {
|
| - for (intptr_t i = 0; i < length_; i++) {
|
| - deleter_(&pairs_[i].value);
|
| - }
|
| - }
|
| length_ = 0;
|
| }
|
|
|
| @@ -84,7 +74,6 @@ class FixedCache {
|
| }
|
|
|
| Entry pairs_[kCapacity]; // Sorted array of pairs.
|
| - Deleter deleter_;
|
| intptr_t length_;
|
| };
|
|
|
|
|