25 lines
472 B
Plaintext
25 lines
472 B
Plaintext
Os :: #import "os_windows.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
|