Оптимзиация отладчика JavaScript в Firefox Dev Tools

Джим Бланди и Гарольд Киршнер из команды Firefox рассказали про то, как они оптимизировали JavaScript-отладчик в инструментах разработчика — "Future-proofing Firefox’s JavaScript Debugger Implementation".

Отладчик в Firefox состоит из фронтенда, написанного на React и Redux, и слоя интеграции с JS-движком SpiderMonkey. Именно про оптимизацию этого слоя рассказывается в статье. Одна из оптимизаций заключалась в упрощении реализации сборщика мусора. Отладчик использует Debugger API, который доступен в коде dev tools с помощью объекта Debugger. Для установки текущего состояния отладки js-кода использовался специальный флаг Debugger.enabled, который создал много проблем в реализация сборщика мусора. В процессе чистки кода от этого флага избавились, значительно упростив код в самом отладчике и js-движке.

Статья очень техническая, но прочитать стоит, если интересуетесь, как работают браузеры под капотом.

https://hacks.mozilla.org/2020/03/future-proofing-firefoxs-javascript-debugger-implementation/

← На главную