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

_NoLogging methods in VM #89634

Closed
jasper-d opened this issue Jul 28, 2023 · 3 comments · Fixed by #89641
Closed

_NoLogging methods in VM #89634

jasper-d opened this issue Jul 28, 2023 · 3 comments · Fixed by #89641
Labels
area-VM-coreclr help wanted [up-for-grabs] Good issue for external contributors
Milestone

Comments

@jasper-d
Copy link
Contributor

Since #68717 there are a bunch of Xyz and Xyz_NoLogging method pairs in VM code.
In most cases Xyz simply calls the _NoLogging variant or has the same implementation, e.g.

inline BOOL IsRestored_NoLogging()
{
LIMITED_METHOD_DAC_CONTRACT;
return !(GetWriteableData_NoLogging()->m_dwFlags & MethodTableWriteableData::enum_flag_Unrestored);
}
inline BOOL IsRestored()
{
LIMITED_METHOD_DAC_CONTRACT;
return IsRestored_NoLogging();
}

I think the only methods that differ in behaviour are MethodTable::GetClass_NoLogging/MethodTable::GetClass.

Could these _NoLogging variants be removed or are they kept for some reason?

@dotnet-issue-labeler dotnet-issue-labeler bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Jul 28, 2023
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jul 28, 2023
@AaronRobinsonMSFT
Copy link
Member

Could these _NoLogging variants be removed or are they kept for some reason?

These are an historical artifact for scenarios involving collection of data that were reused for performance related tooling. The "_NoLogging" APIs were lighter-weight in the sense they didn't record accesses as opposed to the "logging" versions that did. All/most of that infrastructure was removed but we kept the "_NoLogging" in case we find a use case for this sort of mechanism again.

I personally would be fine removing them since we are going to add new APIs that probably would need a log/no-log pair but since we don't measure or have an active scenario they won't get written. Which means we are going to need to audit everything again anyways.

@davidwrighton and @jkotas Do either of you have any push back on removing these?

@AaronRobinsonMSFT AaronRobinsonMSFT added area-VM-coreclr and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners untriaged New issue has not been triaged by the area owner labels Jul 28, 2023
@AaronRobinsonMSFT AaronRobinsonMSFT added this to the Future milestone Jul 28, 2023
@jkotas
Copy link
Member

jkotas commented Jul 28, 2023

Do either of you have any push back on removing these?

Sounds good to me.

@AaronRobinsonMSFT
Copy link
Member

@jasper-d I look forward to your PR :)

@jkoritzinsky jkoritzinsky added the help wanted [up-for-grabs] Good issue for external contributors label Jul 28, 2023
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Jul 28, 2023
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Jul 28, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Aug 28, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-VM-coreclr help wanted [up-for-grabs] Good issue for external contributors
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants