[Openmcl-devel] 1.12 release plans
R. Matthew Emerson
rme at acm.org
Thu Feb 1 12:21:38 PST 2018
Now that version 1.11.5 of CCL has been released, it's time to turn our attention to preparing a 1.12 release.
The most significant change for 1.12 is compiler work done by Gary Byers on a new register allocation scheme for the x86-64 backend. Please see https://github.com/Clozure/ccl/blob/master/doc/compiler-changes-in-CCL-1.12-trunk.pdf for some notes on those changes.
This work has caused some colleteral damage to the 32-bit x86 compiler, which currently fails a number of tests. (The x86 backends are largely shared, and I believe this is starting not to be a good idea.)
The question, then, is what should be done about the 32-bit x86 backend? I'm kind of emotionally attached to it, since I wrote most of it, but I think it's reasonable to ask if it makes sense to keep it around.
Apple has made it clear that it wants to drop support for 32-bit binaries on the Macintosh: they say that macOS High Sierra will be the last release that supports 32-bit software "without compromise". Thus, I think that dropping 32-bit x86 for the Macintosh in the 1.12 release of CCL is probably justified.
For other platforms, the place of 32-bit x86 is less clear. I could imagine keeping 32-bit x86 on tiny (even embedded) systems, but frankly, it looks to me like Intel has lost that market to ARM.
There might be a case for maintaining support for 32-bit x86 on Windows. That way, your program can still run on your kid's (or your grandmother's) old Windows PC.
So, the options I see are:
* Keep the x86 backend unified, but track down and fix the 32-bit bugs
* Separate 32-bit and 64-bit x86 backends. That way, 64-bit backend can evolve without having to worry about messing up its 32-bit counterpart.
* Just drop support 32-bit x86 entirely.
I'd be interested to hear your thoughts about this.
More information about the Openmcl-devel
mailing list