merge back from trunk
Next stage of fixing the break/continue generation.
Stack cleanup works now even in the most evil expansion cases.
Even better tests
merge trunk
[Bugs 2835313, 3614226]: Complete the construction of break/continue compilers
that get the stack cleanup right, even when there's expansion going on.
More cleaning up; factor out optimizer to new file. Some weird problems still.
Stack Depth fixups.
Repair TCL_COMPILE_DEBUG guards
[Bugs 2835313, 3614226, 3614342]: Complete the construction of break/continue
compilers that get the stack cleanup right, even when there's expansion going
on.
merge fixes
Corrected wrong information about instruction width that was causing an optimizer crash.
Added the optimizer...
Working on the optimizer, and finding a few bugs in bytecode generation.
Added optimizing of jump-to-nop and jump-to-jump cases. Ta to AK for suggesting.
Split the optimizer up. Remove the dreaded 'goto' from which doesn't need it.
Minor grammar fix.
Working on the optimizer.
3614360 Repair stack demands of optimized compiled [return LITERAL].
3614382 Fix stack management of compiled [dict for] by shifting limits
of the catch range.