The developers of the Servo browser engine have introduced an initiative to enhance modularity and move away from the low-level APIs of the SpiderMonkey JavaScript engine developed by Mozilla and used in Servo to support JavaScript and WebAssembly. In the future, Servo plans to transition to a higher-level API and an abstraction layer for interaction with JavaScript engines, allowing them to eliminate unsafe direct calls to SpiderMonkey code, which are executed in unsafe blocks. In the long term, this change will enable the removal of a tight coupling with SpiderMonkey and provide support for other JavaScript and WebAssembly engines, such as the V8 engine used in Chrome.
The Servo project is written in Rust and features support for multithreaded rendering of web pages, parallelization of DOM (Document Object Model) operations, and the utilization of Rust's safe programming constructs. Originally developed by Mozilla, the Servo project later came under the umbrella of the Linux Foundation. Servo was initially created with support for breaking down DOM code and rendering into smaller subtasks that can be performed in parallel, making more efficient use of multi-core CPU resources. Some parts of Servo, such as the multithreaded CSS engine and the WebRender rendering system, have already been integrated into Firefox.
Source: opennet.ru
