Index: src/heap/array-buffer-tracker-inl.h |
diff --git a/src/heap/array-buffer-tracker-inl.h b/src/heap/array-buffer-tracker-inl.h |
index f5bdead89a5d74f7b791d6ba170ab2bbb5474ac0..d20f1280028dd8f4cb2545d1a763ff0927ecc1c2 100644 |
--- a/src/heap/array-buffer-tracker-inl.h |
+++ b/src/heap/array-buffer-tracker-inl.h |
@@ -17,7 +17,7 @@ void ArrayBufferTracker::RegisterNew(Heap* heap, JSArrayBuffer* buffer) { |
size_t length = NumberToSize(buffer->byte_length()); |
Page* page = Page::FromAddress(buffer->address()); |
{ |
- base::LockGuard<base::Mutex> guard(page->mutex()); |
+ base::LockGuard<base::RecursiveMutex> guard(page->mutex()); |
LocalArrayBufferTracker* tracker = page->local_tracker(); |
if (tracker == nullptr) { |
page->AllocateLocalTracker(); |
@@ -39,7 +39,7 @@ void ArrayBufferTracker::Unregister(Heap* heap, JSArrayBuffer* buffer) { |
Page* page = Page::FromAddress(buffer->address()); |
size_t length = 0; |
{ |
- base::LockGuard<base::Mutex> guard(page->mutex()); |
+ base::LockGuard<base::RecursiveMutex> guard(page->mutex()); |
LocalArrayBufferTracker* tracker = page->local_tracker(); |
DCHECK_NOT_NULL(tracker); |
length = tracker->Remove(buffer); |