Ruby Core Updates: Weekly Recap - ZJIT Optimization & Parser Modernization

Ruby core saw significant ZJIT performance improvements and a major shift from AST to Prism parser for built-in loader generation. The team merged 33 pull requests addressing compiler optimizations, threading fixes, and infrastructure updates.

Duration: PT2M31S

Episode overview

This episode is a short developer briefing from Ruby Core Updates.

It explains recent repository work in plain language.

  • Show: Ruby Core Updates
  • Published: 2026-03-15T10:39:13Z
  • Audio duration: PT2M31S

Transcript excerpt

This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.

This is Ruby Core Updates for March 8th through 15th, 2026.

The development team merged 33 pull requests with 92 additional commits this week, focusing heavily on ZJIT optimization and parser infrastructure.

Starting with major features: Kevin Newton led a significant modernization effort, switching the built-in loader from AST parsing to Prism in PR 10005. This change introduces a new C tool that dumps Ruby files to JSON, streamlining the compilation process. Newton also delivered compiler performance improvements with…

ZJIT received substantial optimization work. The team added debugging tools with `induce_compile_failure` and `induce_side_exit` methods for testing scenarios. String equality operations now support constant folding when both operands are provably the same or frozen. Counter instructions are now only emitted in…

Threading stability saw important fixes this week. Luke Gruber resolved a race condition in ubf registration that could cause lock ordering inversions, and ensured the interrupt lock is taken unconditionally in ubf_clear operations. OpenBSD compatibility improved with proper MAP_STACK handling for M:N threads.

Infrastructure updates included Matt…

Nearby episodes from Ruby Core Updates

  1. ZJIT Performance Improvements and Prism Parser Updates
  2. ZJIT TracePoint and Subclass Improvements
  3. ZJIT Performance and Security Fixes
  4. JIT Compiler Fixes and VM Optimizations
  5. Parser Transition and Performance Improvements
  6. ZJIT Optimizations and Prism Compiler Improvements
  7. Threading and RubyGems Compatibility Fixes
  8. ZJIT Optimization and Core Fixes