diff --git a/crates/oxc_allocator/src/generated/fixed_size_constants.rs b/crates/oxc_allocator/src/generated/fixed_size_constants.rs index 90d31f6bc25da..07c5677f518b1 100644 --- a/crates/oxc_allocator/src/generated/fixed_size_constants.rs +++ b/crates/oxc_allocator/src/generated/fixed_size_constants.rs @@ -3,5 +3,5 @@ #![expect(clippy::unreadable_literal)] -pub const BUFFER_SIZE: usize = 2147483648; +pub const BUFFER_SIZE: usize = 2147483632; pub const BUFFER_ALIGN: usize = 4294967296; diff --git a/napi/parser/generated/constants.js b/napi/parser/generated/constants.js index a52de032e2bf3..51202f0176e81 100644 --- a/napi/parser/generated/constants.js +++ b/napi/parser/generated/constants.js @@ -1,10 +1,10 @@ // Auto-generated code, DO NOT EDIT DIRECTLY! // To edit this generated file you have to edit `tasks/ast_tools/src/generators/raw_transfer.rs`. -const BUFFER_SIZE = 2147483648, +const BUFFER_SIZE = 2147483632, BUFFER_ALIGN = 4294967296, - DATA_POINTER_POS_32 = 536870910, - IS_TS_FLAG_POS = 2147483644, + DATA_POINTER_POS_32 = 536870906, + IS_TS_FLAG_POS = 2147483628, PROGRAM_OFFSET = 0; module.exports = { diff --git a/napi/parser/generated/deserialize/js.js b/napi/parser/generated/deserialize/js.js index 3cb195138ef9b..a980397568309 100644 --- a/napi/parser/generated/deserialize/js.js +++ b/napi/parser/generated/deserialize/js.js @@ -20,7 +20,7 @@ function deserialize(buffer, sourceTextInput, sourceLenInput) { sourceLen = sourceLenInput; sourceIsAscii = sourceText.length === sourceLen; - const data = deserializeRawTransferData(uint32[536870910]); + const data = deserializeRawTransferData(uint32[536870906]); uint8 = uint32 = diff --git a/napi/parser/generated/deserialize/ts.js b/napi/parser/generated/deserialize/ts.js index 96e604ffb77e1..f7ee806513bf8 100644 --- a/napi/parser/generated/deserialize/ts.js +++ b/napi/parser/generated/deserialize/ts.js @@ -20,7 +20,7 @@ function deserialize(buffer, sourceTextInput, sourceLenInput) { sourceLen = sourceLenInput; sourceIsAscii = sourceText.length === sourceLen; - const data = deserializeRawTransferData(uint32[536870910]); + const data = deserializeRawTransferData(uint32[536870906]); uint8 = uint32 = diff --git a/napi/parser/src/generated/raw_transfer_constants.rs b/napi/parser/src/generated/raw_transfer_constants.rs index 90d31f6bc25da..07c5677f518b1 100644 --- a/napi/parser/src/generated/raw_transfer_constants.rs +++ b/napi/parser/src/generated/raw_transfer_constants.rs @@ -3,5 +3,5 @@ #![expect(clippy::unreadable_literal)] -pub const BUFFER_SIZE: usize = 2147483648; +pub const BUFFER_SIZE: usize = 2147483632; pub const BUFFER_ALIGN: usize = 4294967296; diff --git a/tasks/ast_tools/src/generators/raw_transfer.rs b/tasks/ast_tools/src/generators/raw_transfer.rs index 55f1d0e2f5bdf..61357ed39ac83 100644 --- a/tasks/ast_tools/src/generators/raw_transfer.rs +++ b/tasks/ast_tools/src/generators/raw_transfer.rs @@ -28,7 +28,8 @@ use super::define_generator; /// Size of raw transfer buffer. /// Must be a multiple of 16. -const BUFFER_SIZE: u32 = 1 << 31; // 2 GiB +/// 16 bytes less than 2 GiB, to allow 16 bytes for `malloc` metadata (like Bumpalo does). +const BUFFER_SIZE: u32 = (1 << 31) - 16; // 2 GiB - 16 bytes const _: () = assert!(BUFFER_SIZE % 16 == 0); /// Alignment of raw transfer buffer. const BUFFER_ALIGN: u64 = 1 << 32; // 4 GiB