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 classes or primitives and since they should be very lightweight and fast, it is important to optimize them well. In this paper we present a technique to detect and compress commonly occurring patterns of value class usage to improve memory usage and performance. microbenchmarks show two to ten-fold speedup of a small prototypical implementation over the implementation of value classes in other object-oriented language implementations. Categories and Subject Descriptors D.3.3 [Language Constructs and Features]: Data types and structures, Dynamic storage management; D.3.4 [Processors]: Code generation, Compilers Keywords Meta-tracing, JIT, Data Structure Optimization, Value Classes