Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 2901840af92fbe0b1cd995ba1129a4cb4024befa..861548260c2a1709b630f8ac15a9210597163774 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -19463,6 +19463,13 @@ void JSArrayBuffer::Setup(Handle<JSArrayBuffer> array_buffer, Isolate* isolate, |
} |
} |
+namespace { |
+ |
+inline int ConvertToMb(size_t size) { |
+ return static_cast<int>(size / static_cast<size_t>(MB)); |
+} |
+ |
+} // namespace |
bool JSArrayBuffer::SetupAllocatingData(Handle<JSArrayBuffer> array_buffer, |
Isolate* isolate, |
@@ -19473,12 +19480,8 @@ bool JSArrayBuffer::SetupAllocatingData(Handle<JSArrayBuffer> array_buffer, |
// Prevent creating array buffers when serializing. |
DCHECK(!isolate->serializer_enabled()); |
if (allocated_length != 0) { |
- constexpr size_t kMinBigAllocation = 1 << 20; |
- if (allocated_length >= kMinBigAllocation) { |
- isolate->counters()->array_buffer_big_allocations()->AddSample( |
- sizeof(uint64_t) * kBitsPerByte - |
- base::bits::CountLeadingZeros64(allocated_length)); |
- } |
+ isolate->counters()->array_buffer_big_allocations()->AddSample( |
+ ConvertToMb(allocated_length)); |
if (initialize) { |
data = isolate->array_buffer_allocator()->Allocate(allocated_length); |
} else { |
@@ -19487,8 +19490,7 @@ bool JSArrayBuffer::SetupAllocatingData(Handle<JSArrayBuffer> array_buffer, |
} |
if (data == NULL) { |
isolate->counters()->array_buffer_new_size_failures()->AddSample( |
- sizeof(uint64_t) * kBitsPerByte - |
- base::bits::CountLeadingZeros64(allocated_length)); |
+ ConvertToMb(allocated_length)); |
return false; |
} |
} else { |