Just a second ago, I've merged the unsafe-p-removal branch to trunk.
It's been sitting in its own branch, completed, for about 4 weeks,
waiting for us to release 0.24.0 - which cleared trunk for
destabilizing changes.
The purpose of the change is to push the responsibility of maintaining
stack consistency (ie. prevent 'stack inconsistency' class
verification exceptions) to pass2. Before, this responsibility was a
joint effort between pass1 and pass2, with a heavy focus on pass1.
However since we started inlining local functions, not enough
information is available in pass1 anymore to execute its
responsibilities correctly.
In pass2 all information is available to take on this responsibility
and with some additional infrastructure, that's what this change
achieves.
Due to the fact that quite a bit of pass2 code has been refactored,
the change could have a slightly destabilizing effect on trunk. Please
help test your software on ABCL to make sure we release - when we do -
code as stable as ever!
Bye,
Erik.