1.3 KiB
1.3 KiB
PR-O4.1 - Callable Signature Identity and Dense Symbol Table
Briefing
Eliminar ambiguidade de callsites no backend substituindo resolucao por nome simples por identidade canônica de callable baseada em assinatura.
Target
- Modelo
IRBackend/IRBackendExecutableFunction. - Lowering PBS para callsites
CALL_FUNC. - Backend
LowerToIRVMno mapeamento de callee. - Infra
source/tablespara simbolos de callable.
Method
- Introduzir
CallableIdeCallableSignatureRefusandoDenseTable/InternTableemsource/tables. - FE emite
calleeCallableIdparaCALL_FUNCem vez de lookup textual por nome. - Chave canônica de assinatura:
module + callable + arity + type-shape. - Backend resolve
CALL_FUNCpor id canônico, sem heuristicaputIfAbsent(name).
Acceptance Criteria
- Overloads válidos com mesmo nome e assinaturas diferentes chamam alvo correto.
- Não há resolução de callee por nome simples no caminho executável.
- Mesmo grafo de entrada gera mesma tabela densa de callables.
- Falha de resolução gera erro determinístico de lowering.
Tests
- Fixtures com overloads por aridade e por shape de tipo.
- Regressão negativa para callsite sem
CallableIdválido. - Teste de determinismo de IDs de callable entre execuções.