Commit deda5eaa authored by simonmar's avatar simonmar
Browse files

[project @ 2005-07-26 15:16:40 by simonmar]

Avoid recording objects in the mutable list of generation 0 (bug
introduced on the HEAD recently, it seems)
parent f3c86836
...@@ -3063,7 +3063,9 @@ scavenge(step *stp) ...@@ -3063,7 +3063,9 @@ scavenge(step *stp)
*/ */
if (failed_to_evac) { if (failed_to_evac) {
failed_to_evac = rtsFalse; failed_to_evac = rtsFalse;
recordMutableGen((StgClosure *)q, stp->gen); if (stp->gen_no > 0) {
recordMutableGen((StgClosure *)q, stp->gen);
}
} }
} }
...@@ -3400,7 +3402,9 @@ linear_scan: ...@@ -3400,7 +3402,9 @@ linear_scan:
if (failed_to_evac) { if (failed_to_evac) {
failed_to_evac = rtsFalse; failed_to_evac = rtsFalse;
recordMutableGen((StgClosure *)q, &generations[evac_gen]); if (evac_gen > 0) {
recordMutableGen((StgClosure *)q, &generations[evac_gen]);
}
} }
// mark the next bit to indicate "scavenged" // mark the next bit to indicate "scavenged"
...@@ -4075,7 +4079,9 @@ scavenge_large(step *stp) ...@@ -4075,7 +4079,9 @@ scavenge_large(step *stp)
p = bd->start; p = bd->start;
if (scavenge_one(p)) { if (scavenge_one(p)) {
recordMutableGen((StgClosure *)p, stp->gen); if (stp->gen_no > 0) {
recordMutableGen((StgClosure *)p, stp->gen);
}
} }
} }
} }
......
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