improve handling of local stack expansion.

This commit is contained in:
Vitor Santos Costa 2008-11-14 14:54:25 +00:00
parent f5e1b6d029
commit e62ae6be36
1 changed files with 12 additions and 3 deletions

View File

@ -62,7 +62,10 @@ inline EXTERN CELL *PtoDelayAdjust (CELL *);
inline EXTERN CELL *
PtoDelayAdjust (CELL * ptr)
{
return (CELL *) (((CELL *) (CharP (ptr) + DelayDiff)));
if (!GSplit || ptr < GSplit)
return (CELL *) (((CELL *) (CharP (ptr) + DelayDiff)));
else
return (CELL *) (((CELL *) (CharP (ptr) + GDiff0)));
}
@ -149,7 +152,10 @@ inline EXTERN CELL DelayAdjust (CELL);
inline EXTERN CELL
DelayAdjust (CELL val)
{
return (CELL) (val + DelayDiff);
if (!GSplit || (CELL *)val < GSplit)
return (CELL) (val + DelayDiff);
else
return (CELL) (val + GDiff0);
}
@ -173,7 +179,10 @@ inline EXTERN ADDR DelayAddrAdjust (ADDR);
inline EXTERN ADDR
DelayAddrAdjust (ADDR ptr)
{
return (ADDR) ((ptr + DelayDiff));
if (!GSplit || (CELL *)ptr < GSplit)
return (ADDR) ((ptr + DelayDiff));
else
return (ADDR) ((ptr + GDiff0));
}