[M3devel] Status of CM3

mika at async.caltech.edu mika at async.caltech.edu
Wed May 28 20:25:03 CEST 2014

Jay K writes:
>> B) We want to convert FreeBSD to c-backend
>I believe I tested FreeBSD/x86 and/or FreeBSD/amd64 with the C backend.
>Specifically=2C I no longer have shelves full of a myriad of computers=2C b=
>ut I have x86 and AMD64 VMs on a Mac readily accessible (i.e. Linux=2C Open=
>BSD=2C FreeBSD=2C NetBSD)=2C I have the Solaris opencsw sparc32/sparc64/x86=
>/amd64 machines=2C I have the Mac=2C I have Windows=2C I have the Elego Deb=
>ian/amd64 maybe Debian/x86 machine and I tested many/all of these successfu=
>lly. PPC/Mac can't entirely be tested on x86/Mac because Rosetta doesn't of=
>fer the thread/suspend/getcontext stuff -- something cooperative suspend wi=
>ll fix eventually.

I don't think the C backend is perfect.  If you want to switch
unconditionally, I'll have to make time to help debug it.  My fuzzy 
memory, as I mentioned, is that there's some unexplained segfault.
Ah it was with Juno, I think.  Trestle?  Overflow in window resizing?
Something like that?  Ring a bell for anyone?

I quite like the native backends.  The code is more compact than
the C backend's.  I haven't done a performance comparison... I know
performance of Modula-3 code has in general been sliding backwards
through the versions.  Things just get slower and slower and slower
with time.  I think it's a shame because Modula-3's niche (well the one
I am interested in) is to be "almost the performance and simplicity of
C with the safety of Java (and some cool software engineering stuff)".
CM3 definitely compromised this, and while they added some cool new
features, most of them (e.g., dynamic relinking of running programs) as
far as I know are not being used.  The work on cleaning up TEXTs has 
gone a ways to remedying the situation but I think there's much else.
Ok now I'm off on a tangent...


More information about the M3devel mailing list