Os :: #import "os.kl" SizeU :: #strict U64 Arena :: struct memory: Os.Memory alignment: U64 len: U64 clamp_top_sizeu :: (val: SizeU, max: SizeU): SizeU if val > max return max return val get_align_offset :: (size: SizeU, align: SizeU): SizeU mask := align - 1 val := size & mask if val != 0 val = align - val return val align_up :: (size: SizeU, align: SizeU): SizeU result := size + get_align_offset(size, align) return result