Proceedings ArticleDOI
MuscalietJS: rethinking layered dynamic web runtimes
Behnam Robatmili,Calin Cascaval,Mehrdad Reshadi,Madhukar N. Kedlaya,Seth Fowler,Vrajesh Bhavsar,Michael Weber,Ben Hardekopf +7 more
- Vol. 49, Iss: 7, pp 77-88
Reads0
Chats0
TLDR
This paper proposes 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, and proposes a two pronged approach to make up for the performance loss due to layering.Abstract:
Layered JavaScript engines, in which the JavaScript runtime is built on top another managed runtime, provide better extensibility and portability compared to traditional monolithic 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 efficient 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 workloads. We demonstrate that our approach outperforms other layered engines such as IronJS and Rhino engines while providing extensibility, adaptability and portability.read more
Citations
More filters
Proceedings ArticleDOI
Deoptimization for dynamic language JITs on typed, stack-based virtual machines
TL;DR: This paper proposes a novel technique that enables deoptimization for dynamic language runtimes implemented on top of typed, stack-based virtual machines, and implements this technique in a JavaScript language implementation, MCJS, running ontop of the Mono runtime (CLR).
Journal ArticleDOI
Concurrency in Mobile Browser Engines
TL;DR: This work uses the Zoomm browser and the MuscalietJS JavaScript engine as running examples of highly concurrent Web browser and JavaScript engines to show how concurrency is effectively exploited at different levels toSpeed up computation performance, preload network resources, and preprocess resources outside the critical path to speed up page loading and Web workloads.
References
More filters
Proceedings ArticleDOI
Trace-based just-in-time type specialization for dynamic languages
Andreas Gal,Brendan Eich,Mike Shaver,Dustin Anderson,David Mandelin,Mohammad R. Haghighat,Blake Kaplan,Graydon Hoare,Boris Zbarsky,Jason Orendorff,Jesse Ruderman,Edwin Smith,Rick Reitmaier,Michael Bebenita,Mason Chang,Michael Franz +15 more
TL;DR: This work presents an alternative compilation technique for dynamically-typed languages that identifies frequently executed loop traces at run-time and then generates machine code on the fly that is specialized for the actual dynamic types occurring on each path through the loop.
The design and implementation of the self compiler, an optimizing compiler for object-oriented programming languages
TL;DR: By applying a collection of implementation techniques that can improve the run-time performance of object-oriented languages, the performance of the SELF system is five times better than the fastest Smalltalk-80 system, better than that of an optimizing Scheme implementation, and close to half that of a optimizing C implementation.
Proceedings Article
JSMeter: comparing the behavior of JavaScript benchmarks with real web applications
TL;DR: This paper evaluates the behavior of JavaScript web applications from commercial web sites and compares this behavior with the benchmarks, finding that the benchmarks are not representative of many real web Sites and that conclusions reached from measuring the benchmarks may be misleading.
Book
Node.js
TL;DR: Node.js as discussed by the authors is an evented I/O framework for the V8 JavaScript engine, which is intended for writing scalable network programs such as web servers and includes a REPL environment for interactive testing.
Proceedings ArticleDOI
Selective specialization for object-oriented languages
TL;DR: This paper presents a more general framework for specialization in object-oriented languages and describes a goal directed specialization algorithm that makes selective decisions to apply specialization to those cases where it provides the highest benefit.