Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search

Dynamic and ahead of time optimization for JavaScript programs

https://doi.org/10.15514/ISPRAS-2014-26(1)-10

Abstract

The paper is dedicated to performance improvement of JavaScript programs. In this work we examine the specifics of dynamic optimizations in JIT-compiler for JavaScript, and how the performance of such optimizations can be improved. Also we propose a method for ahead-of-time (AOT) compilation of JavaScript programs, and for saving them as a bytecode. This method allows reducing startup time of applications by moving the optimizations to AOT phase. The proposed methods were implemented in open-source WebKit library, and resulted in significant performance gain for popular JavaScript benchmarks on ARM platform.

About the Authors

Roman Zhuykov
Institute for System Programming of RAS
Russian Federation


Dmitry Melnik
Institute for System Programming of RAS
Russian Federation


Ruben Buchatskiy
Institute for System Programming of RAS
Russian Federation


Vahagn Vardanyan
Institute for System Programming of RAS
Russian Federation


Vladislav Ivanishin
Institute for System Programming of RAS
Russian Federation


Eugene Sharygin
Institute for System Programming of RAS
Russian Federation


References

1. Tizen platfrom website. http://tizen.org/

2. JavaScriptCore WebKit website. http://trac.webkit.org/wiki/JavaScriptCore

3. WebKit Browser Engine website. http://www.webkit.org

4. S. Li, B. Cheng, X. Li “TypeCastor: demystify dynamic typing of JavaScript applications”, Proceedings of the 6th International Conference on High Performance and Embedded Architectures and Compilers, 2011, pp. 55-65

5. S. Hong, J. Kim, J. W. Shin, S. Moon, H. Oh, J. Lee, H. Choi “Java client ahead-of-time compiler for embedded systems”, Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems, 2007, pp. 63-72

6. S. Hong, S. Moon “Client-Ahead-Of-Time Compilation for Digital TV Software Platform” 3rd workshop on Dynamic Compilation Everywhere preprint, 2013. http://sites.google.com/site/dynamiccompilationeverywhere/home/dce-2014/DCE-2014-Sunghyun-Hong-article.pdf

7. SQLite DB website. http://www.sqlite.org/about.html

8. ECMA-262 Standard. http://www.ecmainternational.org/publications/standards/Ecma-262.htm


Review

For citations:


Zhuykov R., Melnik D., Buchatskiy R., Vardanyan V., Ivanishin V., Sharygin E. Dynamic and ahead of time optimization for JavaScript programs. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2014;26(1):297-314. (In Russ.) https://doi.org/10.15514/ISPRAS-2014-26(1)-10



Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)