You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 5a1c8cd
Browse filesBrowse the repository at this point in the historyBrowse files
Drop the container reference in LazyClassReflectionExtensionRegistryProvider after building the registry
Every ClassReflection instance holds this provider as a constructor
dependency. Because the provider kept its Container reference for the whole
process, every ClassReflection — and transitively every ObjectType that ever
resolved its class, every ResolvedPhpDocBlock tag type, every cached
signature — was a handle on the entire DI container.
That reference is only needed once, to build the registry lazily. Null it out
afterwards. Verified with retention-path instrumentation on a large project:
no reference chain from ClassReflection to the container remains, which is a
prerequisite for any future eviction of class reflections to actually free
memory (and prevents a stale reflection from keeping a dead container alive,
e.g. after stub validation).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NrTvR9j1mW2NNNC8RkuTsF
0 commit comments