[Vm-dev] Where/what sets NoDbgRegParms?
gettimothy
gettimothy at zoho.com
Sat Nov 15 21:26:58 UTC 2014
Hi guys,
On my system, NoDbgRegparms is set such that in Cog/src/vm/cogit.h and Cog/src/vm/cointerp.h the follwoing lines:
#if !PRODUCTION && defined(__GNUC__) && !defined(NoDbgRegParms)
# define NoDbgRegParms __attribute__ ((regparm (0)))
#endif
#if !defined(NoDbgRegParms)
# define NoDbgRegParms /*empty*/
#endif
resolve to
#if TRUE && TRUE && FALSE
# define NoDbgRegParms __attribute__ ((regparm (0)))
#endif
#if FALSE
# define NoDbgRegParms /*empty*/
#endif
which means the NoDbgRegParms in the function declarations are never removed in cogit.c and cointerp.c
example:
static sqInt abstractRegisterForConcreteRegister(AbstractInstruction * self_in_abstractRegisterForConcreteRegister, sqInt reg) NoDbgRegParms;
My problem is I cannot find where the dang thing is defined. I have grepped to no avail from the top of the Cog svn tree with
grep -rn NoDbgRegParms --exclude=mvm --exclude=*.c *
and nothing.
Any ideas on where to look?
thx.
btw, when I force the NoDbgRegparms to be empty, things compile just fine form build.linux32x86/squeak.cog.v3/bld/mvm which was my problem when I had to detour for a bit.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20141115/3c72e645/attachment.htm
More information about the Vm-dev
mailing list