summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorsimonmar@microsoft.com <unknown>2007-11-20 13:38:35 +0000
committersimonmar@microsoft.com <unknown>2007-11-20 13:38:35 +0000
commite13661a0c6359d7507f3683df123f8dfd776b719 (patch)
tree7e488dadc701ec9b0ecda1f98b407c3614b32f20 /rts
parent8db56c8606e6c0e89a87d34c3f67124f1e8b988e (diff)
downloadhaskell-e13661a0c6359d7507f3683df123f8dfd776b719.tar.gz
fix boundary bugs in a couple of for-loops
Diffstat (limited to 'rts')
-rw-r--r--rts/sm/Scav.c8
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;
}