Caches Inline do SpiderMonkey: Além do Caching Simples
Este artigo mergulha na implementação de caches inline (IC) no motor JavaScript SpiderMonkey. Ao contrário do caching tradicional, o IC do SpiderMonkey é uma técnica de código automodificável. Ele insere uma série de stubs nos locais de chamada, selecionando dinamicamente caminhos de execução eficientes com base nos tipos de entrada. A primeira chamada executa um caminho de fallback e gera stubs correspondentes com base no resultado. Chamadas subsequentes do mesmo tipo atingem o cache, melhorando significativamente a eficiência. O artigo usa a adição JavaScript como exemplo para explicar como o IC funciona e menciona a arquitetura CacheIR mais recente do SpiderMonkey, que abstrai os detalhes dos ICs para permitir o compartilhamento entre diferentes compiladores.
Leia mais