diff options
author | simonmar@microsoft.com <unknown> | 2007-11-20 13:38:35 +0000 |
---|---|---|
committer | simonmar@microsoft.com <unknown> | 2007-11-20 13:38:35 +0000 |
commit | e13661a0c6359d7507f3683df123f8dfd776b719 (patch) | |
tree | 7e488dadc701ec9b0ecda1f98b407c3614b32f20 /rts | |
parent | 8db56c8606e6c0e89a87d34c3f67124f1e8b988e (diff) | |
download | haskell-e13661a0c6359d7507f3683df123f8dfd776b719.tar.gz |
fix boundary bugs in a couple of for-loops
Diffstat (limited to 'rts')
-rw-r--r-- | rts/sm/Scav.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/rts/sm/Scav.c b/rts/sm/Scav.c index 17e519db2a..3f68efbda0 100644 --- a/rts/sm/Scav.c +++ b/rts/sm/Scav.c @@ -1409,8 +1409,8 @@ scavenge_find_global_work (void) step_workspace *ws; flag = rtsFalse; - for (g = RtsFlags.GcFlags.generations; --g >= 0; ) { - for (s = generations[g].n_steps; --s >= 0; ) { + for (g = RtsFlags.GcFlags.generations-1; g >= 0; g--) { + for (s = generations[g].n_steps-1; s >= 0; s--) { if (g == 0 && s == 0 && RtsFlags.GcFlags.generations > 1) { continue; } @@ -1568,8 +1568,8 @@ any_work (void) // Check for global work in any step. We don't need to check for // local work, because we have already exited scavenge_loop(), // which means there is no local work for this thread. - for (g = RtsFlags.GcFlags.generations; --g >= 0; ) { - for (s = generations[g].n_steps; --s >= 0; ) { + for (g = RtsFlags.GcFlags.generations-1; g >= 0; g--) { + for (s = generations[g].n_steps-1; s >= 0; s--) { if (g == 0 && s == 0 && RtsFlags.GcFlags.generations > 1) { continue; } |