This commit is contained in:
bQUARKz 2026-02-20 11:27:54 +00:00
parent 3f50bdaa70
commit 24d6962c0f
Signed by: bquarkz
SSH Key Fingerprint: SHA256:Z7dgqoglWwoK6j6u4QC87OveEq74WOhFN+gitsxtkf8
2 changed files with 15 additions and 30 deletions

View File

@ -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 # PR-7.7 — GC Integration
## Briefing ## Briefing

15
files/Tests.md Normal file
View File

@ -0,0 +1,15 @@
Stress test outline (to add in PR7.9 or here if desired)
Build a bytecode program with a tight loop containing arithmetic + occasional YIELD and ensure:
Under tiny budgets (1n 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 forceswitching between two VMs midtick except at these safepoints.