Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hot reload: Update RuntimeTypeMetadataUpdateHandler to use a QCall to clear reflection caches #50938

Open
stephentoub opened this issue Apr 8, 2021 · 2 comments
Assignees
Labels
area-System.Reflection enhancement Product code improvement that does NOT require public API changes/additions
Milestone

Comments

@stephentoub
Copy link
Member

stephentoub commented Apr 8, 2021

#51242 updated Corelib to clear reflection caches, but it does so using managed code to iterate through all types. This has some deficiencies, as noted in a TODO in the code:

// TODO: This should ideally be in a QCall in the runtime.  As written here:
// - This materializes all types in the app, creating RuntimeTypes for them.
// - This force loads all assembly dependencies, which might not work well for packages that may depend on resolve events firing at the right moment.
// - This does not cover instantiated generic types.
@stephentoub stephentoub added this to the 6.0.0 milestone Apr 8, 2021
@dotnet-issue-labeler dotnet-issue-labeler bot added area-System.Reflection untriaged New issue has not been triaged by the area owner labels Apr 8, 2021
@mikem8361 mikem8361 added the enhancement Product code improvement that does NOT require public API changes/additions label Apr 8, 2021
@mikem8361 mikem8361 removed the untriaged New issue has not been triaged by the area owner label Apr 8, 2021
@ghost ghost added in-pr There is an active PR which will close this issue when it is merged and removed in-pr There is an active PR which will close this issue when it is merged labels Apr 14, 2021
@stephentoub stephentoub changed the title Hot reload: Use MetadataUpdateHandlerAttribute to clear coreclr's reflection cache Hot reload: Update RuntimeTypeMetadataUpdateHandler to use a QCall to clear reflection caches Apr 14, 2021
@mikem8361
Copy link
Member

We don't have time to implement this in 6.0.0. Can we move this to 7.0.0?

@mikem8361
Copy link
Member

Moving to 7.0.0.

@mikem8361 mikem8361 modified the milestones: 6.0.0, 7.0.0 Jul 28, 2021
@mikem8361 mikem8361 modified the milestones: 7.0.0, 8.0.0 Jun 16, 2022
@mikem8361 mikem8361 modified the milestones: 8.0.0, Future Mar 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-System.Reflection enhancement Product code improvement that does NOT require public API changes/additions
Projects
None yet
Development

No branches or pull requests

2 participants