[M3devel] Status of CM3

Tony Hosking hosking at cs.purdue.edu
Wed May 28 21:32:40 CEST 2014


What is really needed is some time and attention put in to bring the CM3 runtime up to date with respect to advances in the field of runtime systems (as witnessed by Java, Go, etc.): lightweight locking ("biased" locking), cooperative GC safepoints, integration with a modern code generator (LLVM!), on-the-fly GC (avoiding the need for stopping the world).

It would be wonderful to attack these, but they are also somewhat interrelated (on-the-fly depends on per-thread safepoint handshakes, biased locking requires compiler work, etc.).  So they cannot be simply carved off independently.

On May 28, 2014, at 2:25 PM, mika at async.caltech.edu wrote:

> Jay K writes:
>> --_af0f88f0-4e39-4643-873b-5267a8c2a602_
> ...
>>> B) We want to convert FreeBSD to c-backend
>> 
>> 
>> I believe I tested FreeBSD/x86 and/or FreeBSD/amd64 with the C backend.
>> =20
>> =20
>> 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...
> 
>   Mika

Antony Hosking | Associate Professor | Computer Science | Purdue University
305 N. University Street | West Lafayette | IN 47907 | USA
Mobile +1 765 427 5484





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20140528/2368d3c9/attachment-0002.html>


More information about the M3devel mailing list