Combining thread‐level speculation and just‐in‐time compilation in Google's V8 JavaScript engine

Jan Kasper Martinsen, Håkan Grahn, Anders Isberg

Research output: Contribution to journalArticlepeer-review

Abstract

Thread‐level speculation can be used to take advantage of multicore architectures for JavaScript in web applications. We extend previous studies with these main contributions; we implement thread‐level speculation in the state‐of‐the art just‐in‐time‐enabled JavaScript engine V8 and make the measurements in the Chromium web browser both from Google instead of using an interpreted JavaScript engine. We evaluate the thread‐level speculation and just‐in‐time compilation combination on 15 very popular web applications, 20 HTML5 demos from the JS1K competition, and 4 Google Maps use cases. The performance is evaluated on two, four, and eight cores. The results clearly show that it is possible to successfully combine thread‐level speculation and just‐in‐time compilation. This makes it possible to take advantage of multicore architectures for web applications while hiding the details of parallel programming from the programmer. Further, our results show an average speedup for the thread‐level speculation and just‐in‐time compilation combination by a factor of almost 3 on four cores and over 4 on eight cores, without changing any of the JavaScript source code.

Original languageEnglish
Number of pages23
JournalConcurrency and computation : practice and experience
Volume289
Issue number1
DOIs
Publication statusPublished - 2016
Externally publishedYes

Subject classification (UKÄ)

  • Software Engineering

Fingerprint

Dive into the research topics of 'Combining thread‐level speculation and just‐in‐time compilation in Google's V8 JavaScript engine'. Together they form a unique fingerprint.

Cite this