[ros-dev] RE: [ion] 19742: -
ImplementRtlPrefectMemoryNonTemporal.Patch by Patrick
Baggett<baggett.patrick@gmail.com> and myself.
Ge van Geldorp
gvg at reactos.org
Tue Nov 29 20:35:22 CET 2005
> From: Alex Ionescu
>
> Ge van Geldorp wrote:
> > Is this routine so time-critical that we want to resort to
> > self-modifying code?
>
> Yup, and there are many more cases where NT does this:
> - Syscall vs INT2e
> - Cmpxch8 vs cmpxchg x2 + spinlock
> - XMMI Page Zeroing vs regular Page Zeroing
> - Prefetching
>
> And I'm probably missing more. There are critical APIs that
> would be very slow should the check be done each time they are called.
I'm not arguing that we should ban self-modifying code in every case (and I
certainly don't intend to start a vote on it ;-)), the SYSCALL v. INT2E case
is a prime example of where it is useful. However, I was talking about "THIS
routine". Frankly, I don't buy that a routine that is not even called right
now (it was UNIMPLEMENTED()) is so time-critical that we need this. It kills
ROMability of the code, effectively shutting us out of the embedded market
that some people had rather high hopes for. The fact that NT does this is of
little concern, we only need to be compatible, not identical.
GvG
More information about the Ros-dev
mailing list