ARM GCC compiler issue

Dan Ingalls Dan at SqueakLand.org
Sun Feb 24 17:20:32 UTC 2002


>Karl Ramberg <karl.ramberg at chello.se> is claimed by the authorities to have written:
> > I far as remember there was some floating point issues.

and Tim Rowledge <tim at sumeru.stanford.edu>
>That's about it; what seems to happen is that a fp instruction is placed
>in the function preamble when optimization is on. This fp instruction is
>not acceptable to the FP-emulator module and it go boom. Under the
>earlier fp-emulator (the one licensed from Acorn directly) the
>instruction was not correct, but tolerated, so no practical problem.
>
>For some reason when no optimisation isused this instruction is not
>scheduled at all.

Karl -

If this is the problem, and the instruction is unique and identifiable, you might try the same trick we use to make the interpreter on the Mac go faster. 

In our case, we scan the interpreter compiled module for the unnecessary check that a byte code is < 256 before the instruction dispatch.  When we find it we copy the dispatch back over the test.  This saves 15% -- see Interpreter patchInterp:.

In your case, you'll want to look for the offending FP instructions, and replace each one by a no-op.  Really tacky, but not as bad as no Squeak ;-).

Good luck!

	- Dan



More information about the Squeak-dev mailing list