[M3commit] CVS Update: cm3

Tony Hosking hosking at cs.purdue.edu
Sun Jul 4 02:36:20 CEST 2010

I am very disturbed that volatile is needed here.  Can we selectively turn it on for thread-critical files like ThreadPThread and see if it fixes the problem.  I wonder if the double-checked locking is broken for PPC memory model.  Is this on a multi-processor?

On 3 Jul 2010, at 12:57, Jay Krell wrote:

> CVSROOT:	/usr/cvs
> Changes by:	jkrell at birch.	10/07/03 12:57:09
> Modified files:
> 	cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c 
> Log message:
> 	restore volatile for powerpc and powerpc64 platforms
> 	This seems to fix PPC_LINUX hanging.
> 	This needs further debugging, but I'm not eager.
> 	This will also affect PPC_DARWIN, PPC64_DARWIN, PPC32_OPENBSD,
> 	PPC32_NETBSD, PPC32_FREEBSD, etc., but these platforms are little used or
> 	nonexistant.
> 	Having volatile like has been the very long standing situation though.
> 	The result is that the optimizer does basically nothing.

More information about the M3commit mailing list