From 24d6962c0f5bb7f101cb2e0d83eced17e27c7d39 Mon Sep 17 00:00:00 2001 From: bQUARKz Date: Fri, 20 Feb 2026 11:27:54 +0000 Subject: [PATCH] pr7.6 --- files/TODOs.md | 30 ------------------------------ files/Tests.md | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 30 deletions(-) create mode 100644 files/Tests.md diff --git a/files/TODOs.md b/files/TODOs.md index d08a5ac4..33b5c90a 100644 --- a/files/TODOs.md +++ b/files/TODOs.md @@ -1,33 +1,3 @@ -# PR-7.6 — Safepoint Integration - -## Briefing - -Execution switching must occur only at safepoints. - -## Target - -Switch coroutine only: - -* After FRAME_SYNC -* After instruction completes - -Never mid-instruction. - -## Checklist - -* [ ] Switch only at safepoints. -* [ ] No reentrancy. - -## Tests - -* Stress test switching under heavy loops. - -## Junie Rules - -You MUST enforce deterministic switching. - ---- - # PR-7.7 — GC Integration ## Briefing diff --git a/files/Tests.md b/files/Tests.md new file mode 100644 index 00000000..cdbbd050 --- /dev/null +++ b/files/Tests.md @@ -0,0 +1,15 @@ +Stress test outline (to add in PR‑7.9 or here if desired) +• +Build a bytecode program with a tight loop containing arithmetic + occasional YIELD and ensure: +◦ +Under tiny budgets (1–n cycles), pc progression is identical across runs. +What I changed and why +Open in editor +◦ +Switches (simulated by alternating between two VMs) occur only +▪ +immediately after step() completes, or +▪ +when run_budget returns FrameSync. +◦ +No observable state change occurs when force‑switching between two VMs mid‑tick except at these safepoints. \ No newline at end of file