when call made to reentrant support functions
eg (when _moduint/_muluint ...etc are called)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@84
4a8a32a2-be11-0410-ad9d-
d568d2c75423
int nArgs , int rent)
{
symbol *sym;
int nArgs , int rent)
{
symbol *sym;
/* create the symbol */
sym = newSymbol (name,0);
/* create the symbol */
sym = newSymbol (name,0);
args = sym->args = newValue();
while (nArgs--) {
args = sym->args = newValue();
while (nArgs--) {
+ argStack += getSize(type);
args->type = copyLinkChain(argType);
args->etype = getSpec(args->type);
if (!nArgs)
args->type = copyLinkChain(argType);
args->etype = getSpec(args->type);
if (!nArgs)
/* save it */
addSymChain(sym);
sym->cdef = 1;
/* save it */
addSymChain(sym);
sym->cdef = 1;
+ sym->argStack = (rent ? argStack : 0);
allocVariables (sym);
return sym;
allocVariables (sym);
return sym;
op->key = sym->key ;
op->isvolatile = isOperandVolatile(op,TRUE);
op->isGlobal = isOperandGlobal(op);
op->key = sym->key ;
op->isvolatile = isOperandVolatile(op,TRUE);
op->isGlobal = isOperandGlobal(op);
+ op->parmBytes = sym->argStack;
int liveTo ; /* live to sequence number */
int used ; /* no. of times this was used */
int recvSize ; /* size of first argument */
int liveTo ; /* live to sequence number */
int used ; /* no. of times this was used */
int recvSize ; /* size of first argument */
+ int argStack ; /* stacks used by parameters */