Skip to content

Conversation

@jkotas
Copy link
Member

@jkotas jkotas commented Jan 27, 2026

Reverts #122116

Investigating #123667

@jkotas
Copy link
Member Author

jkotas commented Jan 27, 2026

rt-sz report MichalStrehovsky/rt-sz#203

@tarekgh tarekgh added this to the 11.0.0 milestone Jan 27, 2026
@MihaZupan
Copy link
Member

NativeAOT failures were not all timeouts

Sorry about that.
Would the acceptable alternative be to introduce a dedicated non-generic struct just for this call? Seems unfortunate we'd have to avoid tuple syntax like this.

@jkotas
Copy link
Member Author

jkotas commented Jan 28, 2026

Would the acceptable alternative be to introduce a dedicated non-generic struct just for this call?

It is one of the strategies that we have used in other similar situations to avoid the code bloat.

For this specific case, we have 30+ places where we do string allocation using unsafe FastAllocateString in core globalization and formatting routines to avoid the code bloat and other overheads from the safe variant. I do not think we need to go out of our way to avoid the unsafe code for this one. We should aim to have a solution that scales without introducing regressions for majority of places that use FastAllocateString. The solution likely includes #85014 . cc @EgorBo

@jkotas jkotas marked this pull request as ready for review January 28, 2026 02:32
Copilot AI review requested due to automatic review settings January 28, 2026 02:32
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR reverts PR #122116 which reduced unsafe usage in TextInfo.cs. The revert is being done to investigate a NativeAOT binary size regression on osx-x64 (issue #123667), where the size increased from ~1.5MB to 1.551MB, causing size tests to fail.

Changes:

  • Reverts ToLowerAsciiInvariant(string) method from safe span-based implementation using string.Create back to unsafe pointer-based implementation using fixed statements and manual pointer arithmetic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants