[pull] master from ruby:master#798
Merged
pull[bot] merged 1 commit intoturkdevops:masterfrom Feb 21, 2026
Merged
Conversation
…#16176) Anonymous modules/classes get names like `"#<Module:0x00007f...>"` from `rb_class2name`, which include a memory address that changes between runs. This makes stat keys unstable for diffing across runs and is less informative than it could be for display. Add three variants for class naming: - get_class_name: raw rb_class2name (unchanged, for internal use) - get_stable_class_name: strips addresses, includes superclass for anonymous classes (e.g. `"#<Class(String)>"`). For stat keys. - get_debug_class_name: like stable but preserves address when the name can't be fully resolved (e.g. `"#<Class(String):0x...>"`, `"#<Module:0x...>"`). For display where disambiguation matters. Use get_stable_class_name in stat key paths (qualified_method_name and count_call_to). Use get_stable_class_name in display paths that already have a separate pointer via ptr_map. Use get_debug_class_name in display paths without a separate pointer (type specializations, unreachable messages). I did this when trying to identify the source of the `#<Module:0x...>#object_id` stat we get from lobsters. None of these cases handled that (which as we identified was Tempfile using Delegate), so I'm not sure how useful it might be, but it still seemed potentially useful enough to propose and discuss.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )