Restructure os code

This commit is contained in:
Krzosa Karol
2022-06-17 17:00:48 +02:00
parent 871ff65ec2
commit 012d7fb6ad
4 changed files with 152 additions and 0 deletions

24
base.kl Normal file
View File

@@ -0,0 +1,24 @@
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