summaryrefslogtreecommitdiff
path: root/include/ruby/internal/arithmetic
diff options
context:
space:
mode:
authorAlan Wu <XrXr@users.noreply.github.com>2024-01-24 18:06:58 -0500
committerGitHub <noreply@github.com>2024-01-24 18:06:58 -0500
commit2cc7a56ec7830fd5efaf2bc449637fd831743714 (patch)
treec7cdc48f52a5ac0c4fb2dbd69e4af218e4a3473c /include/ruby/internal/arithmetic
parentf769d68a69f0a8c84e46e43179bda6332923fb11 (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