This commit is contained in:
janis 2025-10-20 23:00:55 +02:00
parent b5c0a41aa4
commit d47c933c04
Signed by: janis
SSH key fingerprint: SHA256:bB1qbbqmDXZNT0KKD5c2Dfjg53JGhj7B3CFcLIzSqq8

View file

@ -105,8 +105,12 @@ vec_push:
call vec_try_grow call vec_try_grow
; memcpy(&vec.data[vec.len], data, size); ; memcpy(&vec.data[vec.len], data, size);
mov rax, [rsp] ; vec mov rax, [rsp] ; vec
mov rdi, [rax] ; vec.data mov rcx, [rax] ; vec.data
add rdi, [rax + 8] ; vec.data + vec.len mov rdi, [rax + 8] ; vec.len
mov rax, [rax + 24] ; vec.item_size
mul rdi ; len * item_size
add rax, rcx ; data + len * item_size
mov rdi, rax ; dest ptr
mov rsi, [rsp + 8] ; data ptr mov rsi, [rsp + 8] ; data ptr
mov rdx, [rsp + 16] ; data size mov rdx, [rsp + 16] ; data size
call memcpy call memcpy
@ -142,7 +146,7 @@ vec_pop:
mul qword [rdi + 24] ; len * item_size mul qword [rdi + 24] ; len * item_size
mov rsi, [rdi] ; data mov rsi, [rdi] ; data
add rax, rsi ; data + len * item_size add rax, rsi ; data + len * item_size
mov rdi, rsi mov rdi, rax
call r8 call r8
.ret: .ret:
pop rbp pop rbp