Васько Мария Богдановна

Группа 22126
Руководитель: Трепаков Иван Сергеевич

Текст ВКР

Аннотация

Применение высокоуровнего языка для решения задач системного программирования требует поддержки ассемблерных вставок, которые позволяют напрямую встраивать фрагменты низкоуровневого ассемблерного кода в программу. Такая функциональность открывает возможности для осуществления системных вызовов, использования специальных инструкций процессора, а также потенциальной оптимизации критических по производительности участков программы.

Однако, применение ассемблерных вставок имеет ряд недостатков: отсутствие переносимости между разными архитектурами процессоров, сложность написания, поддержки и проверки корректности ассемблерного кода. Более того, ассемблерные вставки зачастую препятствуют оптимизации других участков кода, так как являются барьером для оптимизации и анализа в компиляторе.

В данной работе исследуются подходы к анализу и оптимизации ассемблерных вставок путем использования низкоуровневого внутреннего представления компилятора в качестве языка написания таких фрагментов. В рамках работы выполнена экспериментальная реализация ассемблерных вставок и проведен сравнительный анализ на базе оптимизирующего статического компилятора многоязыковой виртуальной машины Huawei.