David Leopoldseder CV (PDF)

Research output

Publications

Papers, reports, theses, talks and posters, ordered by year.

Browse by year

2026

  • Paper 2026

    Partial-Evaluation Templates: Accelerating Partial Evaluation with Pre-compiled Templates

    Florian Huemer, Aleksandar Prokopec, David Leopoldseder, Raphael Mosaner, Hanspeter Mössenböck

    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

    Andrej Pečimúth, David Leopoldseder, Petr Tůma

    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

    Lukas Makor, Sebastian Kloibhofer, Peter Hofer, David Leopoldseder, Hanspeter Mössenböck

    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

    Sebastian Kloibhofer, Lukas Makor, Peter Hofer, David Leopoldseder, Hanspeter Mössenböck

    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

    Andrej Pečimúth, David Leopoldseder, Petr Tůma

    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

    Andrej Pečimúth, David Leopoldseder, Petr Tůma

    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

    Andrej Pečimúth, David Leopoldseder, Petr Tůma

    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

    Florian Huemer, David Leopoldseder, Aleksandar Prokopec, Raphael Mosaner, Hanspeter Mössenböck

    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

    Raphael Mosaner, David Leopoldseder, Wolfgang Kisling, Lukas Stadler, Hanspeter Mössenböck

    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

    Sebastian Kloibhofer, Lukas Makor, David Leopoldseder, Daniele Bonetta, Lukas Stadler, Hanspeter Mössenböck

    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

    Andrej Pečimúth, David Leopoldseder, Petr Tůma

    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)

    Andrej Pečimúth, David Leopoldseder, Petr Tůma

    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)

    Lubomír Bulej, Vojtěch Horký, Michele Tucci, Petr Tůma, François Farquet, David Leopoldseder, Aleksandar Prokopec

    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

    Lukas Makor, Sebastian Kloibhofer, David Leopoldseder, Daniele Bonetta, Lukas Stadler, Hanspeter Mössenböck

    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

    Sebastian Kloibhofer, Lukas Makor, David Leopoldseder, Daniele Bonetta, Lukas Stadler, Hanspeter Mössenböck

    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

    Jacob Kreindl, Daniele Bonetta, Lukas Stadler, David Leopoldseder, Hanspeter Mössenböck

    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

    Raphael Mosaner, Gergö Barany, David Leopoldseder, Hanspeter Mössenböck

    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

    Raphael Mosaner, David Leopoldseder, Wolfgang Kisling, Lukas Stadler, Hanspeter Mössenböck

    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

    Jacob Kreindl, Daniele Bonetta, David Leopoldseder, Lukas Stadler, Hanspeter Mössenböck

    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

    Florian Latifi, David Leopoldseder, Christian Wimmer, Hanspeter Mössenböck

    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

    Jacob Kreindl, Daniele Bonetta, Lukas Stadler, David Leopoldseder, Hanspeter Mössenböck

    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

    Raphael Mosaner, David Leopoldseder, Lukas Stadler, Hanspeter Mössenböck

    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

    Jacob Kreindl, Daniele Bonetta, Lukas Stadler, David Leopoldseder, Hanspeter Mössenböck

    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

    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

    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

    Sebastian Kloibhofer, Thomas Pointhuber, Maximilian Heisinger, Hanspeter Mössenböck, Lukas Stadler, David Leopoldseder

    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

    David Leopoldseder

    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

    Aleksandar Prokopec, Gilles Duboscq, David Leopoldseder, Thomas Würthinger

    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

    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

    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

    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

    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

    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

    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

    David Leopoldseder

    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

    David Leopoldseder

    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

    Raphael Mosaner, David Leopoldseder, Manuel Rigger, Roland Schatz, Hanspeter Mössenböck

    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

    David Leopoldseder, Lukas Stadler, Manuel Rigger, Thomas Würthinger, Hanspeter Mössenböck

    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

    Manuel Rigger, Stefan Marr, Stephen Kell, David Leopoldseder, Hanspeter Mössenböck

    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

    David Leopoldseder, Lukas Stadler, Thomas Würthinger, Josef Eisl, Doug Simon, Hanspeter Mössenböck

    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

    David Leopoldseder

    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

    David Leopoldseder, Roland Schatz, Lukas Stadler, Manuel Rigger, Thomas Würthinger, Hanspeter Mössenböck

    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

    Josef Eisl, David Leopoldseder, Hanspeter Mössenböck

    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

    David Leopoldseder

    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

    Aleksandar Prokopec, David Leopoldseder, Gilles Duboscq, Thomas Würthinger

    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

    David Leopoldseder

    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

    David Leopoldseder

    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

    David Leopoldseder

    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

    David Leopoldseder

    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

    David Leopoldseder, Lukas Stadler, Christian Wimmer, Hanspeter Mössenböck

    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

    David Leopoldseder

    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},
    }