Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

Latest revisions

# Date Author Comment
9a857c54 03/24/2026 11:31 PM k0kubun (Takashi Kokubun)

ZJIT: Generate polymorphic branches for skewed polymorphic getivar (#16533)

This PR lets skewed polymorphic callsites to generate polymorphic code. Currently, skewed polymorphic callsites are considered monomorphic and don't use https://github.com/ruby/ruby/pull/16476, but doing so seems to help lobsters.

04774d3a 03/24/2026 11:10 PM alanwu (Alan Wu)

ZJIT: Per-ISEQ feedback for singleton class speculation

Instead of globally disabling NoSingletonClass optimization for a class
once any singleton class has been seen, track invalidations per-ISEQ.
When an ISEQ's NoSingletonClass patchpoint is invalidated, set a flag...

30dcc2a0 03/24/2026 09:47 PM k0kubun (Takashi Kokubun)

ZJIT: Mention Perfetto UI for SQL queries in trace-exits docs

4383b371 03/24/2026 09:47 PM k0kubun (Takashi Kokubun)

ZJIT: Update trace-exits docs for Fuchsia trace format

The Stackprof-based documentation was outdated after the switch to
Fuchsia Trace Format (.fxt) output. Update with Perfetto UI and
trace_processor_shell workflow, including a working example and
SQL query for finding hottest exit locations.

d4e3d70e 03/24/2026 09:37 PM burdettelamar (Burdette Lamar)

[DOC] Doc for Pathname#atime

c819029d 03/24/2026 09:35 PM k0kubun (Takashi Kokubun)

Fix double-prefixed path in outdate-bundled-gems.rb (#16531)

When building with a relative srcdir (e.g., ../configure from a build
directory), default_gem? was called with an already-prefixed path on
line 149. Since default_gem? internally calls prefixed() again, this...

3b8317eb 03/24/2026 08:45 PM Max Bernstein

ZJIT: Dump side-exit locations in Fuchsia trace format (#16470)

This gives us instant access to all nice Fuchsia and Perfetto tooling, including zoomable, SQL queryable browsing for traces:

Screenshot 2026-03-20 at 10 50 57 AM...

e74823a0 03/24/2026 04:47 PM k0kubun (Takashi Kokubun)

ZJIT: Skip too-complex shapes in polymorphic getivar (#16526)

Too-complex shapes use hash tables for ivar storage, and
rb_shape_get_iv_index() doesn't work for them (it asserts in debug
builds). Without this check, the polymorphic getinstancevariable
optimization incorrectly returns nil for ivars on too-complex objects....

05277c6f 03/24/2026 04:43 PM Max Bernstein

ZJIT: Fix spurious CompileError:OutOfMemory

We were accidentally marking OutOfMemory when actually the problem was
that the native stack was too big. Slightly re-think emit APIs to make
this mistake harder to make.

Now protoboeuf looks like this:

Top-1 compile error reasons (100.0% of total 5,798,926):...
2707b497 03/24/2026 04:43 PM Max Bernstein

ZJIT: Add new CompileError::NativeStackTooLarge

This helps distinguish an OutOfMemory (intended to be for running out of
code space) from a native frame needing too much stack space. On
protoboeuf, for example:

Top-2 compile error reasons (100.0% of total 5,798,926):...

View all revisions | View revisions

Also available in: Atom