More could be done here and there, but this is sufficient to bring all KERNEL variants' lengths down under 65536 with some margin, so that initial MemBefore table of all segment batches is padded to a smaller power of 2.
Mostly revolves around:
replacing large subsequent PUSH @CONSTANT with DUP
improving some hot macros / loops
Note that we are considering adding some INCR / DECR privileged instruction, which would increase the KERNEL code length safety margin in case of future increase.
More could be done here and there, but this is sufficient to bring all KERNEL variants' lengths down under 65536 with some margin, so that initial
MemBefore
table of all segment batches is padded to a smaller power of 2.Mostly revolves around:
PUSH @CONSTANT
withDUP
Note that we are considering adding some INCR / DECR privileged instruction, which would increase the KERNEL code length safety margin in case of future increase.