Commit f20fe8de authored by Ian Lynagh's avatar Ian Lynagh
Browse files

Make LDV_FILL_SLOP use a forwards loop rather than a backwards loop

parent ea145221
......@@ -24,11 +24,11 @@ extern void LdvCensusKillAll ( void );
// 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.
......
......@@ -212,7 +212,7 @@ spin:
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;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment