Direct instruction marking in Ruby 2.6
Jun 4, 2019Aaron Patterson

Summary
This post details a specific optimization in Ruby 2.6 that eliminates the need for a 'mark array' to keep literal objects alive during instruction sequence execution. Instead, Ruby 2.6 directly marks operands within the instruction sequences themselves. This change reduces memory usage by approximately 3% in the post-boot live heap for GitHub's Rails application, with no observed cost to throughput.