[M3devel] Threads summary for m3gdb

Rodney M. Bates rodney.bates at wichita.edu
Thu Aug 9 01:20:22 CEST 2007


I have been doing some work on m3gdb lately and am mulling over
trying to improve the very rudimentary thread support.  With
the new thread implementation, it is a good time.  I would like
confirmation (or correction) of the following impressions I have
gotten about thread handling in implementations of Modula-3.

Here's what I think I understand:

The old system uses threads entirely implemented in libm3core,
using setjmp/longjmp to get execution moved around where it is
needed.

The new system, called for by -DPTHREAD  uses the pthreads library instead.

There is no use of any kind of kernel threads.

The old thread system is tied to the older GC, which requires that
system-dependent wrappers be used for many OS system calls.

The new thread system is tied to the new GC, which doesn't need
the wrappers, but has the compiler inserting calls to the GC in
a few places.

Is this all correct?

-- 
-------------------------------------------------------------
Rodney M. Bates, retired assistant professor
Dept. of Computer Science, Wichita State University
Wichita, KS 67260-0083
316-978-3922
rodney.bates at wichita.edu



More information about the M3devel mailing list