[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