CacheIR: The Benefits of a Structured Representation for Inline Caches
Inline Caching is an important technique used to accelerate operations in dynamically typed language implementations by creating fast paths based on observed program behaviour.
Most software stacks that support inline caching use low-level, often ad-hoc, Inline-Cache (ICs) data structures for code generation.
This work presents CacheIR, a design for inline caching built entirely around an intermediate representation (IR) which: (i) simplifies the development of ICs by raising the abstraction level; and (ii) enables reusing compiled native code through IR matching techniques.
Moreover, this work describes WarpBuilder, a novel design for a Just-In-Time (JIT) compiler front-end that directly generates type-specialized code by lowering the CacheIR contained in ICs; and Trial Inlining, an extension to the inline-caching system that allows for context-sensitive inlining of context-sensitive ICs.
The combination of CacheIR and WarpBuilder have been powerful performance tools for the SpiderMonkey team, and have been key in providing improved performance with less security risk.
CacheIR: The Benefits of a Structured Representation for Inline Caches (CacheIR The Benefits of a Structured Representation for Inline Caches.pdf) | 555KiB |
Sun 22 OctDisplayed time zone: Lisbon change
11:00 - 12:30 | |||
11:00 22mTalk | Evaluating YJIT’s Performance in a Production Context: A Pragmatic Approach MPLR Maxime Chevalier-Boisvert Shopify, Takashi Kokubun Shopify, Noah Gibbs Shopify, Si Xing "Alan" Wu Shopify, Aaron Patterson Shopify, Jemma Issroff Shopify DOI | ||
11:22 22mTalk | CacheIR: The Benefits of a Structured Representation for Inline Caches MPLR Jan de Mooij Mozilla, Matthew Gaudet Mozilla, Iain Ireland Mozilla, Nathan Henderson University of Alberta, Jose Nelson Amaral University of Alberta DOI File Attached | ||
11:45 22mTalk | Diagnosing Compiler Performance by Comparing Optimization Decisions MPLR Andrej Pečimúth Oracle Labs; Charles University, David Leopoldseder Oracle Labs, Petr Tuma Charles University DOI | ||
12:07 22mTalk | Morello MicroPython: A Python Interpreter for CHERI MPLR Duncan Lowther University of Glasgow, Dejice Jacob University of Glasgow, Jeremy Singer University of Glasgow DOI Pre-print |