From 56d0a0ac0f70f8e902fd08d33b8da257f156b15b Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Mon, 11 Sep 2023 18:03:42 -0600 Subject: [PATCH] LibJS: Make CreateDataByteBlock AO publicly available At the same time, make CopyDataBlockBytes const-correct. --- Userland/Libraries/LibJS/Runtime/ArrayBuffer.cpp | 4 ++-- Userland/Libraries/LibJS/Runtime/ArrayBuffer.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibJS/Runtime/ArrayBuffer.cpp b/Userland/Libraries/LibJS/Runtime/ArrayBuffer.cpp index 8e3ef6eff8..2f65f7b6ca 100644 --- a/Userland/Libraries/LibJS/Runtime/ArrayBuffer.cpp +++ b/Userland/Libraries/LibJS/Runtime/ArrayBuffer.cpp @@ -51,7 +51,7 @@ void ArrayBuffer::visit_edges(Cell::Visitor& visitor) } // 6.2.9.1 CreateByteDataBlock ( size ), https://tc39.es/ecma262/#sec-createbytedatablock -static ThrowCompletionOr create_byte_data_block(VM& vm, size_t size) +ThrowCompletionOr create_byte_data_block(VM& vm, size_t size) { // 1. If size > 2^53 - 1, throw a RangeError exception. if (size > MAX_ARRAY_LIKE_INDEX) @@ -68,7 +68,7 @@ static ThrowCompletionOr create_byte_data_block(VM& vm, size_t size) } // 6.2.9.3 CopyDataBlockBytes ( toBlock, toIndex, fromBlock, fromIndex, count ), https://tc39.es/ecma262/#sec-copydatablockbytes -void copy_data_block_bytes(ByteBuffer& to_block, u64 to_index, ByteBuffer& from_block, u64 from_index, u64 count) +void copy_data_block_bytes(ByteBuffer& to_block, u64 to_index, ByteBuffer const& from_block, u64 from_index, u64 count) { // 1. Assert: fromBlock and toBlock are distinct values. VERIFY(&to_block != &from_block); diff --git a/Userland/Libraries/LibJS/Runtime/ArrayBuffer.h b/Userland/Libraries/LibJS/Runtime/ArrayBuffer.h index 8653da3152..71806c267b 100644 --- a/Userland/Libraries/LibJS/Runtime/ArrayBuffer.h +++ b/Userland/Libraries/LibJS/Runtime/ArrayBuffer.h @@ -99,7 +99,8 @@ private: Value m_detach_key; }; -void copy_data_block_bytes(ByteBuffer& to_block, u64 to_index, ByteBuffer& from_block, u64 from_index, u64 count); +ThrowCompletionOr create_byte_data_block(VM& vm, size_t size); +void copy_data_block_bytes(ByteBuffer& to_block, u64 to_index, ByteBuffer const& from_block, u64 from_index, u64 count); ThrowCompletionOr allocate_array_buffer(VM&, FunctionObject& constructor, size_t byte_length); ThrowCompletionOr detach_array_buffer(VM&, ArrayBuffer& array_buffer, Optional key = {}); ThrowCompletionOr clone_array_buffer(VM&, ArrayBuffer& source_buffer, size_t source_byte_offset, size_t source_length);