From 0671d04bb3dfb5953c5f43d87a2df1c835280878 Mon Sep 17 00:00:00 2001 From: Judah Caruso Date: Sat, 31 Jan 2026 15:07:01 -0700 Subject: [PATCH] arena: fix Paging commit, improve MakeSlice --- arena/arena.go | 4 ++++ arena/arenas.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/arena/arena.go b/arena/arena.go index 3bcc728..a842390 100644 --- a/arena/arena.go +++ b/arena/arena.go @@ -29,6 +29,10 @@ func MakeSlice[T any](arena Arena, len, cap int) []T { panic(err) } + if len == -1 { + len = cap + } + return unsafe.Slice((*T)(ptr), cap)[:len] } diff --git a/arena/arenas.go b/arena/arenas.go index 2bc362f..e82fca6 100644 --- a/arena/arenas.go +++ b/arena/arenas.go @@ -211,7 +211,7 @@ func Paged(page_size, total_reserved_in_bytes uintptr) Arena { required := offset + aligned to_commit := mem.AlignForward(required, page_size) - if err := mem.Commit(base[committed:to_commit-committed], mem.AccessRead|mem.AccessWrite); err != nil { + if err := mem.Commit(base[committed:to_commit], mem.AccessRead|mem.AccessWrite); err != nil { return nil, fmt.Errorf("paged: failed to commit memory - %w", err) }