I’m tying all the passes together, and right now the compiler isn’t even generating good C code.
The bootstrapping code provides a “heap” and “stack” for us to play with (a couple of character arrays),
and provides some rudimentary bounds and alignment checking. All the code being produced right now
right now violates the alignment conditions we have on closures and data objects.
Poopies.
I need to put together a reasonably robust driver script to push all 200+ of our tests
through every pass, and make sure the code evaluates correctly at every step of the way.
Down at the UIL level, there are Scheme macros that let us run with msets
and mrefs in place; if everything tests out there, then I’m doing something
really silly.