Index: src/heap/array-buffer-tracker.h |
diff --git a/src/heap/array-buffer-tracker.h b/src/heap/array-buffer-tracker.h |
index 898024a708b954149f9fd66d238ca162c99edeee..3a57ab70cd0bb8201fc388efce4498f6ab213fbb 100644 |
--- a/src/heap/array-buffer-tracker.h |
+++ b/src/heap/array-buffer-tracker.h |
@@ -5,7 +5,7 @@ |
#ifndef V8_HEAP_ARRAY_BUFFER_TRACKER_H_ |
#define V8_HEAP_ARRAY_BUFFER_TRACKER_H_ |
-#include <unordered_set> |
+#include <unordered_map> |
#include "src/allocation.h" |
#include "src/base/platform/mutex.h" |
@@ -60,6 +60,7 @@ class ArrayBufferTracker : public AllStatic { |
class LocalArrayBufferTracker { |
public: |
typedef JSArrayBuffer* Key; |
+ typedef size_t Value; |
enum CallbackResult { kKeepEntry, kUpdateEntry, kRemoveEntry }; |
enum FreeMode { kFreeDead, kFreeAll }; |
@@ -67,8 +68,8 @@ class LocalArrayBufferTracker { |
explicit LocalArrayBufferTracker(Heap* heap) : heap_(heap) {} |
~LocalArrayBufferTracker(); |
- inline void Add(Key key); |
- inline void Remove(Key key); |
+ inline void Add(Key key, const Value& value); |
+ inline Value Remove(Key key); |
// Frees up array buffers determined by |free_mode|. |
template <FreeMode free_mode> |
@@ -89,7 +90,7 @@ class LocalArrayBufferTracker { |
} |
private: |
- typedef std::unordered_set<Key> TrackingData; |
+ typedef std::unordered_map<Key, Value> TrackingData; |
Heap* heap_; |
TrackingData array_buffers_; |