[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