2.1 KiB
2.1 KiB
PR-2.5 — Prepare Call Frame Structure for Closures and Coroutines
Briefing
Before introducing closures and coroutines, the call frame structure must be neutral and future-proof, without HIP-specific fields.
Target
- Simplify the call frame to a minimal, generic structure.
- Remove any HIP/borrow/gate-related fields.
Work items
-
Review the call frame struct.
-
Remove fields tied to scope frames, borrow state, or gates.
-
Ensure the frame contains only:
- Function identifier.
- Program counter.
- Base stack pointer.
- Locals or register area (if applicable).
-
Keep the structure simple and extensible.
Acceptance checklist
- Call frame struct has no HIP-related fields.
- VM call/return paths compile and work.
cargo testpasses.
Tests
- Existing call-related tests must still pass.
Junie instructions
You MAY:
- Remove unused fields from the frame.
- Refactor call/return code to match the new structure.
You MUST NOT:
- Introduce closure or coroutine logic yet.
- Redesign the call stack architecture.
If unclear:
- Ask before changing frame responsibilities.
PR-2.6 — Remove Dead Runtime Modules and Symbols
Briefing
After the VM reset, there will be leftover modules, helpers, or symbols that are no longer referenced. This PR performs a final cleanup pass.
Target
- Remove dead or unreachable runtime code.
- Ensure the VM crate has a minimal, clean surface.
Work items
-
Use compiler warnings and search tools to find:
- Unused modules.
- Unused structs/enums/functions.
- Legacy HIP/RC terminology.
-
Remove dead code.
-
Update module trees and public exports.
Acceptance checklist
- No dead modules remain.
- No HIP/RC terminology found in the VM crate.
cargo testpasses.
Tests
- Existing tests only.
Junie instructions
You MAY:
- Remove unused code and modules.
- Update
mod.rsand exports.
You MUST NOT:
- Remove code that is still referenced.
- Replace deleted modules with new experimental ones.
If unclear:
- Ask before deleting anything that looks structurally important.