Code: Select all
asm
push ebx 'num bytes
push ecx 'address
call reallocate
add esp, 8
mov ecx, eax 'get result of function call
end asm
Code: Select all
asm
push ebx 'num bytes
push ecx 'address
call reallocate
add esp, 8
mov ecx, eax 'get result of function call
end asm
Code: Select all
sub DArray.reserve naked cdecl(byref _this as DArray, _elements as size_t)
asm
#ifdef __FB_64BIT__
#else
mov edx, dword ptr [esp+4]
mov ecx, dword ptr [edx+8]
mov eax, dword ptr [edx+4]
add eax, dword ptr [esp+8]
cmp eax, ecx
jb dsm_darray_reserve_return_32
dsm_darray_reserve_doublememoryloop_32:
shl ecx, 1
cmp ecx, eax
jb dsm_darray_reserve_doublememoryloop_32
push ecx
push dword ptr [edx]
call reallocate
add esp, 8
mov dword ptr [edx], eax
dsm_darray_reserve_return_32:
ret
#endif
end asm
end sub