31 lines
1.0 KiB
Markdown
31 lines
1.0 KiB
Markdown
# PR-O1.5 - Bytecode Debug Minimum Completeness
|
|
|
|
## Briefing
|
|
|
|
Garantir conformidade integral com o minimo de debug v1: `function_names` para todas as funcoes e `pc_to_span` para todo inicio de instrucao emitida.
|
|
|
|
## Target
|
|
|
|
- `BytecodeEmitter` e `BytecodeFunctionLayoutBuilder`.
|
|
- Estrutura `BytecodeModule.DebugInfo`.
|
|
- Testes de emissao/debug.
|
|
|
|
## Method
|
|
|
|
- Registrar spans de todas as instrucoes emitidas (nao apenas host/intrinsic).
|
|
- Definir fallback deterministico para instrucoes sem span source-especifico.
|
|
- Validar que toda funcao emitida possui nome em `function_names`.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- `pc_to_span` cobre 100% dos instruction starts do modulo emitido.
|
|
- `function_names` cobre 100% dos `func_idx`.
|
|
- Falha de integridade de debug e detectada antes da serializacao final.
|
|
- Output permanece deterministico entre execucoes.
|
|
|
|
## Tests
|
|
|
|
- Testes em `BytecodeFunctionLayoutBuilderTest` e `BytecodeEmitterTest` para cobertura completa de PCs.
|
|
- Fixture com multiplas funcoes e misto de opcodes.
|
|
- Teste negativo para span fora de faixa.
|