Proceedings of the Institute for System Programming of the RAS
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Proceedings of ISP RAS:
Year:
Volume:
Issue:
Page:
Find






Personal entry:
Login:
Password:
Save password
Enter
Forgotten password?
Register


Proceedings of the Institute for System Programming of the RAS, 2015, Volume 27, Issue 6, Pages 33–48
DOI: https://doi.org/10.15514/ISPRAS-2015-27(6)-3
(Mi tisp183)
 

This article is cited in 2 scientific papers (total in 2 papers)

Dynamic compilation of JavaScript programs to the statically typed LLVM intermediate representation

V. Vardanyana, V. Ivanishina, S. Asryanb, A. Khachatryanb, J. Hakobyanb

a Institute for System Programming of the RAS
b Yerevan State University
Full-text PDF (739 kB) Citations (2)
References:
Abstract: Since its inception in the middle of the 90's, JavaScript has become one of the most popular web development languages. Although initially developed as a browser-agnostic scripting language, in recent years JavaScript continues its evolution beyond the desktop to areas such as mobile and server-side web applications. Many massive applications are written using JavaScript, such as gmail, google docs, etc. JavaScript is also used in the Node.js — server-side web application developing platform. Moreover, JavaScript is the main language for developing applications on some operating systems for mobile and media devices. Examples of such systems are Tizen and FirefoxOS. Modern JavaScript engines use just-in-time (JIT) compilation to produce binary code. JIT compilers are limited in complexity of optimizations they can perform at runtime without delaying the execution. To maintain a trade-off between quick startup and doing sophisticated optimizations, JavaScript engines usually use multiple tiers for compiling hot functions. Our work is dedicated to performance improvement of JavaScript programs by adding a new optimizing level to the JavaScript V8 compiler. This level uses the LLVM infrastructure to optimize JavaScript functions and generate machine code. The main challenge of adding a new optimizing level is to support all the technologies (speculative compilation, on-stack replacement, concurrent compilation etc.) that are used in the modern multi-tier JIT compilers for increasing the performance and minimizing pauses during the interactive communication. All these technologies are fully supported in our solution. This has resulted in significant performance gains on the JavaScript benchmark suites when compiling hot functions.
Keywords: JavaScript, V8, LLVM, program optimization, dynamic compilation.
Bibliographic databases:
Document Type: Article
Language: Russian
Citation: V. Vardanyan, V. Ivanishin, S. Asryan, A. Khachatryan, J. Hakobyan, “Dynamic compilation of JavaScript programs to the statically typed LLVM intermediate representation”, Proceedings of ISP RAS, 27:6 (2015), 33–48
Citation in format AMSBIB
\Bibitem{VarIvaAsr15}
\by V.~Vardanyan, V.~Ivanishin, S.~Asryan, A.~Khachatryan, J.~Hakobyan
\paper Dynamic compilation of JavaScript programs to the statically typed LLVM intermediate representation
\jour Proceedings of ISP RAS
\yr 2015
\vol 27
\issue 6
\pages 33--48
\mathnet{http://mi.mathnet.ru/tisp183}
\crossref{https://doi.org/10.15514/ISPRAS-2015-27(6)-3}
\elib{https://elibrary.ru/item.asp?id=25476297}
Linking options:
  • https://www.mathnet.ru/eng/tisp183
  • https://www.mathnet.ru/eng/tisp/v27/i6/p33
  • This publication is cited in the following 2 articles:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Proceedings of the Institute for System Programming of the RAS
    Statistics & downloads:
    Abstract page:193
    Full-text PDF :124
    References:39
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024