Research output
Publications
Papers, reports, theses, talks and posters, ordered by year.
Browse by year
No publications match these filters. Try a different term or reset the filters.
2026
Paper 2026
Partial-Evaluation Templates: Accelerating Partial Evaluation with Pre-compiled Templates
Summary
Reusable compiler graphs capture work that a bytecode interpreter would otherwise repeat during partial evaluation. Integrated into GraalVM and GraalWasm, the templates specialize to static inputs, reducing compilation work and warmup time while preserving peak performance in the reported evaluation.
Citation & BibTeX
Florian Huemer, Aleksandar Prokopec, David Leopoldseder, Raphael Mosaner, Hanspeter Mössenböck. (2026). Partial-Evaluation Templates: Accelerating Partial Evaluation with Pre-compiled Templates. CGO 2026, pp. 109-122. https://doi.org/10.1109/CGO68049.2026.11395215
@misc{partial-evaluation-templates, author = {Florian Huemer and Aleksandar Prokopec and David Leopoldseder and Raphael Mosaner and Hanspeter Mössenböck}, title = {{Partial-Evaluation Templates: Accelerating Partial Evaluation with Pre-compiled Templates}}, year = {2026}, howpublished = {CGO 2026, pp. 109-122.}, doi = {10.1109/CGO68049.2026.11395215}, }
2025
Paper 2025
A Pragmatic Approach to Replay Compilation
Citation & BibTeX
Andrej Pečimúth, David Leopoldseder, Petr Tůma. (2025). A Pragmatic Approach to Replay Compilation. MoreVMs / Programming Companion 2025, OASIcs 134, 3:1–3:4. https://doi.org/10.4230/OASIcs.Programming.2025.3
@misc{replay-compilation, author = {Andrej Pečimúth and David Leopoldseder and Petr Tůma}, title = {{A Pragmatic Approach to Replay Compilation}}, year = {2025}, howpublished = {MoreVMs / Programming Companion 2025, OASIcs 134, 3:1–3:4.}, doi = {10.4230/OASIcs.Programming.2025.3}, }Paper 2025
Automated Profile-Guided Replacement of Data Structures to Reduce Memory Allocation
Citation & BibTeX
Lukas Makor, Sebastian Kloibhofer, Peter Hofer, David Leopoldseder, Hanspeter Mössenböck. (2025). Automated Profile-Guided Replacement of Data Structures to Reduce Memory Allocation. The Art, Science, and Engineering of Programming 10(1), Article 3. https://doi.org/10.22152/programming-journal.org/2025/10/3
@misc{profile-guided-data-structures, author = {Lukas Makor and Sebastian Kloibhofer and Peter Hofer and David Leopoldseder and Hanspeter Mössenböck}, title = {{Automated Profile-Guided Replacement of Data Structures to Reduce Memory Allocation}}, year = {2025}, howpublished = {The Art, Science, and Engineering of Programming 10(1), Article 3.}, doi = {10.22152/programming-journal.org/2025/10/3}, }Paper 2025
Profile-Guided Field Externalization in an Ahead-of-Time Compiler
Citation & BibTeX
Sebastian Kloibhofer, Lukas Makor, Peter Hofer, David Leopoldseder, Hanspeter Mössenböck. (2025). Profile-Guided Field Externalization in an Ahead-of-Time Compiler. ECOOP 2025, 19:1-19:32. https://doi.org/10.4230/LIPIcs.ECOOP.2025.19
@misc{profile-guided-field-externalization, author = {Sebastian Kloibhofer and Lukas Makor and Peter Hofer and David Leopoldseder and Hanspeter Mössenböck}, title = {{Profile-Guided Field Externalization in an Ahead-of-Time Compiler}}, year = {2025}, howpublished = {ECOOP 2025, 19:1-19:32.}, doi = {10.4230/LIPIcs.ECOOP.2025.19}, }Paper 2025
Reusing Highly Optimized IR in Dynamic Compilation
Citation & BibTeX
Andrej Pečimúth, David Leopoldseder, Petr Tůma. (2025). Reusing Highly Optimized IR in Dynamic Compilation. ECOOP 2025, 25:1-25:25. https://doi.org/10.4230/LIPIcs.ECOOP.2025.25
@misc{reusing-optimized-ir, author = {Andrej Pečimúth and David Leopoldseder and Petr Tůma}, title = {{Reusing Highly Optimized IR in Dynamic Compilation}}, year = {2025}, howpublished = {ECOOP 2025, 25:1-25:25.}, doi = {10.4230/LIPIcs.ECOOP.2025.25}, }
2024
Poster 2024
Accurate Compilation Replay via Remote JIT Compilation
Citation & BibTeX
Andrej Pečimúth, David Leopoldseder, Petr Tůma. (2024). Accurate Compilation Replay via Remote JIT Compilation. MPLR 2024, poster.
@misc{accurate-replay-poster, author = {Andrej Pečimúth and David Leopoldseder and Petr Tůma}, title = {{Accurate Compilation Replay via Remote JIT Compilation}}, year = {2024}, howpublished = {MPLR 2024, poster.}, }Paper 2024
An Analysis of Compiled Code Reusability in Dynamic Compilation
Citation & BibTeX
Andrej Pečimúth, David Leopoldseder, Petr Tůma. (2024). An Analysis of Compiled Code Reusability in Dynamic Compilation. VMIL 2024, pp. 43-53. https://doi.org/10.1145/3689490.3690406
@misc{compiled-code-reusability, author = {Andrej Pečimúth and David Leopoldseder and Petr Tůma}, title = {{An Analysis of Compiled Code Reusability in Dynamic Compilation}}, year = {2024}, howpublished = {VMIL 2024, pp. 43-53.}, doi = {10.1145/3689490.3690406}, }Paper 2024
Taking a Closer Look: An Outlier-Driven Approach to Compilation-Time Optimization
Citation & BibTeX
Florian Huemer, David Leopoldseder, Aleksandar Prokopec, Raphael Mosaner, Hanspeter Mössenböck. (2024). Taking a Closer Look: An Outlier-Driven Approach to Compilation-Time Optimization. ECOOP 2024, 20:1-20:28. https://doi.org/10.4230/LIPIcs.ECOOP.2024.20
@misc{compilation-time-outliers, author = {Florian Huemer and David Leopoldseder and Aleksandar Prokopec and Raphael Mosaner and Hanspeter Mössenböck}, title = {{Taking a Closer Look: An Outlier-Driven Approach to Compilation-Time Optimization}}, year = {2024}, howpublished = {ECOOP 2024, 20:1-20:28.}, doi = {10.4230/LIPIcs.ECOOP.2024.20}, }
2023
Paper 2023
Compilation Forking: A Fast and Flexible Way of Generating Data for Compiler-Internal Machine Learning Tasks
Citation & BibTeX
Raphael Mosaner, David Leopoldseder, Wolfgang Kisling, Lukas Stadler, Hanspeter Mössenböck. (2023). Compilation Forking: A Fast and Flexible Way of Generating Data for Compiler-Internal Machine Learning Tasks. The Art, Science, and Engineering of Programming 7(1), Article 3. https://doi.org/10.22152/programming-journal.org/2023/7/3
@misc{compilation-forking, author = {Raphael Mosaner and David Leopoldseder and Wolfgang Kisling and Lukas Stadler and Hanspeter Mössenböck}, title = {{Compilation Forking: A Fast and Flexible Way of Generating Data for Compiler-Internal Machine Learning Tasks}}, year = {2023}, howpublished = {The Art, Science, and Engineering of Programming 7(1), Article 3.}, doi = {10.22152/programming-journal.org/2023/7/3}, }Paper 2023
Control Flow Duplication for Columnar Arrays in a Dynamic Compiler
Citation & BibTeX
Sebastian Kloibhofer, Lukas Makor, David Leopoldseder, Daniele Bonetta, Lukas Stadler, Hanspeter Mössenböck. (2023). Control Flow Duplication for Columnar Arrays in a Dynamic Compiler. The Art, Science, and Engineering of Programming 7(3), Article 9. https://doi.org/10.22152/programming-journal.org/2023/7/9
@misc{columnar-control-flow-duplication, author = {Sebastian Kloibhofer and Lukas Makor and David Leopoldseder and Daniele Bonetta and Lukas Stadler and Hanspeter Mössenböck}, title = {{Control Flow Duplication for Columnar Arrays in a Dynamic Compiler}}, year = {2023}, howpublished = {The Art, Science, and Engineering of Programming 7(3), Article 9.}, doi = {10.22152/programming-journal.org/2023/7/9}, }Paper 2023
Diagnosing Compiler Performance by Comparing Optimization Decisions
Citation & BibTeX
Andrej Pečimúth, David Leopoldseder, Petr Tůma. (2023). Diagnosing Compiler Performance by Comparing Optimization Decisions. MPLR 2023, pp. 47-61. https://doi.org/10.1145/3617651.3622994
@misc{comparing-optimization-decisions, author = {Andrej Pečimúth and David Leopoldseder and Petr Tůma}, title = {{Diagnosing Compiler Performance by Comparing Optimization Decisions}}, year = {2023}, howpublished = {MPLR 2023, pp. 47-61.}, doi = {10.1145/3617651.3622994}, }Poster 2023
Diagnosing Compiler Performance by Comparing Optimization Decisions (Poster Abstract)
Citation & BibTeX
Andrej Pečimúth, David Leopoldseder, Petr Tůma. (2023). Diagnosing Compiler Performance by Comparing Optimization Decisions (Poster Abstract). MPLR 2023, poster abstract, p. 179. https://doi.org/10.1145/3617651.3624305
@misc{comparing-optimization-poster, author = {Andrej Pečimúth and David Leopoldseder and Petr Tůma}, title = {{Diagnosing Compiler Performance by Comparing Optimization Decisions (Poster Abstract)}}, year = {2023}, howpublished = {MPLR 2023, poster abstract, p. 179.}, doi = {10.1145/3617651.3624305}, }Paper 2023
GraalVM Compiler Benchmark Results Dataset (Data Artifact)
Citation & BibTeX
Lubomír Bulej, Vojtěch Horký, Michele Tucci, Petr Tůma, François Farquet, David Leopoldseder, Aleksandar Prokopec. (2023). GraalVM Compiler Benchmark Results Dataset (Data Artifact). ICPE Companion 2023, pp. 65-69. https://doi.org/10.1145/3578245.3585025
@misc{graalvm-benchmark-dataset, author = {Lubomír Bulej and Vojtěch Horký and Michele Tucci and Petr Tůma and François Farquet and David Leopoldseder and Aleksandar Prokopec}, title = {{GraalVM Compiler Benchmark Results Dataset (Data Artifact)}}, year = {2023}, howpublished = {ICPE Companion 2023, pp. 65-69.}, doi = {10.1145/3578245.3585025}, }
2022
Paper 2022
Automatic Array Transformation to Columnar Storage at Run Time
Citation & BibTeX
Lukas Makor, Sebastian Kloibhofer, David Leopoldseder, Daniele Bonetta, Lukas Stadler, Hanspeter Mössenböck. (2022). Automatic Array Transformation to Columnar Storage at Run Time. MPLR 2022, pp. 16-28. https://doi.org/10.1145/3546918.3546919
@misc{automatic-columnar-storage, author = {Lukas Makor and Sebastian Kloibhofer and David Leopoldseder and Daniele Bonetta and Lukas Stadler and Hanspeter Mössenböck}, title = {{Automatic Array Transformation to Columnar Storage at Run Time}}, year = {2022}, howpublished = {MPLR 2022, pp. 16-28.}, doi = {10.1145/3546918.3546919}, }Poster 2022
Automatically Transforming Arrays to Columnar Storage at Run Time
Citation & BibTeX
Sebastian Kloibhofer, Lukas Makor, David Leopoldseder, Daniele Bonetta, Lukas Stadler, Hanspeter Mössenböck. (2022). Automatically Transforming Arrays to Columnar Storage at Run Time. MPLR 2022, poster abstract, pp. 141–143. https://doi.org/10.1145/3546918.3560805
@misc{columnar-storage-poster, author = {Sebastian Kloibhofer and Lukas Makor and David Leopoldseder and Daniele Bonetta and Lukas Stadler and Hanspeter Mössenböck}, title = {{Automatically Transforming Arrays to Columnar Storage at Run Time}}, year = {2022}, howpublished = {MPLR 2022, poster abstract, pp. 141–143.}, doi = {10.1145/3546918.3560805}, }Paper 2022
Dynamic Taint Analysis with Label-Defined Semantics
Citation & BibTeX
Jacob Kreindl, Daniele Bonetta, Lukas Stadler, David Leopoldseder, Hanspeter Mössenböck. (2022). Dynamic Taint Analysis with Label-Defined Semantics. MPLR 2022, pp. 64-84. https://doi.org/10.1145/3546918.3546927
@misc{label-defined-taint-analysis, author = {Jacob Kreindl and Daniele Bonetta and Lukas Stadler and David Leopoldseder and Hanspeter Mössenböck}, title = {{Dynamic Taint Analysis with Label-Defined Semantics}}, year = {2022}, howpublished = {MPLR 2022, pp. 64-84.}, doi = {10.1145/3546918.3546927}, }Paper 2022
Improving Vectorization Heuristics in a Dynamic Compiler with Machine Learning Models
Citation & BibTeX
Raphael Mosaner, Gergö Barany, David Leopoldseder, Hanspeter Mössenböck. (2022). Improving Vectorization Heuristics in a Dynamic Compiler with Machine Learning Models. VMIL 2022, pp. 36-47. https://doi.org/10.1145/3563838.3567679
@misc{vectorization-machine-learning, author = {Raphael Mosaner and Gergö Barany and David Leopoldseder and Hanspeter Mössenböck}, title = {{Improving Vectorization Heuristics in a Dynamic Compiler with Machine Learning Models}}, year = {2022}, howpublished = {VMIL 2022, pp. 36-47.}, doi = {10.1145/3563838.3567679}, }Paper 2022
Machine-Learning-Based Self-Optimizing Compiler Heuristics
Citation & BibTeX
Raphael Mosaner, David Leopoldseder, Wolfgang Kisling, Lukas Stadler, Hanspeter Mössenböck. (2022). Machine-Learning-Based Self-Optimizing Compiler Heuristics. MPLR 2022, pp. 98-111. https://doi.org/10.1145/3546918.3546921
@misc{self-optimizing-heuristics, author = {Raphael Mosaner and David Leopoldseder and Wolfgang Kisling and Lukas Stadler and Hanspeter Mössenböck}, title = {{Machine-Learning-Based Self-Optimizing Compiler Heuristics}}, year = {2022}, howpublished = {MPLR 2022, pp. 98-111.}, doi = {10.1145/3546918.3546921}, }Paper 2022
Polyglot, Label-Defined Dynamic Taint Analysis in TruffleTaint
Citation & BibTeX
Jacob Kreindl, Daniele Bonetta, David Leopoldseder, Lukas Stadler, Hanspeter Mössenböck. (2022). Polyglot, Label-Defined Dynamic Taint Analysis in TruffleTaint. MPLR 2022, demo paper, pp. 152–153. https://doi.org/10.1145/3546918.3560807
@misc{taint-demo, author = {Jacob Kreindl and Daniele Bonetta and David Leopoldseder and Lukas Stadler and Hanspeter Mössenböck}, title = {{Polyglot, Label-Defined Dynamic Taint Analysis in TruffleTaint}}, year = {2022}, howpublished = {MPLR 2022, demo paper, pp. 152–153.}, doi = {10.1145/3546918.3560807}, }
2021
Paper 2021
CompGen: Generation of Fast JIT Compilers in a Multi-Language VM
Citation & BibTeX
Florian Latifi, David Leopoldseder, Christian Wimmer, Hanspeter Mössenböck. (2021). CompGen: Generation of Fast JIT Compilers in a Multi-Language VM. DLS 2021, pp. 35-47. https://doi.org/10.1145/3486602.3486930
@misc{compgen, author = {Florian Latifi and David Leopoldseder and Christian Wimmer and Hanspeter Mössenböck}, title = {{CompGen: Generation of Fast JIT Compilers in a Multi-Language VM}}, year = {2021}, howpublished = {DLS 2021, pp. 35-47.}, doi = {10.1145/3486602.3486930}, }Paper 2021
Low-Overhead Multi-Language Dynamic Taint Analysis on Managed Runtimes through Speculative Optimization
Citation & BibTeX
Jacob Kreindl, Daniele Bonetta, Lukas Stadler, David Leopoldseder, Hanspeter Mössenböck. (2021). Low-Overhead Multi-Language Dynamic Taint Analysis on Managed Runtimes through Speculative Optimization. MPLR 2021, pp. 70-87. https://doi.org/10.1145/3475738.3480939
@misc{speculative-taint-analysis, author = {Jacob Kreindl and Daniele Bonetta and Lukas Stadler and David Leopoldseder and Hanspeter Mössenböck}, title = {{Low-Overhead Multi-Language Dynamic Taint Analysis on Managed Runtimes through Speculative Optimization}}, year = {2021}, howpublished = {MPLR 2021, pp. 70-87.}, doi = {10.1145/3475738.3480939}, }Paper 2021
Using Machine Learning to Predict the Code Size Impact of Duplication Heuristics in a Dynamic Compiler
Citation & BibTeX
Raphael Mosaner, David Leopoldseder, Lukas Stadler, Hanspeter Mössenböck. (2021). Using Machine Learning to Predict the Code Size Impact of Duplication Heuristics in a Dynamic Compiler. MPLR 2021, pp. 127-135. https://doi.org/10.1145/3475738.3480943
@misc{duplication-code-size, author = {Raphael Mosaner and David Leopoldseder and Lukas Stadler and Hanspeter Mössenböck}, title = {{Using Machine Learning to Predict the Code Size Impact of Duplication Heuristics in a Dynamic Compiler}}, year = {2021}, howpublished = {MPLR 2021, pp. 127-135.}, doi = {10.1145/3475738.3480943}, }
2020
Paper 2020
Multi-Language Dynamic Taint Analysis in a Polyglot Virtual Machine
Citation & BibTeX
Jacob Kreindl, Daniele Bonetta, Lukas Stadler, David Leopoldseder, Hanspeter Mössenböck. (2020). Multi-Language Dynamic Taint Analysis in a Polyglot Virtual Machine. MPLR 2020, pp. 15-29. https://doi.org/10.1145/3426182.3426184
@misc{polyglot-taint-analysis, author = {Jacob Kreindl and Daniele Bonetta and Lukas Stadler and David Leopoldseder and Hanspeter Mössenböck}, title = {{Multi-Language Dynamic Taint Analysis in a Polyglot Virtual Machine}}, year = {2020}, howpublished = {MPLR 2020, pp. 15-29.}, doi = {10.1145/3426182.3426184}, }Paper 2020
Renaissance: Benchmarking Suite for Parallel Applications on the JVM
Citation & BibTeX
Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tůma, Martin Studener, Lubomír Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Würthinger, Walter Binder. (2020). Renaissance: Benchmarking Suite for Parallel Applications on the JVM. SE 2020, pp. 145–146. Summary of the PLDI 2019 paper. https://doi.org/10.18420/SE2020_44
@misc{renaissance-se, author = {Aleksandar Prokopec and Andrea Rosà and David Leopoldseder and Gilles Duboscq and Petr Tůma and Martin Studener and Lubomír Bulej and Yudi Zheng and Alex Villazón and Doug Simon and Thomas Würthinger and Walter Binder}, title = {{Renaissance: Benchmarking Suite for Parallel Applications on the JVM}}, year = {2020}, howpublished = {SE 2020, pp. 145–146. Summary of the PLDI 2019 paper.}, doi = {10.18420/SE2020\_44}, }Paper 2020
SymJEx: Symbolic Execution on the GraalVM
Citation & BibTeX
Sebastian Kloibhofer, Thomas Pointhuber, Maximilian Heisinger, Hanspeter Mössenböck, Lukas Stadler, David Leopoldseder. (2020). SymJEx: Symbolic Execution on the GraalVM. MPLR 2020, pp. 63-72. https://doi.org/10.1145/3426182.3426187
@misc{symjex, author = {Sebastian Kloibhofer and Thomas Pointhuber and Maximilian Heisinger and Hanspeter Mössenböck and Lukas Stadler and David Leopoldseder}, title = {{SymJEx: Symbolic Execution on the GraalVM}}, year = {2020}, howpublished = {MPLR 2020, pp. 63-72.}, doi = {10.1145/3426182.3426187}, }
2019
Talk 2019
Advanced Optimizations in GraalVM: Code Duplication, PEA and More
Citation & BibTeX
David Leopoldseder. (2019). Advanced Optimizations in GraalVM: Code Duplication, PEA and More. Lviv Java User Group
@misc{lviv-2019-talk, author = {David Leopoldseder}, title = {{Advanced Optimizations in GraalVM: Code Duplication, PEA and More}}, year = {2019}, howpublished = {Lviv Java User Group}, }Paper 2019
An Optimization-Driven Incremental Inline Substitution Algorithm for Just-in-Time Compilers
Citation & BibTeX
Aleksandar Prokopec, Gilles Duboscq, David Leopoldseder, Thomas Würthinger. (2019). An Optimization-Driven Incremental Inline Substitution Algorithm for Just-in-Time Compilers. CGO 2019, pp. 164-179. https://doi.org/10.1109/CGO.2019.8661171
@misc{incremental-inlining, author = {Aleksandar Prokopec and Gilles Duboscq and David Leopoldseder and Thomas Würthinger}, title = {{An Optimization-Driven Incremental Inline Substitution Algorithm for Just-in-Time Compilers}}, year = {2019}, howpublished = {CGO 2019, pp. 164-179.}, doi = {10.1109/CGO.2019.8661171}, }Report 2019
On Evaluating the Renaissance Benchmarking Suite: Variety, Performance, and Complexity
Citation & BibTeX
Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tůma, Martin Studener, Lubomír Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Würthinger, Walter Binder. (2019). On Evaluating the Renaissance Benchmarking Suite: Variety, Performance, and Complexity. Technical report, arXiv
@misc{renaissance-evaluation-report, author = {Aleksandar Prokopec and Andrea Rosà and David Leopoldseder and Gilles Duboscq and Petr Tůma and Martin Studener and Lubomír Bulej and Yudi Zheng and Alex Villazón and Doug Simon and Thomas Würthinger and Walter Binder}, title = {{On Evaluating the Renaissance Benchmarking Suite: Variety, Performance, and Complexity}}, year = {2019}, howpublished = {Technical report, arXiv}, }Poster 2019
Renaissance: A Modern Benchmark Suite for Parallel Applications on the JVM
Citation & BibTeX
Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tůma, Martin Studener, Lubomír Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Würthinger, Walter Binder. (2019). Renaissance: A Modern Benchmark Suite for Parallel Applications on the JVM. SPLASH Companion 2019, poster abstract, pp. 11–12. https://doi.org/10.1145/3359061.3362778
@misc{renaissance-poster, author = {Aleksandar Prokopec and Andrea Rosà and David Leopoldseder and Gilles Duboscq and Petr Tůma and Martin Studener and Lubomír Bulej and Yudi Zheng and Alex Villazón and Doug Simon and Thomas Würthinger and Walter Binder}, title = {{Renaissance: A Modern Benchmark Suite for Parallel Applications on the JVM}}, year = {2019}, howpublished = {SPLASH Companion 2019, poster abstract, pp. 11–12.}, doi = {10.1145/3359061.3362778}, }Paper 2019
Renaissance: Benchmarking Suite for Parallel Applications on the JVM
Summary
Renaissance supplies JVM workloads built around modern concurrency and parallel programming. The paper compares Graal and HotSpot C2 and uses the suite to identify and evaluate compiler optimizations whose effects were less visible in established benchmarks.
Citation & BibTeX
Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tůma, Martin Studener, Lubomír Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Würthinger, Walter Binder. (2019). Renaissance: Benchmarking Suite for Parallel Applications on the JVM. PLDI 2019, pp. 31–47. https://doi.org/10.1145/3314221.3314637
@misc{renaissance, author = {Aleksandar Prokopec and Andrea Rosà and David Leopoldseder and Gilles Duboscq and Petr Tůma and Martin Studener and Lubomír Bulej and Yudi Zheng and Alex Villazón and Doug Simon and Thomas Würthinger and Walter Binder}, title = {{Renaissance: Benchmarking Suite for Parallel Applications on the JVM}}, year = {2019}, howpublished = {PLDI 2019, pp. 31–47.}, doi = {10.1145/3314221.3314637}, }Talk 2019
Simulation-Based Code Duplication in a Dynamic Compiler
Citation & BibTeX
David Leopoldseder. (2019). Simulation-Based Code Duplication in a Dynamic Compiler. Austrian Computer Science Day
@misc{acsd-2019-talk, author = {David Leopoldseder}, title = {{Simulation-Based Code Duplication in a Dynamic Compiler}}, year = {2019}, howpublished = {Austrian Computer Science Day}, }Thesis 2019
Simulation-Based Code Duplication in a Dynamic Compiler
Citation & BibTeX
David Leopoldseder. (2019). Simulation-Based Code Duplication in a Dynamic Compiler. Doctoral dissertation, Johannes Kepler University Linz
@misc{doctoral-thesis, author = {David Leopoldseder}, title = {{Simulation-Based Code Duplication in a Dynamic Compiler}}, year = {2019}, howpublished = {Doctoral dissertation, Johannes Kepler University Linz}, }Paper 2019
Supporting On-Stack Replacement in Unstructured Languages by Loop Reconstruction and Extraction
Citation & BibTeX
Raphael Mosaner, David Leopoldseder, Manuel Rigger, Roland Schatz, Hanspeter Mössenböck. (2019). Supporting On-Stack Replacement in Unstructured Languages by Loop Reconstruction and Extraction. MPLR 2019, pp. 1-13. https://doi.org/10.1145/3357390.3361030
@misc{on-stack-replacement, author = {Raphael Mosaner and David Leopoldseder and Manuel Rigger and Roland Schatz and Hanspeter Mössenböck}, title = {{Supporting On-Stack Replacement in Unstructured Languages by Loop Reconstruction and Extraction}}, year = {2019}, howpublished = {MPLR 2019, pp. 1-13.}, doi = {10.1145/3357390.3361030}, }
2018
Paper 2018
A Cost Model for a Graph-Based Intermediate Representation in a Dynamic Compiler
Citation & BibTeX
David Leopoldseder, Lukas Stadler, Manuel Rigger, Thomas Würthinger, Hanspeter Mössenböck. (2018). A Cost Model for a Graph-Based Intermediate Representation in a Dynamic Compiler. VMIL 2018, pp. 26-35. https://doi.org/10.1145/3281287.3281290
@misc{graph-cost-model, author = {David Leopoldseder and Lukas Stadler and Manuel Rigger and Thomas Würthinger and Hanspeter Mössenböck}, title = {{A Cost Model for a Graph-Based Intermediate Representation in a Dynamic Compiler}}, year = {2018}, howpublished = {VMIL 2018, pp. 26-35.}, doi = {10.1145/3281287.3281290}, }Paper 2018
An Analysis of x86-64 Inline Assembly in C Programs
Citation & BibTeX
Manuel Rigger, Stefan Marr, Stephen Kell, David Leopoldseder, Hanspeter Mössenböck. (2018). An Analysis of x86-64 Inline Assembly in C Programs. VEE 2018, pp. 84-99. https://doi.org/10.1145/3186411.3186418
@misc{inline-assembly-analysis, author = {Manuel Rigger and Stefan Marr and Stephen Kell and David Leopoldseder and Hanspeter Mössenböck}, title = {{An Analysis of x86-64 Inline Assembly in C Programs}}, year = {2018}, howpublished = {VEE 2018, pp. 84-99.}, doi = {10.1145/3186411.3186418}, }Paper 2018
Dominance-Based Duplication Simulation (DBDS): Code Duplication to Enable Compiler Optimizations
Summary
Code duplication can expose optimizations across control-flow merges, but it also increases code size and compilation cost. DBDS simulates candidate duplications before applying them, allowing a cost model to weigh the expected optimization benefits against those costs. The approach is implemented and evaluated in GraalVM.
Citation & BibTeX
David Leopoldseder, Lukas Stadler, Thomas Würthinger, Josef Eisl, Doug Simon, Hanspeter Mössenböck. (2018). Dominance-Based Duplication Simulation (DBDS): Code Duplication to Enable Compiler Optimizations. CGO 2018, pp. 126-137. Best Paper Finalist. https://doi.org/10.1145/3168811
@misc{dbds, author = {David Leopoldseder and Lukas Stadler and Thomas Würthinger and Josef Eisl and Doug Simon and Hanspeter Mössenböck}, title = {{Dominance-Based Duplication Simulation (DBDS): Code Duplication to Enable Compiler Optimizations}}, year = {2018}, howpublished = {CGO 2018, pp. 126-137. Best Paper Finalist.}, doi = {10.1145/3168811}, }Poster 2018
Fast Path Loop Unrolling
Citation & BibTeX
David Leopoldseder. (2018). Fast Path Loop Unrolling. ManLang 2018
@misc{manlang-2018-poster, author = {David Leopoldseder}, title = {{Fast Path Loop Unrolling}}, year = {2018}, howpublished = {ManLang 2018}, }Paper 2018
Fast-Path Loop Unrolling of Non-Counted Loops to Enable Subsequent Compiler Optimizations
Summary
Unrolling a loop with an unknown iteration count is useful when it enables further optimization. This work simulates candidate transformations and separates hot paths from slower paths to guide that choice. Its GraalVM evaluation examines execution performance alongside code-size and compilation-time costs.
Citation & BibTeX
David Leopoldseder, Roland Schatz, Lukas Stadler, Manuel Rigger, Thomas Würthinger, Hanspeter Mössenböck. (2018). Fast-Path Loop Unrolling of Non-Counted Loops to Enable Subsequent Compiler Optimizations. ManLang 2018, Article 2. https://doi.org/10.1145/3237009.3237013
@misc{fast-path-unrolling, author = {David Leopoldseder and Roland Schatz and Lukas Stadler and Manuel Rigger and Thomas Würthinger and Hanspeter Mössenböck}, title = {{Fast-Path Loop Unrolling of Non-Counted Loops to Enable Subsequent Compiler Optimizations}}, year = {2018}, howpublished = {ManLang 2018, Article 2.}, doi = {10.1145/3237009.3237013}, }Paper 2018
Parallel Trace Register Allocation
Citation & BibTeX
Josef Eisl, David Leopoldseder, Hanspeter Mössenböck. (2018). Parallel Trace Register Allocation. ManLang 2018, Article 7. https://doi.org/10.1145/3237009.3237010
@misc{parallel-trace-register-allocation, author = {Josef Eisl and David Leopoldseder and Hanspeter Mössenböck}, title = {{Parallel Trace Register Allocation}}, year = {2018}, howpublished = {ManLang 2018, Article 7.}, doi = {10.1145/3237009.3237010}, }
2017
Talk 2017
Code Duplication in the Graal Compiler
Citation & BibTeX
David Leopoldseder. (2017). Code Duplication in the Graal Compiler. Virtual Machine Meetup
@misc{vmm-2017-talk, author = {David Leopoldseder}, title = {{Code Duplication in the Graal Compiler}}, year = {2017}, howpublished = {Virtual Machine Meetup}, }Paper 2017
Making Collection Operations Optimal with Aggressive JIT Compilation
Citation & BibTeX
Aleksandar Prokopec, David Leopoldseder, Gilles Duboscq, Thomas Würthinger. (2017). Making Collection Operations Optimal with Aggressive JIT Compilation. SCALA at SPLASH 2017, pp. 29-40. https://doi.org/10.1145/3136000.3136002
@misc{graal-collections, author = {Aleksandar Prokopec and David Leopoldseder and Gilles Duboscq and Thomas Würthinger}, title = {{Making Collection Operations Optimal with Aggressive JIT Compilation}}, year = {2017}, howpublished = {SCALA at SPLASH 2017, pp. 29-40.}, doi = {10.1145/3136000.3136002}, }Poster 2017
Simulate & Duplicate
Citation & BibTeX
David Leopoldseder. (2017). Simulate & Duplicate. SPLASH 2017
@misc{splash-2017-poster, author = {David Leopoldseder}, title = {{Simulate \& Duplicate}}, year = {2017}, howpublished = {SPLASH 2017}, }Paper 2017
Simulation-Based Code Duplication for Enhancing Compiler Optimizations
Citation & BibTeX
David Leopoldseder. (2017). Simulation-Based Code Duplication for Enhancing Compiler Optimizations. SPLASH Companion 2017, pp. 10-12. https://doi.org/10.1145/3135932.3135935
@misc{simulation-based-duplication, author = {David Leopoldseder}, title = {{Simulation-Based Code Duplication for Enhancing Compiler Optimizations}}, year = {2017}, howpublished = {SPLASH Companion 2017, pp. 10-12.}, doi = {10.1145/3135932.3135935}, }
2015
Thesis 2015
Graal AOT JS: A Java to JavaScript Compiler
Citation & BibTeX
David Leopoldseder. (2015). Graal AOT JS: A Java to JavaScript Compiler. Master’s thesis, Johannes Kepler University Linz
@misc{masters-thesis, author = {David Leopoldseder}, title = {{Graal AOT JS: A Java to JavaScript Compiler}}, year = {2015}, howpublished = {Master’s thesis, Johannes Kepler University Linz}, }Talk 2015
Graal JavaScriptify: Compiling Java AOT to JavaScript
Citation & BibTeX
David Leopoldseder. (2015). Graal JavaScriptify: Compiling Java AOT to JavaScript. Virtual Machine Meetup
@misc{vmm-2015-talk, author = {David Leopoldseder}, title = {{Graal JavaScriptify: Compiling Java AOT to JavaScript}}, year = {2015}, howpublished = {Virtual Machine Meetup}, }Paper 2015
Java-to-JavaScript Translation via Structured Control Flow Reconstruction of Compiler IR
Citation & BibTeX
David Leopoldseder, Lukas Stadler, Christian Wimmer, Hanspeter Mössenböck. (2015). Java-to-JavaScript Translation via Structured Control Flow Reconstruction of Compiler IR. DLS 2015, pp. 91-103. https://doi.org/10.1145/2816707.2816715
@misc{graal-aot-js, author = {David Leopoldseder and Lukas Stadler and Christian Wimmer and Hanspeter Mössenböck}, title = {{Java-to-JavaScript Translation via Structured Control Flow Reconstruction of Compiler IR}}, year = {2015}, howpublished = {DLS 2015, pp. 91-103.}, doi = {10.1145/2816707.2816715}, }
2013
Thesis 2013
Integration of a Fingerprint Swipe Sensor into the AT91SAM9G20
Citation & BibTeX
David Leopoldseder. (2013). Integration of a Fingerprint Swipe Sensor into the AT91SAM9G20. Bachelor’s thesis, Johannes Kepler University Linz
@misc{bachelors-thesis, author = {David Leopoldseder}, title = {{Integration of a Fingerprint Swipe Sensor into the AT91SAM9G20}}, year = {2013}, howpublished = {Bachelor’s thesis, Johannes Kepler University Linz}, }