3.2 KiB
PR-2.4 — Consolidate Trap and Error Surface
Briefing
With HIP removed, the runtime trap surface must be simplified and aligned with the new stack+heap model.
Target
- Define a minimal, coherent set of runtime traps.
- Remove traps that only existed for HIP/RC semantics.
Work items
-
Audit the VM’s trap/error enums.
-
Remove HIP/RC-related traps.
-
Keep only traps that remain meaningful, such as:
- Illegal instruction.
- Stack underflow/overflow.
- Invalid jump target.
- Out-of-bounds memory access.
-
Ensure trap handling paths are consistent and deterministic.
Acceptance checklist
- Trap enum contains only relevant traps.
- No HIP/RC trap names remain.
- VM compiles and tests pass.
Tests
- Adjust any tests expecting removed trap codes.
Junie instructions
You MAY:
- Delete unused trap variants.
- Refactor match statements accordingly.
You MUST NOT:
- Add new trap categories without approval.
- Change the meaning of existing non-legacy traps.
If unclear:
- Ask before modifying trap semantics.
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.