General

Profile

peterzhu2118 (Peter Zhu)

  • Login: peterzhu2118
  • Email: peter@peterzhu.ca
  • Registered on: 08/01/2020
  • Last sign in: 08/26/2026

Issues

open closed Total
Assigned issues 2 31 33
Reported issues 2 79 81

Projects

Project Roles Registered on
Ruby Committer 03/24/2021

Activity

08/29/2026

05:17 AM Ruby Revision fcbdc207 (git): Dynamically derive base_label in iseq
base_label isn't used very often in iseq and we can dynamically derive it
from the label (of the current iseq or the local_iseq). We can remove this
field to save 8 bytes.
peterzhu2118 (Peter Zhu)

08/28/2026

01:23 PM Ruby Revision 16de6937 (git): Remove wrapper field in iseq
We keep a singleton of iseq wrappers (RubyVM::InstructionSequence). However,
this is rarely used and causes 8 bytes to be wasted on all iseq objects.
Since we now have the 32-byte slot size in the default GC, we can save that
memory.
peterzhu2118 (Peter Zhu)

08/27/2026

11:15 PM Ruby Misc #22272: Propose Kevin Menard (@nirvdrum) as a core committer
+1 Kevin's got a lot of experience with TruffleRuby that can help improve CRuby peterzhu2118 (Peter Zhu)
11:10 PM Ruby Revision 91582950 (git): Unify jit_payload in iseq_constant_body
We cannot have YJIT and ZJIT enabled at the same time, so we can use a
single jit_payload pointer in iseq_constant_body to reduce the size by
8 bytes.
peterzhu2118 (Peter Zhu)
11:57 AM Ruby Revision aa30b601 (git): Reduce memory usage of rb_id_table
On 64-bit systems, we used 4 bytes to determine if there is a collision
in the entry. This is a waste because it only needs 1 bit.
This commit separates each item in rb_id_table into three parts: items
(8 byte elements), keys (4 byte el...
peterzhu2118 (Peter Zhu)
11:57 AM Ruby Revision 14a257cf (git): Combine items, keys, collision_table in rb_id_table
peterzhu2118 (Peter Zhu)
04:25 AM Ruby Revision b4322d90 (git): Fix reference update bug in iseq_scan_bits
In iseq_scan_bits, we only update original_iseq if the element at code
moved. However, this isn't correct as it's possible that code has already
gotten updated but not original_iseq. This will cause original_iseq to not
get updated.
peterzhu2118 (Peter Zhu)
02:25 AM Ruby Revision c56fa940 (git): Don't record EP escape in JIT when not enabled
We shouldn't record JIT information before the JIT is actually enabled.
This change doesn't seem to affect ZJIT or YJIT performance beyond the
margin of error:
ZJIT:
-------------- ------------ ------------ --------------...
peterzhu2118 (Peter Zhu)

08/26/2026

12:04 PM Ruby Revision 0b2edb5b (git): Implement support for AR table backed identity hashes
This commit adds support for using AR tables for identity hashes (hashes
created by method Hash#compare_by_identity). Before this change, identity
hashes always used ST tables. However, this used a lot more memory because
ST tables are q...
peterzhu2118 (Peter Zhu)
09:53 AM Ruby Revision 1eb12836 (git): [ruby/mmtk] Bump mmtk-core
https://github.com/ruby/mmtk/commit/3926721638 peterzhu2118 (Peter Zhu)

Also available in: Atom