Инициатива по уходу от привязки к Mozilla SpiderMonkey в браузерном движке Servo

Разработчики браузерого движка Servo представили инициативу по усилению модульности и уходу от использования низкоуровневых API JavaScript-движка SpiderMonkey, развиваемого компанией Mozilla и применяемого в Servo для обеспечения поддержки JavaScript и WebAssembly. В дальнейшем Servo планируют перевести на более высокоуровневый API и слой абстракций для взаимодействия с JavaScript-движками, что даст возможность избавиться от небезопасных прямых обращений к коду SpiderMonkey, выполняемых в блоках unsafe. В отдалённой перспективе изменение позволит уйти от жёсткой привязи к SpiderMonkey и обеспечить поддержку других движков JavaScript и WebAssembly, таких как используемый в Chrome движок V8.

Проект Servo написан на языке Rust и отличается поддержкой многопоточного рендеринга web-страниц, распараллеливанием операций с DOM (Document Object Model) и задействованием предоставляемых языком Rust механизмов безопасного программирования. Проект Servo изначально развивался компанией Mozilla, но затем перешёл под покровительство организации Linux Foundation. Servo изначально создан с поддержкой разбиения кода DOM и рендеринга на более мелкие подзадачи, которые могут выполняться параллельно и более эффективно использовать ресурсы многоядерных CPU. В Firefox уже интегрированы некоторые части Servo, такие как многопоточный CSS-движок и система отрисовки WebRender.

Release. Ссылка here.