It does increase the size of compiled code slightly. If there was a good reason to limit the JVM to 16-bit addresses, we could possibly control this via a flag somewhere, but it's surprisingly easy to end up jumping to random locations in the code and begin executing (all you need is enough clauses), so in that case I'd like to add a check that ii.jumpPosition/ii.retryPosition is less than 65535, and if not, raise an exception. Currently there are no declared exceptions, but we could conceivably raise a runtime exception? (Alternatively this might not be even worth considering if you're happy to just use 32-bit pointers everywhere)
This is a patch to address #12
It does increase the size of compiled code slightly. If there was a good reason to limit the JVM to 16-bit addresses, we could possibly control this via a flag somewhere, but it's surprisingly easy to end up jumping to random locations in the code and begin executing (all you need is enough clauses), so in that case I'd like to add a check that ii.jumpPosition/ii.retryPosition is less than 65535, and if not, raise an exception. Currently there are no declared exceptions, but we could conceivably raise a runtime exception? (Alternatively this might not be even worth considering if you're happy to just use 32-bit pointers everywhere)