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

Ensure ClrInstrumentationEngine handles ref fields #464

Open
wiktork opened this issue Feb 10, 2022 · 7 comments
Open

Ensure ClrInstrumentationEngine handles ref fields #464

wiktork opened this issue Feb 10, 2022 · 7 comments

Comments

@wiktork
Copy link
Member

wiktork commented Feb 10, 2022

dotnet/runtime#63768

May be particularly impactful with regards to signature parsing.

@AaronRobinsonMSFT
Copy link
Member

See the additional ECMA-335 changes too - dotnet/runtime#63659

@AaronRobinsonMSFT
Copy link
Member

@wiktork Any updates on this investigation?

@delmyers
Copy link
Contributor

delmyers commented May 4, 2022

@wiktork Any updates on this investigation?

We haven' started it yet. We have talked about this a bit since there is a risk that our IL decoding logic might just crash if it comes across something like this. Hopefully it won't be impactful in the short term because ref fields will be rare in production code for the time being.

@AaronRobinsonMSFT
Copy link
Member

We have talked about this a bit since there is a risk that our IL decoding logic might just crash if it comes across something like this. Hopefully it won't be impactful in the short term because ref fields will be rare in production code for the time being.

Thanks @delmyers. I agree this is a potential concern. Something to note is that Span<T> and a few other types will be updated to have ref fields so it might show up in production code as people move onto .NET 7.

@delmyers
Copy link
Contributor

delmyers commented May 4, 2022

@AaronRobinsonMSFT I hope we will still have a bit of time before this becomes a big issue, since someone would have to decode a method that references the type first. There are some scenarios where that is more likely.

@delmyers
Copy link
Contributor

delmyers commented May 6, 2022

@AaronRobinsonMSFT Is there an easy way for our partners to install and test these new features? I think that the easiest way for us to find issues is to get partners to write tests that use them, so we can work together to fix issues. We, of course, should be adding tests to this codebase, too.

@AaronRobinsonMSFT
Copy link
Member

@delmyers The C# language support doesn't presently exist. I wrote a library in IL that could be used to try out things and sent that to @wiktork. I can share with you as well. The support for ref fields is in the nightly .NET 7 builds and should also be in preview 3+.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants