[M3devel] setjmp/longjmp still missing volatile

Jay K jay.krell at cornell.edu
Thu Nov 11 00:29:33 CET 2010


I'll try to run volatization after the variables are introduced.
I still like the idea of the frontend unnesting nested functions.
It'd probably help here.
I'm very willing to selectively suppress inlining to fix this, which
I had done, but I'd rather not broadly suppress inlining.
 
 - Jay


----------------------------------------
> From: jay.krell at cornell.edu
> To: hosking at cs.purdue.edu
> CC: m3devel at elegosoft.com
> Subject: RE: [M3devel] setjmp/longjmp still missing volatile
> Date: Wed, 10 Nov 2010 21:00:34 +0000
>
>
> No, and it doesn't.
> Variables are introduced later.
>
> - Jay
>
> ________________________________
> > From: hosking at cs.purdue.edu
> > Date: Wed, 10 Nov 2010 10:14:01 -0500
> > To: jay.krell at cornell.edu
> > CC: m3devel at elegosoft.com
> > Subject: Re: [M3devel] setjmp/longjmp still missing volatile
> >
> > Did you disable inlining on everything?
> > Really, the volatilize code should handle this!
> >
> > Antony Hosking | Associate Professor | Computer Science | Purdue University
> > 305 N. University Street | West Lafayette | IN 47907 | USA
> > Office +1 765 494 6001 | Mobile +1 765 427 5484
> >
> >
> >
> >
> > On Nov 10, 2010, at 8:15 AM, Jay K wrote:
> >
> >
> > nevermind, I found a workaround that is probably ok
> > a deoptimization but it shouldn't be common and significant
> > But it also isn't the expected one. I figured volatile somewhere would
> > do the trick,
> > not avoiding inlining.
> >
> > - Jay
> >
> > ----------------------------------------
> > From: jay.krell at cornell.edu
> > To: m3devel at elegosoft.com
> > Date: Wed, 10 Nov 2010 12:48:14 +0000
> > Subject: [M3devel] setjmp/longjmp still missing volatile
> >
> >
> > == package /Users/jay/dev2/cm3/elego/m3msh ==
> >
> > +++ /cm3/bin/cm3 -build -DROOT=/Users/jay/dev2/cm3 +++
> > --- building in AMD64_DARWIN ---
> >
> > ignoring ../src/m3overrides
> >
> > new source -> compiling M3MiniShell.m3
> > ../src/M3MiniShell.m3: In function 'M3MiniShell__ProcessParameters':
> > ../src/M3MiniShell.m3:608:0: error: variable '_nonlocal_var_rec.188'
> > might be clobbered by 'longjmp' or 'vfork'
> > m3_backend => 1
> >
> >
> >
> > I've been sprinkling volatile around, no luck yet..
> >
> > - Jay
> >
> >
> >
> >
> >
> >
> >
> 		 	   		  


More information about the M3devel mailing list