Muscalietjs: Rethinking layered dynamic web runtimes

Abstract

Layered JavaScript engines, in which the JavaScript run-time is built on top another managed runtime, provide better extensibility and portability compared to traditional mono-lithic engines. In this paper, we revisit the design of layered JavaScript engines and propose a layered architecture, called MuscalietJS2, that splits the responsibilities of a JavaScript engine between a high-level, JavaScript-specific component and a low-level, language-agnostic.NET VM. To make up for the performance loss due to layering, we propose a two pronged approach: high-level JavaScript optimizations and exploitation of low-level VM features that produce very effi-cient code for hot functions. We demonstrate the validity of the MuscalietJS design through a comprehensive evaluation using both the Sunspider benchmarks and a set of web work-loads. We demonstrate that our approach outperforms other layered engines such as IronJS and Rhino engines while pro-viding extensibility, adaptability and portability

Similar works

This paper was published in CiteSeerX.

Having an issue?

Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request.