On 24/04/2013 15:20, Adam Goode wrote:
Bad news, I tried PolyML.Compiler.maxInlineSize := 1 and it still fails.
Any other ideas? If I were to work on 32-bit jumps, are there binary
compatibility issues you can think of?
I think there could be problems because the offset used in the
instruction that loads a value from the constant area at the end of the
code is also 16-bit. That limits the distance from that instruction to
the end of the code. However, it looks as though the jump instructions
use signed 16-bit offsets where the other cases use unsigned. I've
committed a change that uses unsigned 16-bit offsets for jumps and
splits the 16-bit jumps into forward and backwards cases. Could you try
this and see if it works? You will need to build the compiler (make
compiler) to pick up the change. If not you're welcome to see if you
can come up with a fix.
David
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml