Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Matt D'Souza

dblp:308/3533 · DBLP profile ↗
← Back
1ranked-venue papers
1as first author
1since 2021 · last 2023
0009-0001-5904-5217ORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1 · 1 first-author · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Compilers and program optimization · 39% Runtime systems and virtual machines · 30% Programming languages and type systems · 30%

Topics — the 3 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation
0.712023
TASTyTruffle: Just-in-Time Specialization of Parametric Polymorphism · Proc. ACM Program. Lang. 2023
Programming languages and type systems › type systems › polymorphism
parametric polymorphism
0.712023
TASTyTruffle: Just-in-Time Specialization of Parametric Polymorphism · Proc. ACM Program. Lang. 2023
Compilers and program optimization
specialization
0.712023
TASTyTruffle: Just-in-Time Specialization of Parametric Polymorphism · Proc. ACM Program. Lang. 2023

Methods — techniques the papers use, named apart from their topics

type specialization · 0.7reified types · 0.7
YearPublicationVenuePosition
2023 TASTyTruffle: Just-in-Time Specialization of Parametric Polymorphism
abstract
Parametric polymorphism enables programmers to express algorithms independently of the types of values that they operate on. The approach used to implement parametric polymorphism can have important performance implications. One popular approach, erasure, uses a uniform representation for generic data, which entails primitive boxing and other indirections that harm performance. Erasure destroys type information that could be used by language implementations to optimize generic code. We present TASTyTruffle, an implementation for a subset of the Scala programming language. Instead of JVM bytecode, TASTyTruffle interprets Scala's TASTy intermediate representation, a typed representation wherein generic types are not erased. TASTy's precise type information empowers TASTyTruffle to implement generic code more effectively. In particular, it allows TASTyTruffle to reify types as run-time objects that can be passed around. Using reified types, TASTyTruffle supports heterogeneous box-free representations for generic values. TASTyTruffle also uses reified types to specialize generic code, producing monomorphic copies of generic code that can be easily and reliably optimized by its just-in-time (JIT) compiler. Empirically, TASTyTruffle is competitive with standard JVM implementations on a small set of benchmark programs; when generic code is used with multiple types, TASTyTruffle consistently outperforms the JVM. The precise type information in TASTy enables TASTyTruffle to find additional optimization opportunities that could not be uncovered with erased JVM bytecode.
Matt D'Souza, James You, Ondrej Lhoták, Aleksandar Prokopec
Proc. ACM Program. Lang.1