diff options
| author | Alan Wu <XrXr@users.noreply.github.com> | 2024-01-24 18:06:58 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-24 18:06:58 -0500 |
| commit | 2cc7a56ec7830fd5efaf2bc449637fd831743714 (patch) | |
| tree | c7cdc48f52a5ac0c4fb2dbd69e4af218e4a3473c /include/ruby/internal/arithmetic | |
| parent | f769d68a69f0a8c84e46e43179bda6332923fb11 (diff) | |
YJIT: Avoid leaks by skipping objects with a singleton class
For receiver with a singleton class, there are multiple vectors YJIT can
end up retaining the object. There is a path in jit_guard_known_klass()
that bakes the receiver into the code, and the object could also be kept
alive indirectly through a path starting at the CME object baked into
the code.
To avoid these leaks, avoid compiling calls on objects with a singleton
class.
See: https://github.com/Shopify/ruby/issues/552
[Bug #20209]
Diffstat (limited to 'include/ruby/internal/arithmetic')
0 files changed, 0 insertions, 0 deletions
