Quick Access - Optimizing AOT Compiled Dynamic Programming Languages

dc.contributor.authorAdelhult, Eli
dc.contributor.authorForsinge, Carl
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.departmentChalmers University of Technology / Department of Computer Science and Engineeringen
dc.contributor.examinerRusso, Alejandro
dc.contributor.supervisorMyreen, Magnus
dc.date.accessioned2026-01-15T10:30:24Z
dc.date.issued2025
dc.date.submitted
dc.description.abstractResearch on dynamic programming languages typically focus on just-in-time (JIT) compilation. However, JIT techniques are not always viable due to hardware limitations or security concerns, making it valuable to study ahead-of-time (AOT) compilation of dynamic languages as well. The GameMaker game engine targets mobile devices, game consoles, and WebAssembly — all platforms poorly suited for JIT compilation. Instead, GameMaker supports AOT compilation of JavaScript and its own language, GameMaker Language. In this thesis, we extend the engine with new profiling tools to analyze the memory usage and runtime performance of property accesses, a frequent and performance-critical operation in dynamic languages. Using our new tools, we identify several opportunities for improvement in both the compiler and runtime environment. Finally, we propose and implement solutions to the identified areas of improvement. These include polymorphic property caches, a pipeline for profile-guided optimizations, caching of accessor properties, and cache pools designed to facilitate cache invalidation. In certain benchmarks, our solutions achieve speedups with factors ranging from 1.5 to 2.9.
dc.identifier.coursecodeDATX05
dc.identifier.urihttps://hdl.handle.net/20.500.12380/310877
dc.language.isoeng
dc.setspec.uppsokTechnology
dc.subjectAhead-of-time compilation
dc.subjectHidden class
dc.subjectProperty cache
dc.titleQuick Access - Optimizing AOT Compiled Dynamic Programming Languages
dc.type.degreeExamensarbete för masterexamensv
dc.type.degreeMaster's Thesisen
dc.type.uppsokH
local.programmeComputer science – algorithms, languages and logic (MPALG), MSc
local.programmeHigh-performance computer systems (MPHPC), MSc

Ladda ner

Original bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
CSE 25-108 EA CF.pdf
Size:
4.98 MB
Format:
Adobe Portable Document Format

License bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Size:
2.35 KB
Format:
Item-specific license agreed upon to submission
Description: