1.5 KiB
1.5 KiB
PR-036 - Backend IRVM Core Model and Validator
Briefing
Criar o modelo IRVM quase-ISA e validador estrutural compile-time, base para LowerToIRVM, OptimizeIRVM e EmitBytecode.
Target
- Introduzir tipos de
IRVM(modulo, funcao, instrucao, operandos, labels). - Suportar opcodes Core ISA e opcodes internos (
IRVM_EXT) com metadados obrigatorios. - Implementar validacao estrutural minima de controle/pilha/calls.
Method
- Criar API de instrucao com
pops,pushes,is_branch,is_terminator. - Implementar verificador de fronteira compiler-side:
- alvo de salto valido,
- join de stack consistente,
- underflow/overflow,
- retorno coerente com
return_slots, - validade de
func_id.
- Definir contrato de serializacao bloqueando
IRVM_EXTna fronteira de emissao.
Acceptance Criteria
IRVMsuporta representacao de Core ISA e extensoes internas eliminaveis.- Validador detecta inconsistencias estruturais requeridas pela spec 20.
- Falhas sao deterministicas e categorizadas como
MARSHAL_VERIFY_PRECHECK_*quando aplicavel. - Resultado do validador pode ser consumido por stages de optimize/emissao.
Tests
- Teste unitario para salto invalido e salto para meio de instrucao.
- Teste unitario para mismatch de stack em join.
- Teste unitario para retorno com shape invalido.
- Teste unitario para
IRVM_EXTresidual bloqueando emissao.
Affected Documents
docs/general/specs/20. IRBackend to IRVM Lowering Specification.mddocs/general/specs/19. Verification and Safety Checks Specification.md