Suivi de l'allocation mémoire de Firefox avec eBPF
2025-05-31
L'auteur a utilisé eBPF (extended Berkeley Packet Filter) pour suivre l'allocation mémoire dans SpiderMonkey, le moteur JavaScript de Firefox. L'objectif initial était d'identifier les emplacements sources des créations fréquentes d'objets Rooted pour optimiser la gestion de la mémoire. Utilisant l'outil bpftrace et les sondes utilisateur (uprobes), l'auteur a suivi avec succès la fonction `registerWithRootLists` et a utilisé la fonction ustack pour obtenir des informations sur la pile d'appels. Finalement, l'auteur a généré des rapports et ouvert plusieurs rapports de bogues, optimisant l'allocation mémoire et réduisant des dizaines de millions d'appels à `registerWithRootLists`.
Développement