Skip to content

Merge train: #9618 (idle-time old-gen reclaim) - #9627

Merged
proggeramlug merged 1 commit into
mainfrom
land-train91
Sep 3, 2026
Merged

Merge train: #9618 (idle-time old-gen reclaim)#9627
proggeramlug merged 1 commit into
mainfrom
land-train91

Conversation

@proggeramlug

Copy link
Copy Markdown
Contributor

Lands #9618 (idle-time old-generation reclaim, #9589): js_wait_for_event hands the collector the moment before it parks — an open budgeted cycle is finished there, and after a 3 s quiet window an owed full cycle runs in wake-checked 4 ms slices with rate limiting and exponential backoff on unproductive fulls. The reclaim tail also purges mimalloc so RSS follows reclaimed pages down.

Audited against the GC knob kill-policy: the PERRY_GC_IDLE_RECLAIM=0 OFF state has an asserting arm ("must leave the idle heap untouched"), and the ON arm asserts subject liveness (idle_reclaim_completions == Some(1)) with a negative control on the parser — so it is not a gate that cannot fail.

Validation: run_lint_gates.sh all 62 gates pass; release build green; RUST_TEST_THREADS=1 perry-runtime 3046/0; issue_9589_idle_reclaim_heap_descends 2/2.

#9620 was held out of this train for a separate rooting question (reported on that PR).

Rebase-merge preserving authorship.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant