// Invoked when:
// 1) Hp is incremented and exceeds HpLim (in Updates.hc).
// 2) copypart() is called (in GC.c).
-#define LDV_FILL_SLOP(from, howManyBackwards) \
+#define LDV_FILL_SLOP(from, howMany) \
if (era > 0) { \
int i; \
- for (i = 1;i <= (howManyBackwards); i++) \
- ((StgWord *)(from))[-i] = 0; \
+ for (i = 0;i < (howMany); i++) \
+ ((StgWord *)(from))[i] = 0; \
}
// Informs the LDV profiler that closure c has just been evacuated.
SET_EVACUAEE_FOR_LDV(from, size_to_reserve);
// fill the slop
if (size_to_reserve - size_to_copy > 0)
- LDV_FILL_SLOP(to + size_to_reserve, (int)(size_to_reserve - size_to_copy));
+ LDV_FILL_SLOP(to + size_to_copy, (int)(size_to_reserve - size_to_copy));
#endif
return rtsTrue;