<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/Cargo.toml, branch v4.0.4</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>JITs: Drop cargo and use just rustc for release combo build</title>
<updated>2025-12-10T21:35:00+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2025-12-09T03:25:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=029a48176cf9fd367d52d8c9f87cb9f77d425a43'/>
<id>029a48176cf9fd367d52d8c9f87cb9f77d425a43</id>
<content type='text'>
So we don't expose builders to network flakiness which cannot be worked
around using cargo's --offline flag.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
So we don't expose builders to network flakiness which cannot be worked
around using cargo's --offline flag.
</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Move jit.rs to ruby.rs and create a shared crate `jit`</title>
<updated>2025-09-12T04:51:47+00:00</updated>
<author>
<name>Aiden Fox Ivey</name>
<email>aiden.foxivey@shopify.com</email>
</author>
<published>2025-09-12T03:32:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f75e1cb362f57aa9e18c42026adec39b86d4e5c6'/>
<id>f75e1cb362f57aa9e18c42026adec39b86d4e5c6</id>
<content type='text'>
* ruby.rs should hold the main entrypoint to YJIT and ZJIT
* The crate jit will hold code shared between them
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ruby.rs should hold the main entrypoint to YJIT and ZJIT
* The crate jit will hold code shared between them
</pre>
</div>
</content>
</entry>
<entry>
<title>YJIT: Side-exit on String#dup when it's not leaf (#13921)</title>
<updated>2025-07-16T22:59:32+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashi.kokubun@shopify.com</email>
</author>
<published>2025-07-16T22:59:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=571a8d2753ab252b45afba862fc5917c1b8a1e09'/>
<id>571a8d2753ab252b45afba862fc5917c1b8a1e09</id>
<content type='text'>
* YJIT: Side-exit on String#dup when it's not leaf

* Use an enum instead of a macro for bindgen</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* YJIT: Side-exit on String#dup when it's not leaf

* Use an enum instead of a macro for bindgen</pre>
</div>
</content>
</entry>
<entry>
<title>YJIT: Disable the runtime_checks feature temporarily</title>
<updated>2025-07-16T18:10:22+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2025-07-16T01:19:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ccbbe06a0277db74cfbf7dc1f26722cbf4904b72'/>
<id>ccbbe06a0277db74cfbf7dc1f26722cbf4904b72</id>
<content type='text'>
The stack canary gets killed in test_yjit.rb:224 for some reason. Needs
investigation. Example CI failure:
https://github.com/ruby/ruby/actions/runs/16307837724/job/46057558066
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The stack canary gets killed in test_yjit.rb:224 for some reason. Needs
investigation. Example CI failure:
https://github.com/ruby/ruby/actions/runs/16307837724/job/46057558066
</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Have `make zjit-test` use the same Cargo features as miniruby</title>
<updated>2025-07-16T18:10:22+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2025-07-15T21:16:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5ee3937a9c8f75d07f4919f64decd0b850abefe0'/>
<id>5ee3937a9c8f75d07f4919f64decd0b850abefe0</id>
<content type='text'>
This is so that e.g. building with `--enable-zjit=dev` will test with the
disassembly feature. It makes more sense, saves on build time and
reveals that
`backend::arm64::tests::sp_movements_are_single_instruction` was in
fact failing with the `disasm` feature.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is so that e.g. building with `--enable-zjit=dev` will test with the
disassembly feature. It makes more sense, saves on build time and
reveals that
`backend::arm64::tests::sp_movements_are_single_instruction` was in
fact failing with the `disasm` feature.
</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Propagate disasm feature to ZJIT and YJIT (#13372)</title>
<updated>2025-05-19T17:34:29+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-05-19T17:34:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a7ef9a44a6e072bf3b72f2071195da661ddde8d1'/>
<id>a7ef9a44a6e072bf3b72f2071195da661ddde8d1</id>
<content type='text'>
Co-authored-by: Alan Wu &lt;alansi.xingwu@shopify.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Alan Wu &lt;alansi.xingwu@shopify.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>YJIT: ZJIT: Allow both JITs in the same build</title>
<updated>2025-05-14T15:39:03+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2025-05-06T15:19:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=92b218fbc379fe85792eb060b71520e271971335'/>
<id>92b218fbc379fe85792eb060b71520e271971335</id>
<content type='text'>
This commit allows building YJIT and ZJIT simultaneously, a "combo
build". Previously, `./configure --enable-yjit --enable-zjit` failed. At
runtime, though, only one of the two can be enabled at a time.

Add a root Cargo workspace that contains both the yjit and zjit crate.
The common Rust build integration mechanisms are factored out into
defs/jit.mk.

Combo YJIT+ZJIT dev builds are supported; if either JIT uses
`--enable-*=dev`, both of them are built in dev mode.

The combo build requires Cargo, but building one JIT at a time with only
rustc in release build remains supported.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit allows building YJIT and ZJIT simultaneously, a "combo
build". Previously, `./configure --enable-yjit --enable-zjit` failed. At
runtime, though, only one of the two can be enabled at a time.

Add a root Cargo workspace that contains both the yjit and zjit crate.
The common Rust build integration mechanisms are factored out into
defs/jit.mk.

Combo YJIT+ZJIT dev builds are supported; if either JIT uses
`--enable-*=dev`, both of them are built in dev mode.

The combo build requires Cargo, but building one JIT at a time with only
rustc in release build remains supported.
</pre>
</div>
</content>
</entry>
</feed>
