This makes the size field 16-bit, for more efficient code than the
32-bit long. To distinguish padding, instead of negative sizes, use
bit 0, which can be used as the size needs to be a multiple of the
chunk alignment.
I tested this successfully with FreeCOM (which needs a 10K heap instead of 6K with OW, so there are still some changes needed)
This makes the size field 16-bit, for more efficient code than the 32-bit long. To distinguish padding, instead of negative sizes, use bit 0, which can be used as the size needs to be a multiple of the chunk alignment.
I tested this successfully with FreeCOM (which needs a 10K heap instead of 6K with OW, so there are still some changes needed)