#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "third_party/blink/renderer/core/typed_arrays/array_buffer/array_buffer_contents.h"
#include <cstring>
#include "base/bits.h"
#include "base/system/sys_info.h"
#include "gin/array_buffer.h"
#include "partition_alloc/partition_alloc.h"
#include "third_party/blink/renderer/platform/instrumentation/instance_counters.h"
#include "third_party/blink/renderer/platform/wtf/allocator/partitions.h"
namespace blink {
ArrayBufferContents::ArrayBufferContents(
const base::subtle::PlatformSharedMemoryRegion& region,
uint64_t offset,
size_t length) { … }
ArrayBufferContents::ArrayBufferContents(
size_t num_elements,
std::optional<size_t> max_num_elements,
size_t element_byte_size,
SharingType is_shared,
ArrayBufferContents::InitializationPolicy policy) { … }
ArrayBufferContents::~ArrayBufferContents() = default;
void ArrayBufferContents::Detach() { … }
void ArrayBufferContents::Reset() { … }
void ArrayBufferContents::Transfer(ArrayBufferContents& other) { … }
void ArrayBufferContents::ShareWith(ArrayBufferContents& other) { … }
void ArrayBufferContents::ShareNonSharedForInternalUse(
ArrayBufferContents& other) { … }
void ArrayBufferContents::CopyTo(ArrayBufferContents& other) { … }
template <partition_alloc::AllocFlags flags>
void* ArrayBufferContents::AllocateMemory(size_t size,
InitializationPolicy policy) { … }
void* ArrayBufferContents::AllocateMemoryOrNull(size_t size,
InitializationPolicy policy) { … }
void ArrayBufferContents::FreeMemory(void* data) { … }
}