On 23/04/2013 01:07, Adam Goode wrote:
Hi,

I am trying to bootstrap mlton via polyml. This is working well on
x86_64, but failing on ARM. I am getting this error:

Exception- InternalError: fixupOffset: jump too far (16-bit offset)
raised while compiling

This seems to be a fundamental limitation of the interpreter. Is there
any kind of workaround? Could the interpreter be extended to allow for
longer jumps?

You may be able to work-around this by setting PolyML.Compiler.maxInlineSize to something smaller. Presumably you have a very large function and that may reduce the code size by not inlining other functions into it.

The better solution is, of course, for the interpreter to support longer jumps. The code of the interpreter hasn't really been looked at for a very long time. It was originally written to allow the native code version to be bootstrapped onto new hardware and so it really only works to the extent necessary for that. It is much slower than it should be and I really should revisit the whole thing.

David

_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to