pr7.6
This commit is contained in:
parent
3f50bdaa70
commit
24d6962c0f
@ -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
|
||||
|
||||
15
files/Tests.md
Normal file
15
files/Tests.md
Normal file
@ -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.
|
||||
Loading…
x
Reference in New Issue
Block a user