| author | |
| committer | |
| log | 5b46e1f7f4db2ce06b4f150d653d98cf8363f348 |
| tree | a3e472fa95b3a102162de18f3df0ddf0b69fa501 |
| parent | 3fdcbc03d43246a39411725b1e4e23e862d32b82 |
| signature |
makeStep() requires that the caller subtracts the step's max_rss from
available_rss, and that is indeed done in readyStep(). However, makeStep()
*itself* failed to do this when dispatching memory-blocked steps, thus largely
undermining the mechanism.1 files changed, 1 insertions(+), 0 deletions(-)
lib/compiler/Maker.zig+1| ... | ... | @@ -2730,6 +2730,7 @@ fn makeStep( |
| 2730 | 2730 | const candidate_max_rss = candidate_index.ptr(c).max_rss.toBytes(); |
| 2731 | 2731 | if (maker.available_rss < candidate_max_rss) break; |
| 2732 | 2732 | assert(maker.memory_blocked_steps.pop() == candidate_index); |
| 2733 | maker.available_rss -= candidate_max_rss; | |
| 2733 | 2734 | dispatch_set.appendAssumeCapacity(candidate_index); |
| 2734 | 2735 | } |
| 2735 | 2736 | } |