fix vec
This commit is contained in:
parent
b5c0a41aa4
commit
d47c933c04
|
|
@ -105,8 +105,12 @@ vec_push:
|
|||
call vec_try_grow
|
||||
; memcpy(&vec.data[vec.len], data, size);
|
||||
mov rax, [rsp] ; vec
|
||||
mov rdi, [rax] ; vec.data
|
||||
add rdi, [rax + 8] ; vec.data + vec.len
|
||||
mov rcx, [rax] ; vec.data
|
||||
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 rdx, [rsp + 16] ; data size
|
||||
call memcpy
|
||||
|
|
@ -142,7 +146,7 @@ vec_pop:
|
|||
mul qword [rdi + 24] ; len * item_size
|
||||
mov rsi, [rdi] ; data
|
||||
add rax, rsi ; data + len * item_size
|
||||
mov rdi, rsi
|
||||
mov rdi, rax
|
||||
call r8
|
||||
.ret:
|
||||
pop rbp
|
||||
|
|
|
|||
Loading…
Reference in a new issue