TY - JOUR A1 - Pape, Tobias A1 - Bolz, Carl Friedrich A1 - Hirschfeld, Robert T1 - Adaptive just-in-time value class optimization for lowering memory consumption and improving execution time performance JF - Science of computer programming N2 - The performance of value classes is highly dependent on how they are represented in the virtual machine. Value class instances are immutable, have no identity, and can only refer to other value objects or primitive values and since they should be very lightweight and fast, it is important to optimize them carefully. In this paper we present a technique to detect and compress common patterns of value class usage to improve memory usage and performance. The technique identifies patterns of frequent value object references and introduces abbreviated forms for them. This allows to store multiple inter-referenced value objects in an inlined memory representation, reducing the overhead stemming from meta data and object references. Applied to a small prototype and an implementation of the Racket language, we found improvements in memory usage and execution time for several micro-benchmarks. (C) 2016 Elsevier B.V. All rights reserved. KW - Meta-tracing KW - JIT KW - Data structure optimization KW - Value classes Y1 - 2017 U6 - https://doi.org/10.1016/j.scico.2016.08.003 SN - 0167-6423 SN - 1872-7964 VL - 140 SP - 17 EP - 29 PB - Elsevier CY - Amsterdam ER -