refactor: 退役根重写镜像与对象克隆重写族,保留原地 sweep 弱键定夺

This commit is contained in:
2026-10-02 19:24:56 +00:00
parent 89655f0b7f
commit 43acaacd08
10 changed files with 11 additions and 424 deletions
-30
View File
@@ -107,33 +107,3 @@ pub(crate) fn for_each_job_value(job: &Microtask, mut f: impl FnMut(JsValue)) {
}
}
}
/// 供外部改写微任务队列中的 JsValue(session GC sweep 用)。
#[allow(dead_code)]
pub(crate) fn rewrite_job_values(job: &mut Microtask, mut rewrite: impl FnMut(JsValue) -> JsValue) {
match job {
Microtask::Reaction {
handler,
argument,
resolve,
reject,
..
} => {
*handler = rewrite(*handler);
*argument = rewrite(*argument);
*resolve = rewrite(*resolve);
*reject = rewrite(*reject);
}
Microtask::Thenable {
thenable,
then,
resolve,
reject,
} => {
*thenable = rewrite(*thenable);
*then = rewrite(*then);
*resolve = rewrite(*resolve);
*reject = rewrite(*reject);
}
}
}