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

View File

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