ruby/internal
alpaca-tc c8ddc0a843 Optimize callcache invalidation for refinements
Fixes [Bug #21201]

This change addresses a performance regression where defining methods
inside `refine` blocks caused severe slowdowns. The issue was due to
`rb_clear_all_refinement_method_cache()` triggering a full object
space scan via `rb_objspace_each_objects` to find and invalidate
affected callcaches, which is very inefficient.

To fix this, I introduce `vm->cc_refinement_table` to track
callcaches related to refinements. This allows us to invalidate
only the necessary callcaches without scanning the entire heap,
resulting in significant performance improvement.
2025-06-09 12:33:35 +09:00
..
2025-06-04 07:59:20 +02:00
2025-05-11 23:32:50 +09:00
2025-05-08 07:58:05 +02:00
2025-05-11 23:32:50 +09:00
2025-05-11 23:32:50 +09:00
2025-06-02 09:52:25 -04:00
2025-05-11 23:32:50 +09:00