<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/zjit/src/virtualmem.rs, 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>ZJIT: Restore dropped_bytes after temporary OOM (#15069)</title>
<updated>2025-11-06T18:21:18+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashi.kokubun@shopify.com</email>
</author>
<published>2025-11-06T18:21:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ff6c728acb81e734c3f5a955e82535179a4f6c89'/>
<id>ff6c728acb81e734c3f5a955e82535179a4f6c89</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Add zjit_alloc_bytes and total_mem_bytes stats (#15059)</title>
<updated>2025-11-05T18:44:40+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashi.kokubun@shopify.com</email>
</author>
<published>2025-11-05T18:44:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bf0331b907ae7f25b9464081682218ab74e3ccb6'/>
<id>bf0331b907ae7f25b9464081682218ab74e3ccb6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Replace `as usize` casts in codegen.rs</title>
<updated>2025-10-23T21:59:57+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2025-10-23T19:16:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c2bce540f93aba77ddf89c7931a63b4e7108e466'/>
<id>c2bce540f93aba77ddf89c7931a63b4e7108e466</id>
<content type='text'>
The `as` casts are somewhat dangerous since when the type on either side
change, it silently becomes a lossy conversion. This is why we have
`IntoUsize` as well as other guaranteed lossless conversion utilities
in stdlib. Use them.

For pointers-to-address, `ptr::addr` is more informative.

See also: https://tratt.net/laurie/blog/2021/static_integer_types.html
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `as` casts are somewhat dangerous since when the type on either side
change, it silently becomes a lossy conversion. This is why we have
`IntoUsize` as well as other guaranteed lossless conversion utilities
in stdlib. Use them.

For pointers-to-address, `ptr::addr` is more informative.

See also: https://tratt.net/laurie/blog/2021/static_integer_types.html
</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Allow testing JIT code on zjit-test (#14639)</title>
<updated>2025-09-24T00:48:06+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashi.kokubun@shopify.com</email>
</author>
<published>2025-09-24T00:48:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=479cdab3378a9597b01a4a3febc382488484f21a'/>
<id>479cdab3378a9597b01a4a3febc382488484f21a</id>
<content type='text'>
* ZJIT: Allow testing JIT code on zjit-test

* Resurrect TestingAllocator tests</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ZJIT: Allow testing JIT code on zjit-test

* Resurrect TestingAllocator tests</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Share more code with YJIT in jit.c (#14520)</title>
<updated>2025-09-12T20:34:55+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashi.kokubun@shopify.com</email>
</author>
<published>2025-09-12T20:34:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d3cb347a40ef789f37f5a4723ecb3ada7e8605a9'/>
<id>d3cb347a40ef789f37f5a4723ecb3ada7e8605a9</id>
<content type='text'>
* ZJIT: Share more code with YJIT in jit.c

* Fix ZJIT references to JIT</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ZJIT: Share more code with YJIT in jit.c

* Fix ZJIT references to JIT</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Add support for stats_allocator</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:33:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cd85fe5a87f3f7cac92b132f9f195a3d39685a37'/>
<id>cd85fe5a87f3f7cac92b132f9f195a3d39685a37</id>
<content type='text'>
* Using the shared jit crate, support for a single global_allocator can
function
* Solves --zjit-mem-size
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Using the shared jit crate, support for a single global_allocator can
function
* Solves --zjit-mem-size
</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Mark objects baked in JIT code (#13862)</title>
<updated>2025-07-11T20:24:08+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashi.kokubun@shopify.com</email>
</author>
<published>2025-07-11T20:24:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3ec46aad37bb5f42656d81210838ac4c5c4013a0'/>
<id>3ec46aad37bb5f42656d81210838ac4c5c4013a0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Panic on BOP redefinition only when needed (#13782)</title>
<updated>2025-07-03T20:09:10+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashi.kokubun@shopify.com</email>
</author>
<published>2025-07-03T20:09:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ed3fd94e77862c8e8a81a06f69cad95c1ec31619'/>
<id>ed3fd94e77862c8e8a81a06f69cad95c1ec31619</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add miscellaneous Clippy 'corrections' pt. 2 (https://github.com/Shopify/zjit/pull/95)</title>
<updated>2025-04-18T12:53:01+00:00</updated>
<author>
<name>Aiden Fox Ivey</name>
<email>aiden.foxivey@shopify.com</email>
</author>
<published>2025-04-04T14:37:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=31106afdce97313d3598457f1f5b422a04c4af86'/>
<id>31106afdce97313d3598457f1f5b422a04c4af86</id>
<content type='text'>
* Remove immediately deferenced borrow operators

source: https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow

* Remove unnecessary cast as i64

Since Const::CInt64 wraps i64, it is unnecessary to cast to i64.

* Remove unnecessary borrow operators

* Beautify assign operation syntax

* Use .is_null() convenience method

* Omit .into() call from u32 to u32

* Use more descriptive std::ptr::null&lt;VALUE&gt;()

In lieu of casting a literal as a type, opt to use the convenience type.

* Use sized integer literal

* Simplify pattern matching to explicit check
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove immediately deferenced borrow operators

source: https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow

* Remove unnecessary cast as i64

Since Const::CInt64 wraps i64, it is unnecessary to cast to i64.

* Remove unnecessary borrow operators

* Beautify assign operation syntax

* Use .is_null() convenience method

* Omit .into() call from u32 to u32

* Use more descriptive std::ptr::null&lt;VALUE&gt;()

In lieu of casting a literal as a type, opt to use the convenience type.

* Use sized integer literal

* Simplify pattern matching to explicit check
</pre>
</div>
</content>
</entry>
<entry>
<title>Add miscellaneous Clippy 'corrections' (https://github.com/Shopify/zjit/pull/92)</title>
<updated>2025-04-18T12:53:01+00:00</updated>
<author>
<name>Aiden Fox Ivey</name>
<email>aiden@aidenfoxivey.com</email>
</author>
<published>2025-04-03T01:28:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=32374b70fe04a98542f0a71c72e40b470b6ffb88'/>
<id>32374b70fe04a98542f0a71c72e40b470b6ffb88</id>
<content type='text'>
* Remove redundant  statements

* Remove .clone() since A64 implements Copy

* Remove .clone() since InsnId implements Copy

.

* Dereference since *const rb_call_data implements Copy

* Remove unnecessary return statement

* Remove unnecessary braces

* Use .is_empty() over length checks

* Remove unnecessary conversion handling

Since i32 can always fit into i64 (the inner type in Opnd::Imm), the conversion is infallibile.

* Use slice notation in lieu of Vec

https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg

* Simplify match statement
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove redundant  statements

* Remove .clone() since A64 implements Copy

* Remove .clone() since InsnId implements Copy

.

* Dereference since *const rb_call_data implements Copy

* Remove unnecessary return statement

* Remove unnecessary braces

* Use .is_empty() over length checks

* Remove unnecessary conversion handling

Since i32 can always fit into i64 (the inner type in Opnd::Imm), the conversion is infallibile.

* Use slice notation in lieu of Vec

https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg

* Simplify match statement
</pre>
</div>
</content>
</entry>
</feed>
