prometeu-runtime/files/VM RESET.md
2026-03-24 13:40:40 +00:00

1.6 KiB

7 — Coroutines (único modelo de concorrência, cooperativo)

7.1. Definir objeto Coroutine no heap: stack/frames próprios, status, wake time, mailbox/queue se existir. 7.2. Definir scheduler determinístico: fila pronta, fila dormindo, política estável. 7.3. Implementar SPAWN: criar coroutine + capturar entry + agendar. 7.4. Implementar YIELD: ceder controle de forma cooperativa (somente em locais válidos). 7.5. Implementar SLEEP: mover para fila dormindo até tick/time. 7.6. Integrar execução/switch apenas em safepoints (FRAME_SYNC). 7.7. Integrar GC roots: stacks suspensas e frames de todas as coroutines. 7.8. Verifier: invariantes (ex.: proibir yield em contextos ilegais, validar spawn args/ret). 7.9. Testes: determinismo (mesma ordem), sleep/wake, stress com GC + muitas coroutines.

8 — Tooling & test harness (para manter “JVM-grade”)

8.1. Disasm atualizado e confiável (roundtrip + snapshots). 8.2. Harness de execução determinística para testes (seed fixo, time controlado). 8.3. Suite de testes por camadas: bytecode (encode/decode), verifier, VM, GC, scheduler. 8.4. “No legacy artifacts” check: busca por símbolos/nomes (retain/release/hip/gate/scope), módulos mortos removidos.

9 — Hardening final e documentação do novo baseline

9.1. Consolidar documentação de arquitetura (curta, objetiva, em inglês). 9.2. Garantir que o “surface area” público está minimalista (APIs internas escondidas). 9.3. Remover qualquer feature flag temporária que tenha sobrado. 9.4. Rodar limpeza final: dead code, warnings, docs desatualizadas, exemplos antigos.