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.
armedbear-devel@common-lisp.net