Renaissance: Benchmarking suite for parallel applications on the jvm

A Prokopec, A Rosà, D Leopoldseder… - Proceedings of the 40th …, 2019 - dl.acm.org
Established benchmark suites for the Java Virtual Machine (JVM), such as DaCapo,
ScalaBench, and SPECjvm2008, lack workloads that take advantage of the parallel …

Dominance-based duplication simulation (DBDS): code duplication to enable compiler optimizations

D Leopoldseder, L Stadler, T Würthinger, J Eisl… - Proceedings of the …, 2018 - dl.acm.org
Compilers perform a variety of advanced optimizations to improve the quality of the
generated machine code. However, optimizations that depend on the data flow of a program …

An optimization-driven incremental inline substitution algorithm for just-in-time compilers

A Prokopec, G Duboscq… - 2019 IEEE/ACM …, 2019 - ieeexplore.ieee.org
Inlining is one of the most important compiler optimizations. It reduces call overheads and
widens the scope of other optimizations. But, inlining is somewhat of a black art of an …

Eliminating abstraction overhead of Java stream pipelines using ahead-of-time program optimization

A Møller, OH Veileborg - Proceedings of the ACM on Programming …, 2020 - dl.acm.org
Java 8 introduced streams that allow developers to work with collections of data using
functional-style operations. Streams are often used in pipelines of operations for processing …

Exploiting Partially Context-sensitive Profiles to Improve Performance of Hot Code

M Vukasovic, A Prokopec - ACM Transactions on Programming …, 2023 - dl.acm.org
Availability of profiling information is a major advantage of just-in-time (JIT) compilation.
Profiles guide the compilation order and optimizations, thus substantially improving program …

CompGen: generation of fast JIT compilers in a multi-language VM

F Latifi, D Leopoldseder, C Wimmer… - Proceedings of the 17th …, 2021 - dl.acm.org
The first Futamura projection enables compilation and high performance code generation of
user programs by partial evaluation of language interpreters. Previous work has shown that …

Inlining-benefit prediction with interprocedural partial escape analysis

ME Weingarten, T Theodoridis… - Proceedings of the 14th …, 2022 - dl.acm.org
Inlining is the primary facilitating mechanism for intraprocedural Partial Escape Analysis
(PEA), which allows for the removal of object allocations on a branch-by-branch basis and is …

Theory and practice of coroutines with snapshots

A Prokopec, F Liu - 32nd European Conference on Object …, 2018 - drops.dagstuhl.de
While event-driven programming is a widespread model for asynchronous computing, its
inherent control flow fragmentation makes event-driven programs notoriously difficult to …

TASTyTruffle: Just-in-Time Specialization of Parametric Polymorphism

M D'Souza, J You, O Lhoták, A Prokopec - Proceedings of the ACM on …, 2023 - dl.acm.org
Parametric polymorphism enables programmers to express algorithms independently of the
types of values that they operate on. The approach used to implement parametric …

Fast-path loop unrolling of non-counted loops to enable subsequent compiler optimizations

D Leopoldseder, R Schatz, L Stadler, M Rigger… - Proceedings of the 15th …, 2018 - dl.acm.org
Java programs can contain non-counted loops, that is, loops for which the iteration count
can neither be determined at compile time nor at run time. State-of-the-art compilers do not …