General

Profile

peterzhu2118 (Peter Zhu)

  • Login: peterzhu2118
  • Email: peter@peterzhu.ca
  • Registered on: 08/01/2020
  • Last sign in: 12/30/2025

Issues

open closed Total
Assigned issues 1 30 31
Reported issues 2 78 80

Projects

Project Roles Registered on
Ruby Committer 03/24/2021

Activity

Today

02:57 AM Ruby Revision 41292562 (git): Use STR_SET_SHARED in str_duplicate_setup_heap
str_duplicate_setup_heap is missing a call to rb_gc_register_pinning_obj
that STR_SET_SHARED correctly calls.
peterzhu2118 (Peter Zhu)

12/31/2025

05:47 PM Ruby Revision 7cf6cc83 (git): Register imemo_ment as a pinning object
It sometimes pins itself when it is in the overloaded_cme table. peterzhu2118 (Peter Zhu)
02:22 PM Ruby Revision 544770d5 (git): [ruby/mmtk] Process obj_free candidates in parallel
This commit allows objects that are safe to be freed in parallel to do so.
A decrease in object freeing time can be seen in profiles.
The benchmarks don't show much difference.
Before:
-------------- -------------------- ---------- ...
peterzhu2118 (Peter Zhu)
02:22 PM Ruby Revision dbfedeb3 (git): [ruby/mmtk] Split ProcessObjFreeCandidates to parallel and non-parallel
This makes it easier to visualize in profilers which one is non-parallel.
https://github.com/ruby/mmtk/commit/ba68b2ef3b
peterzhu2118 (Peter Zhu)

12/30/2025

06:02 PM Ruby Revision 9d37155c (git): [ruby/mmtk] Use MMTK_HEAP_COUNT for SIZE_POOL_COUNT
https://github.com/ruby/mmtk/commit/290a2aec4e peterzhu2118 (Peter Zhu)
03:59 PM Ruby Feature #21084 (Closed): Declare objects have weak references
peterzhu2118 (Peter Zhu)
02:49 PM Ruby Feature #21084: Declare objects have weak references
Thanks, good find! I have a fix here: https://github.com/ruby/ruby/pull/15772 peterzhu2118 (Peter Zhu)
03:59 PM Ruby Revision f2833e35 (git): Fix generational GC for weak references
Fixes issue pointed out in https://bugs.ruby-lang.org/issues/21084#note-7.
The following script crashes:
wmap = ObjectSpace::WeakMap.new
GC.disable # only manual GCs
GC.start
GC.start
retain = []
50.times do
...
peterzhu2118 (Peter Zhu)
03:59 PM Ruby Revision b7bf8c20 (git): Add RVALUE_OLD_AGE to GC::INTERNAL_CONSTANTS for MMTk
peterzhu2118 (Peter Zhu)

12/29/2025

02:03 PM Ruby Revision 782d959f (git): Implement moving Immix in MMTk
This commit implements moving Immix in MMTk, which allows objects to move
in the GC.
The performance of this implementation is not yet amazing. It is very
similar to non-moving Immix in many of them and slightly slower in others.
The be...
peterzhu2118 (Peter Zhu)

Also available in: Atom