Skip to content

[release/5.0] Fix perf regression in IntPtr operators on 32-bit platforms - #41254

Merged
adamsitnik merged 1 commit into
release/5.0from
backport/pr-41198-to-release/5.0
Aug 24, 2020
Merged

adamsitnik merged 1 commit into
release/5.0from
backport/pr-41198-to-release/5.0

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Backport of #41198 to release/5.0

/cc @adamsitnik @jkotas

Customer Impact

Testing

Risk

Switching to C# built-in uint/nuint types caused these operators to use long/ulong IntPtr/UIntPtr constructors instead of int/uint IntPtr constructors that it were used before.

The fix is to avoid going through the IntPtr/UIntPtr constructors and just depend on the built-in uint/nuint implicit conversions.

Fixes #41167
@Dotnet-GitSync-Bot

Copy link
Copy Markdown
Collaborator

I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label.

@adamsitnik adamsitnik added this to the 5.0.0 milestone Aug 24, 2020

@adamsitnik adamsitnik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@danmoseley

Copy link
Copy Markdown
Contributor

Approved : substantial perf regression in core scenarios

@adamsitnik

Copy link
Copy Markdown
Member

Test failures are #40916 and #41217

@adamsitnik
adamsitnik merged commit 529446e into release/5.0 Aug 24, 2020
@adamsitnik
adamsitnik deleted the backport/pr-41198-to-release/5.0 branch August 24, 2020 16:21
@ghost ghost locked as resolved and limited conversation to collaborators Dec 7, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants