arena: fix Paging commit, improve MakeSlice
This commit is contained in:
parent
9807636359
commit
0671d04bb3
2 changed files with 5 additions and 1 deletions
|
|
@ -29,6 +29,10 @@ func MakeSlice[T any](arena Arena, len, cap int) []T {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len == -1 {
|
||||||
|
len = cap
|
||||||
|
}
|
||||||
|
|
||||||
return unsafe.Slice((*T)(ptr), cap)[:len]
|
return unsafe.Slice((*T)(ptr), cap)[:len]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -211,7 +211,7 @@ func Paged(page_size, total_reserved_in_bytes uintptr) Arena {
|
||||||
required := offset + aligned
|
required := offset + aligned
|
||||||
to_commit := mem.AlignForward(required, page_size)
|
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)
|
return nil, fmt.Errorf("paged: failed to commit memory - %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue