summaryrefslogtreecommitdiff
path: root/deps/v8/src/heap/array-buffer-tracker.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/heap/array-buffer-tracker.cc')
-rw-r--r--deps/v8/src/heap/array-buffer-tracker.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/deps/v8/src/heap/array-buffer-tracker.cc b/deps/v8/src/heap/array-buffer-tracker.cc
index 4f92e7e17c..0a158e3543 100644
--- a/deps/v8/src/heap/array-buffer-tracker.cc
+++ b/deps/v8/src/heap/array-buffer-tracker.cc
@@ -45,24 +45,25 @@ void LocalArrayBufferTracker::Process(Callback callback) {
tracker = target_page->local_tracker();
}
DCHECK_NOT_NULL(tracker);
- const size_t size = NumberToSize(new_buffer->byte_length());
+ const size_t length = it->second.length;
// We should decrement before adding to avoid potential overflows in
// the external memory counters.
DCHECK_EQ(it->first->is_wasm_memory(), it->second.is_wasm_memory);
old_page->DecrementExternalBackingStoreBytes(
- ExternalBackingStoreType::kArrayBuffer, it->second.length);
- tracker->Add(new_buffer, size);
+ ExternalBackingStoreType::kArrayBuffer, length);
+ tracker->Add(new_buffer, length);
}
moved_memory += it->second.length;
} else if (result == kRemoveEntry) {
- freed_memory += it->second.length;
+ const size_t length = it->second.length;
+ freed_memory += length;
// We pass backing_store() and stored length to the collector for freeing
// the backing store. Wasm allocations will go through their own tracker
// based on the backing store.
backing_stores_to_free.push_back(it->second);
old_page->DecrementExternalBackingStoreBytes(
- ExternalBackingStoreType::kArrayBuffer, it->second.length);
+ ExternalBackingStoreType::kArrayBuffer, length);
} else {
UNREACHABLE();
}