[core] Add TGenericClassInfo::AdoptMemberStreamer()#20736
Merged
silverweed merged 3 commits intoroot-project:masterfrom Feb 9, 2026
Merged
[core] Add TGenericClassInfo::AdoptMemberStreamer()#20736silverweed merged 3 commits intoroot-project:masterfrom
silverweed merged 3 commits intoroot-project:masterfrom
Conversation
pcanal
requested changes
Dec 16, 2025
8f74622 to
c5e9f1d
Compare
pcanal
approved these changes
Dec 17, 2025
Member
pcanal
left a comment
There was a problem hiding this comment.
Thanks. Consider adding a test if practical.
d48eec2 to
0ee83da
Compare
If the StreamerInfo is already compiled it will ignore a change in member streamers, so we emit an error if one attempts to call TClass::AdoptMemberStreamer in that situation. This error propagates to TGenericClassInfo::AdoptMemberStreamer as well.
0ee83da to
0d90cfb
Compare
pcanal
reviewed
Feb 5, 2026
pcanal
reviewed
Feb 5, 2026
0d90cfb to
f3b41d2
Compare
pcanal
reviewed
Feb 5, 2026
f3b41d2 to
01c68e3
Compare
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This Pull request:
adds a new function to
TGenericClassInfoto allow deferring the registration of a MemberStreamer during static initialization. Performs a similar function toTGenericClassInfo::AdoptStreameret al. but forTMemberStreamers.Reason
Currently it's impossible to register a MemberStreamer of a class during static initialization without invoking
TClass::GetClass, which should never be done at library loading time, as it causes issues.Specifically, ALICE was hit by this after adding a GetClass in a static initializer and as a result observed huge performance regressions due to Cling being initialized earlier than intended (which in turn causes modules to be registered too early).
cc @ktf