Preview

Труды Института системного программирования РАН

Расширенный поиск

Динамическая компиляция программ на языке JavaScript в статически типизированное внутреннее представление LLVM

https://doi.org/10.15514/ISPRAS-2015-27(6)-3

Аннотация

В статье предлагаются методы, делающие возможной компиляцию программ на языке JavaScript в статически типизированное представление LLVM. В работе рассматривается многоуровневый динамический компилятор языка JavaScript V8, разработанный компанией Google. Основная цель работы - улучшение производительности программ на языке JavaScript. Для этого предлагается способ добавления в компилятор V8 нового уровня оптимизации, который использует инфраструктуру LLVM для генерации машинного кода. Это позволяет применять имеющиеся в LLVM оптимизации и технологии генерации машинного кода для разных архитектур к программам, написанным на JavaScript.

Об авторах

В. Г. Варданян
ИСП РАН
Россия


В. А. Иванишин
ИСП РАН
Россия


С. А. Асрян
ЕГУ
Армения


А. А. Хачатрян
ЕГУ
Армения


Дж. А. Акопян
ЕГУ
Армения


Список литературы

1. Страница платформы Node.js - https://nodejs.org

2. Страница платформы Tizen - http://www.tizen.org

3. Веб-сайт Mozilla - https://www.mozilla.org

4. Страница платформы LLVM - http://www.llvm.org/

5. Описание стандарта ECMA-262 http://www.ecma-international.org/publications/standards/Ecma-262.html

6. Страница документации динамического компилятора HotSpot для языка Java - http://openjdk.java.net/groups/hotspot/docs/RuntimeOverview.html

7. Веб-сайт Webkit - http://www.webkit.org

8. Р. Жуйков, Д. Мельник, Р. Бучацкий, В. Варданян, В. Иванишин, Е. Шарыгин Методы динамической и предварительной оптимизации программ на языке JavaScript. Труды Института системного программирования РАН, Том 26. Выпуск 1. 2014 г. Стр. 297- 314. DOI: 10.15514/ISPRAS-2014-26(1)-10

9. U. Hölzle, C. Chambers, D. Ungar “Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches” ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming, 21-38, 1991

10. Страница документации структуры StackMaps - http://llvm.org/docs/StackMaps.html

11. Страница обзора изменений LLVM в ревизии rL229945 - http://reviews.llvm.org/rL229945

12. Страница документации структуры StatePoints - http://llvm.org/docs/Statepoints.html


Рецензия

Для цитирования:


Варданян В.Г., Иванишин В.А., Асрян С.А., Хачатрян А.А., Акопян Д.А. Динамическая компиляция программ на языке JavaScript в статически типизированное внутреннее представление LLVM. Труды Института системного программирования РАН. 2015;27(6):33-48. https://doi.org/10.15514/ISPRAS-2015-27(6)-3

For citation:


Vardanyan V., Ivanishin V., Asryan S., Khachatryan A., Hakobyan J. Dynamic compilation of JavaScript programs to the statically typed LLVM intermediate representation. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2015;27(6):33-48. (In Russ.) https://doi.org/10.15514/ISPRAS-2015-27(6)-3



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


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