General

Profile

peterzhu2118 (Peter Zhu)

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

Issues

open closed Total
Assigned issues 1 32 33
Reported issues 1 80 81

Projects

Project Roles Registered on
Ruby Committer 03/24/2021

Activity

11/05/2026

03:11 PM Ruby Revision 491e36e1 (git): [DOC] Inline UTF-8 docs into C code
Since https://github.com/ruby/ruby/pull/15579, we are now able to use UTF-8
comments in C code, so we no longer need to have UTF-8 documentation in
separate files and use RDoc :include: directives.
peterzhu2118 (Peter Zhu)
03:11 PM Ruby Revision 9e2fb37e (git): [DOC] Update documentation_guide about UTF-8 in C
peterzhu2118 (Peter Zhu)
05:00 AM Ruby Bug #22455: Per-Ractor GC: an idle Ractor costs ~100 KB of memory (17 KB on 4.0)
Thank you for this bug report. I have a patch here that should reduce the memory used by Ractors that don't allocate many objects. Please give it a try. https://github.com/ruby/ruby/pull/19707 peterzhu2118 (Peter Zhu)
04:01 AM Ruby Bug #22509 (Closed): MMTk: GC.start panics with "failed to re-disable GC after GC" while a Ractor is being created
I think this should fix it: https://github.com/ruby/mmtk/pull/134 peterzhu2118 (Peter Zhu)

11/04/2026

12:09 AM Ruby Revision 13cebf68 (git): [ruby/mmtk] Fix assertion failure when marking machine stack
It's possible that a value on the machine stack appears to point into
the MMTk heap. When this value is first marked during the pinning phase,
it does not pin it if the object is not live. If later on, an object is
evacuated into the val...
peterzhu2118 (Peter Zhu)

11/02/2026

12:37 AM Ruby Revision 73397ad0 (git): Use rb_bug in rb_iseq_node_id
Use rb_bug instead of VM_ASSERT(0). peterzhu2118 (Peter Zhu)

10/28/2026

03:46 AM Ruby Revision 16cf9129 (git): [ruby/mmtk] Register pinned root objects in PinningRegistry
We need to register objects pinned from the root in PinningRegistry for
rb_gc_impl_pinned_p to work properly.
https://github.com/ruby/mmtk/commit/6e8ad61924
peterzhu2118 (Peter Zhu)

10/26/2026

11:21 AM Ruby Revision 3e636857 (git): Use delta zigzag encoding for iseq node_id
Node ids are assigned sequentially by the parser and compilation emits
instructions in an order correlated with the tree, so the delta between
consecutive instructions are likely to be small. We can store the delta
between consecutive in...
peterzhu2118 (Peter Zhu)

10/25/2026

10:59 AM Ruby Revision 2c09f747 (git): Encode iseq node_id with LEB128
Node ids are small non-negative integers (-1 for synthetic instructions),
so a LEB128 stores them in 1-2 bytes instead of a 4-byte int.
On Shopify's monolith, this reduces the boot heap memsize by 40MB.
peterzhu2118 (Peter Zhu)
05:27 AM Ruby Bug #22467 (Closed): IO#readpartial can raise EFAULT during GC.compact in another thread
Applied in changeset commit:git|0b7838e23b8f9b01765dafd5e675da6113f5b566.
----------
Fix IO reading without GVL during GC compaction
[Bug #22467]
If we perform IO read without the GVL during GC compaction and the string
we are writing...
peterzhu2118 (Peter Zhu)

Also available in: Atom