Rastreamento de Alocação de Memória do Firefox com eBPF

2025-05-31

O autor usou eBPF (extended Berkeley Packet Filter) para rastrear a alocação de memória no SpiderMonkey, o mecanismo JavaScript do Firefox. O objetivo inicial era identificar os locais de origem das criações frequentes de objetos Rooted para otimização de gerenciamento de memória. Usando a ferramenta bpftrace e probes de usuário (uprobes), o autor rastreou com sucesso a função `registerWithRootLists` e utilizou a função ustack para obter informações da pilha de chamadas. Por fim, o autor gerou relatórios e abriu várias solicitações de bugs, otimizando a alocação de memória e reduzindo dezenas de milhões de chamadas para `registerWithRootLists`.

Leia mais
Desenvolvimento