[ros-dev] [ros-diffs] [dgorbachev] 53907: [NTOSKRNL] Use inline asm in KiIsNpxErrataPresent(). C code can be optimized in a wrong way.

Timo Kreuzer 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 
obsolete bs.
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

Regards,
Timo




More information about the Ros-dev mailing list