RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2015, том 27, выпуск 6, страницы 67–86 (Mi tisp185)

Методы предварительной оптимизации программ на языке JavaScript

Роман Жуйковa, Евгений Шарыгинb

a Институт системного программирования РАН
b Московский государственный университет имени М.В. Ломоносова

Аннотация: Современные виртуальные машины для языка JavaScript используют многоуровневую компиляцию во время выполнения для создания машинного кода. При компиляции во время выполнения нецелесообразно выполнение сложных оптимизаций. Статическая компиляция, наоборот, имеет неограниченные возможности для выполнения сложных оптимизационных преобразований, но не может эффективно применяться к динамическим языкам, таким как JavaScript. В данной работе предлагается общий подход к предварительной компиляции программ на динамических языках, а также применение этого подхода для улучшения двух виртуальных машин - JavaScriptCore и V8. При реализации улучшенной виртуальной машины JavaScriptCore c использованием предварительной компиляции была учтена специфика использования JavaScript-программ в составе локально хранящихся приложений для платформы ARM. Для виртуальной машины V8 для платформы x86-64 в рамках исследования предварительная компиляция была реализована с помощью кэширования в отдельный файл одного из оптимизированных внутренних представлений.

Ключевые слова: оптимизация программ, JavaScript, компиляция во время выполнения, предварительная компиляция, Webkit Java ScriptCore, виртуальная машина V8.

DOI: 10.15514/ISPRAS-2015-27(6)-5



Реферативные базы данных:


© МИАН, 2024