diff --git a/src/mem.cpp b/src/mem.cpp index 31ee3bc..da70f29 100644 --- a/src/mem.cpp +++ b/src/mem.cpp @@ -191,17 +191,6 @@ T *arena_push_nozero(Arena *arena) return arena_push_array_nozero(arena, 1); } -internal -u8 *arena_push_contiguous(Arena *arena, u64 size) -{ - b32 restore = arena->grow; - arena->grow = 0; - void *mem = arena_push_impl(arena, size); - arena->grow = restore; - if (!mem) fprintf(stderr, "Failed to allocate %lu bytes of contiguous memory\n", size); - return (u8 *)mem; -} - internal u64 arena_pos(Arena *arena) { diff --git a/src/rntuple.cpp b/src/rntuple.cpp index f7c5db3..36f7f93 100644 --- a/src/rntuple.cpp +++ b/src/rntuple.cpp @@ -21,14 +21,14 @@ ROOT::Experimental::RNTupleDescriptor create_descriptor(Arena *arena, RMicroFile const RNTuple_Anchor &anchor = info.anchor; // Read compressed header+footer - u8 *header_zip = arena_push_contiguous(scratch.arena, anchor.fNBytesHeader); - u8 *footer_zip = arena_push_contiguous(scratch.arena, anchor.fNBytesFooter); + u8 *header_zip = arena_push_array_nozero(scratch.arena, anchor.fNBytesHeader); + u8 *footer_zip = arena_push_array_nozero(scratch.arena, anchor.fNBytesFooter); reader.ReadBuffer(header_zip, anchor.fNBytesHeader, anchor.fSeekHeader); reader.ReadBuffer(footer_zip, anchor.fNBytesFooter, anchor.fSeekFooter); // Decompress header+footer - u8 *header = arena_push_contiguous(scratch.arena, anchor.fLenHeader); - u8 *footer = arena_push_contiguous(scratch.arena, anchor.fLenFooter); + u8 *header = arena_push_array_nozero(scratch.arena, anchor.fLenHeader); + u8 *footer = arena_push_array_nozero(scratch.arena, anchor.fLenFooter); RNTupleDecompressor::Unzip(header_zip, anchor.fNBytesHeader, anchor.fLenHeader, header); RNTupleDecompressor::Unzip(footer_zip, anchor.fNBytesFooter, anchor.fLenFooter, footer); @@ -44,12 +44,12 @@ ROOT::Experimental::RNTupleDescriptor create_descriptor(Arena *arena, RMicroFile // Read page list u64 page_list_zip_size = cgdesc.GetPageListLocator().fBytesOnStorage; u64 page_list_seek = cgdesc.GetPageListLocator().GetPosition(); - u8 *page_list_zip = arena_push_contiguous(scratch.arena, page_list_zip_size); + u8 *page_list_zip = arena_push_array_nozero(scratch.arena, page_list_zip_size); reader.ReadBuffer(page_list_zip, page_list_zip_size, page_list_seek); // Decompress page list u64 page_list_len = cgdesc.GetPageListLength(); - u8 *page_list = arena_push_contiguous(scratch.arena, page_list_len); + u8 *page_list = arena_push_array_nozero(scratch.arena, page_list_len); RNTupleDecompressor::Unzip(page_list_zip, page_list_zip_size, page_list_len, page_list); // Deserialize page list