|
Методы предварительной оптимизации программ на языке JavaScript
Роман Жуйковa, Евгений Шарыгинb a Институт системного программирования РАН
b Московский государственный университет имени М.В. Ломоносова
Аннотация:
Современные виртуальные машины для языка JavaScript используют многоуровневую компиляцию во время выполнения для создания машинного кода. При компиляции во время выполнения нецелесообразно выполнение сложных оптимизаций. Статическая компиляция, наоборот, имеет неограниченные возможности для выполнения сложных оптимизационных преобразований, но не может эффективно применяться к динамическим языкам, таким как JavaScript. В данной работе предлагается общий подход к предварительной компиляции программ на динамических языках, а также применение этого подхода для улучшения двух виртуальных машин - JavaScriptCore и V8. При реализации улучшенной виртуальной машины JavaScriptCore c использованием предварительной компиляции была учтена специфика использования JavaScript-программ в составе локально хранящихся приложений для платформы ARM. Для виртуальной машины V8 для платформы x86-64 в рамках исследования предварительная компиляция была реализована с помощью кэширования в отдельный файл одного из оптимизированных внутренних представлений.
Ключевые слова:
оптимизация программ, JavaScript, компиляция во время выполнения, предварительная компиляция, Webkit Java
ScriptCore, виртуальная машина V8.
Образец цитирования:
Роман Жуйков, Евгений Шарыгин, “Методы предварительной оптимизации программ на языке JavaScript”, Труды ИСП РАН, 27:6 (2015), 67–86
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp185 https://www.mathnet.ru/rus/tisp/v27/i6/p67
|
Статистика просмотров: |
Страница аннотации: | 201 | PDF полного текста: | 90 | Список литературы: | 36 |
|