[M3devel] multi-threaded m3front?

Rodney M. Bates rodney_bates at lcwb.coop
Tue Aug 11 00:13:00 CEST 2015



On 08/09/2015 02:20 PM, Jay K wrote:
> Right, agreed -- this should work for LLVM, and the C compiler.
> LLVM should be multi-threadable in-proc too.
>
> Fixing m3front itself -- we'd have to identify and deal with all the globals.
> For the alloca/setjmp work I put the "globals" in Module.T.
>

There are also sequence constraints on order of compilation that the back ends
don't have.  At a minimum, a unit can't be front-ended (yes, I am told that
any word can be verbed, although I try to resist unless it has a really
useful conciseness benefit. ;-|) until all its imported and exported
interfaces have been front-ended, particularly, their .M3EXPORTS files
created.

>   - Jay
>
>
>  > Date: Sun, 9 Aug 2015 14:14:48 -0500
>  > From: rodney_bates at lcwb.coop
>  > To: m3devel at elegosoft.com
>  > Subject: Re: [M3devel] multi-threaded m3front?
>  >
>  >
>  >
>  > On 08/09/2015 11:58 AM, mika at async.caltech.edu wrote:
>  > >
>  > > I think this is a great idea. I made the back-end parallel already (at
>  > > least for the version of the compiler that calls the gcc-based backend).
>  >
>  > I believe this works for any executable(s) separate from cm3 itself.
>  >
>  > > To enable that you have to set "M3_PARALLEL_BACK" to the number of threads
>  > > you want to spawn in your cm3.cfg .
>  > >
>  > > Mika
>  > >

.....

-- 
Rodney Bates
rodney.m.bates at acm.org



More information about the M3devel mailing list