[M3commit] CVS Update: cm3
    Jay Krell 
    jkrell at elego.de
       
    Tue Dec 28 13:19:22 CET 2010
    
    
  
CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	10/12/28 13:19:22
Modified files:
	cm3/m3-libs/m3core/src/: m3core.h 
	cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c 
Log message:
	Try to avoid inlining of ThreadInternal__StackGrowsDown, ThreadInternal__StackGrowsDownHelper
	by use of __declspec(noinline) or __attribute__((noinline)) on compilers
	that support them.
	
	In particular, if ThreadInternal__StackGrowsDownHelper is inlined,
	then the locals aren't necessarily "in the expected relative locations"
	and the return value could be wrong.
	
	We should probably #ifdef here to force the answer.
	e.g. x86, amd64, sparc, alpha, ia64, vax, etc., all always grow down
	e.g. hppa grows up
	
	We might also try inhibiting inlining/optimization by using recursion?
    
    
More information about the M3commit
mailing list