On 20/01/11 08:20, Michael Schnell wrote:
On 01/19/2011 05:13 PM, Henry Vermaak wrote:
it's really expensive to trap the illegal instructions and emulate them.
AFAIK, the trapping is done by the ARM CPU, anyway, providing the
emulation functions just costs some memory, but of course it's even
slower and more intrusive than directly calling an FPU emulation
function in user space.
No, the cpu generates an exception for every illegal fpu operation,
which gets trapped by the kernel. The kernel then has to catch this
instruction and perform it by emulating the _whole_ fpu. This, together
with the exception handling causes the bad performance. Look at the
code in arch/arm/nwfpe if you're interested.
Henry
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel