The new implementations for RtlFillMemory, RtlZeroMemory, and RtlMoveMemory have a bug where they don't write the last 1-3 bytes if the length isn't a multiple of the word size. They have an "or ecx, ecx" which needs to be "or ecx, edx". Also the new RtlUlonglongByteSwap is sub-optimal, it swaps eax and edx when they could have just been read in reverse order like the other version did.
--- Magnus Olsen magnus@itkonsult-olsen.com wrote:
Hi Royce3 alex solv it and he also wrote some other rtl* to asm with some commit.
----- Original Message ----- From: "Reuel ben Yisrael" reuel@ev1.net To: ros-dev@reactos.org Sent: Wednesday, August 30, 2006 11:29 PM Subject: Re: [ros-dev] [ros-diffs] [greatlrd] 23826: Wrote RtlUshotByteSwap RtlUlongByteSwap and RtlUlonglongByteSwap to asm code. but we need a C api for header to linking it right. Put the asm version to i386
greatlrd@svn.reactos.org wrote:
Author: greatlrd Date: Thu Aug 31 01:17:53 2006 New Revision: 23826
URL: http://svn.reactos.org/svn/reactos?rev=23826&view=rev Log: Wrote RtlUshotByteSwap RtlUlongByteSwap and RtlUlonglongByteSwap to
asm code.
but we need a C api for header to linking it right. Put the asm
version to i386
sure there must be away to avoid this double-function-call overhead?
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com