summaryrefslogtreecommitdiff
path: root/deps/v8/src/heap/array-buffer-tracker.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/heap/array-buffer-tracker.h')
-rw-r--r--deps/v8/src/heap/array-buffer-tracker.h24
1 files changed, 12 insertions, 12 deletions
diff --git a/deps/v8/src/heap/array-buffer-tracker.h b/deps/v8/src/heap/array-buffer-tracker.h
index 3c00c2c486..3d1c2cab76 100644
--- a/deps/v8/src/heap/array-buffer-tracker.h
+++ b/deps/v8/src/heap/array-buffer-tracker.h
@@ -31,8 +31,8 @@ class ArrayBufferTracker : public AllStatic {
// Register/unregister a new JSArrayBuffer |buffer| for tracking. Guards all
// access to the tracker by taking the page lock for the corresponding page.
- inline static void RegisterNew(Heap* heap, JSArrayBuffer* buffer);
- inline static void Unregister(Heap* heap, JSArrayBuffer* buffer);
+ inline static void RegisterNew(Heap* heap, JSArrayBuffer buffer);
+ inline static void Unregister(Heap* heap, JSArrayBuffer buffer);
// Identifies all backing store pointers for dead JSArrayBuffers in new space.
// Does not take any locks and can only be called during Scavenge.
@@ -53,7 +53,7 @@ class ArrayBufferTracker : public AllStatic {
static bool ProcessBuffers(Page* page, ProcessingMode mode);
// Returns whether a buffer is currently tracked.
- static bool IsTracked(JSArrayBuffer* buffer);
+ static bool IsTracked(JSArrayBuffer buffer);
// Tears down the tracker and frees up all registered array buffers.
static void TearDown(Heap* heap);
@@ -70,13 +70,13 @@ class LocalArrayBufferTracker {
explicit LocalArrayBufferTracker(Page* page) : page_(page) {}
~LocalArrayBufferTracker();
- inline void Add(JSArrayBuffer* buffer, size_t length);
- inline void Remove(JSArrayBuffer* buffer, size_t length);
+ inline void Add(JSArrayBuffer buffer, size_t length);
+ inline void Remove(JSArrayBuffer buffer, size_t length);
// Frees up array buffers.
//
// Sample usage:
- // Free([](HeapObject* array_buffer) {
+ // Free([](HeapObject array_buffer) {
// if (should_free_internal(array_buffer)) return true;
// return false;
// });
@@ -87,21 +87,21 @@ class LocalArrayBufferTracker {
// what action to take on the buffer.
//
// Callback should be of type:
- // CallbackResult fn(JSArrayBuffer* buffer, JSArrayBuffer** new_buffer);
+ // CallbackResult fn(JSArrayBuffer buffer, JSArrayBuffer* new_buffer);
template <typename Callback>
void Process(Callback callback);
bool IsEmpty() const { return array_buffers_.empty(); }
- bool IsTracked(JSArrayBuffer* buffer) const {
+ bool IsTracked(JSArrayBuffer buffer) const {
return array_buffers_.find(buffer) != array_buffers_.end();
}
private:
class Hasher {
public:
- size_t operator()(JSArrayBuffer* buffer) const {
- return reinterpret_cast<size_t>(buffer) >> 3;
+ size_t operator()(JSArrayBuffer buffer) const {
+ return static_cast<size_t>(buffer.ptr() >> 3);
}
};
@@ -110,12 +110,12 @@ class LocalArrayBufferTracker {
// HeapNumber. The reason for tracking the length is that in the case of
// length being a HeapNumber, the buffer and its length may be stored on
// different memory pages, making it impossible to guarantee order of freeing.
- typedef std::unordered_map<JSArrayBuffer*, JSArrayBuffer::Allocation, Hasher>
+ typedef std::unordered_map<JSArrayBuffer, JSArrayBuffer::Allocation, Hasher>
TrackingData;
// Internal version of add that does not update counters. Requires separate
// logic for updating external memory counters.
- inline void AddInternal(JSArrayBuffer* buffer, size_t length);
+ inline void AddInternal(JSArrayBuffer buffer, size_t length);
inline Space* space();