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