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

Restore Advance when reading float/double with XmlBufferReader. #80274

Conversation

StephenMolloy
Copy link
Member

Bring back buffer advance when reading float/double in XmlBufferReader.

Towards the end of 7.0, we took a change (#73332) to improve the performance of XmlDictionaryReader. This change both brought to light some Big-Endian issues in DCS, as well as obscured the fact that some methods for reading double/single with XmlBufferReader required intentional advancing of the buffer after reading. A later change to fix the Big-Endian-ness (#74599) missed those advances.

(#74599 was recently manually backported to 6.0 as well, but as 6.0 did not have the perf change that obscured the calls to Advance, they were not lost in that backport.)

  • Backport to 7.0

Fix #78913

@StephenMolloy StephenMolloy added this to the 8.0.0 milestone Jan 5, 2023
@ghost ghost assigned StephenMolloy Jan 5, 2023
@lewing lewing closed this Jan 6, 2023
@lewing lewing reopened this Jan 6, 2023
@mconnew
Copy link
Member

mconnew commented Jan 6, 2023

LGTM

@StephenMolloy
Copy link
Member Author

/backport to release/7.0

@github-actions
Copy link
Contributor

github-actions bot commented Jan 7, 2023

Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/3859564678

@stephentoub stephentoub merged commit 3de9594 into dotnet:main Jan 8, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Feb 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Binary DataContractSerializer serialization is broken in .NET 7 for floating point data types
4 participants