[ros-dev] [ros-diffs] [dgorbachev] 53907: [NTOSKRNL] Use inline asm in KiIsNpxErrataPresent(). C code can be optimized in a wrong way.
timo.kreuzer at web.de
Sat Oct 1 08:38:40 UTC 2011
Am 01.10.2011 00:51, schrieb Alex Ionescu:
> Care to explain?
> If it can be optimized the wrong way -- use a pragma or fix the compiler.
> I hate these kinds of patches. I think Timo would agree.
> Best regards,
> Alex Ionescu
I agree with Dmitri that the previous code might not do what its
supposed to. On the other hand I would prefer a C solution.
The compiler could make
ErrataPresent = ((Value1 * Value2) != (3145727.0 * 4195835.0));
out of it, since that's the same.
A better way of doing it would be:
volatile double Value1 = 4195835.0, Value2 = 3145727.0, Value3;
Value3 = Value1 / Value2;
ErrataPresent = Value3 != 1.333820449;
Anyway, this is a classical reactos discussion.
While there are tons of things to do, we fix and discuss some completely
We have 2011! These machines are almost 20 years old and probably only
exist in a museum!
The fun thing is, we're not the only people. Here's an FAQ from 2011
with the same topic: http://www.trnicely.net/pentbug/pentbug.html
More information about the Ros-dev