Renaissance: Benchmarking suite for parallel applications on the jvm
Established benchmark suites for the Java Virtual Machine (JVM), such as DaCapo,
ScalaBench, and SPECjvm2008, lack workloads that take advantage of the parallel …
ScalaBench, and SPECjvm2008, lack workloads that take advantage of the parallel …
Dominance-based duplication simulation (DBDS): code duplication to enable compiler optimizations
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 …
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 …
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 …
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 …
Profiles guide the compilation order and optimizations, thus substantially improving program …
CompGen: generation of fast JIT compilers in a multi-language VM
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 …
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 …
(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 …
inherent control flow fragmentation makes event-driven programs notoriously difficult to …
TASTyTruffle: Just-in-Time Specialization of Parametric Polymorphism
Parametric polymorphism enables programmers to express algorithms independently of the
types of values that they operate on. The approach used to implement parametric …
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
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 …
can neither be determined at compile time nor at run time. State-of-the-art compilers do not …