[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