Разработка внутреннего представления компилятора Kotlin / Native и оптимизаций на его основе

Боголепов Сергей Сергеевич
1. Новосибирский государственный университет
s.bogolepov@g.nsu.ru
Материал поступил в редколлегию 03.06.2020
Котлин – это статически типизированный язык программирования, который поддерживает объекно-ориенти- рованную и функциональную парадигмы программирования. Изначальной целевой платформой была выбрана JVM, однако затем была добавлена возможность транспиляции в JavaScript и компиляции под нативные плат-формы с помощью LLVM (Kotlin / Native). Первые две платформы представляют собой хорошо развитые вир-туальные машины, способные выполнять продвинутую оптимизацию программ во время исполнения. Однако в случае нативных платформ оптимизацию необходимо выполнять во время компиляции.
На данный момент в Kotlin / Native отсутствуют многие оптимизации, из-за чего производительность порож-даемого кода во многих случаях получается низкой. В этой работе описан способ решения данной проблемы с помощью введения дополнительного внутреннего представления, основанного на SSA-форме, и реализации escape-анализа на его основе. Результаты экспериментов показали, что этот подход способен значительно улучшить производительность.
Выходные данные: С.С. Боголепов Разработка внутреннего представления компилятора Kotlin / Native и оптимизаций на его основе. Вестник НГУ. Серия: Информационные технологии. 2020. Т.18, №2. C. 15–30. DOI: 10.25205/1818-7900-2020-18-2-15-30