{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/10632","repository_url":"https://api.github.com/repos/dotnet/coreclr","labels_url":"https://api.github.com/repos/dotnet/coreclr/issues/10632/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/10632/comments","events_url":"https://api.github.com/repos/dotnet/coreclr/issues/10632/events","html_url":"https://github.com/dotnet/coreclr/pull/10632","id":218630973,"number":10632,"title":"Remove unused IsFastSort/SpecialSort string logic","user":{"login":"bbowyersmyth","id":2482209,"avatar_url":"https://avatars2.githubusercontent.com/u/2482209?v=3","gravatar_id":"","url":"https://api.github.com/users/bbowyersmyth","html_url":"https://github.com/bbowyersmyth","followers_url":"https://api.github.com/users/bbowyersmyth/followers","following_url":"https://api.github.com/users/bbowyersmyth/following{/other_user}","gists_url":"https://api.github.com/users/bbowyersmyth/gists{/gist_id}","starred_url":"https://api.github.com/users/bbowyersmyth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbowyersmyth/subscriptions","organizations_url":"https://api.github.com/users/bbowyersmyth/orgs","repos_url":"https://api.github.com/users/bbowyersmyth/repos","events_url":"https://api.github.com/users/bbowyersmyth/events{/privacy}","received_events_url":"https://api.github.com/users/bbowyersmyth/received_events","type":"User","site_admin":false},"labels":[{"id":197462704,"url":"https://api.github.com/repos/dotnet/coreclr/labels/cla-already-signed","name":"cla-already-signed","color":"009800","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2017-03-31T22:19:19Z","updated_at":"2017-04-01T00:52:54Z","closed_at":"2017-03-31T23:38:00Z","pull_request":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/10632","html_url":"https://github.com/dotnet/coreclr/pull/10632","diff_url":"https://github.com/dotnet/coreclr/pull/10632.diff","patch_url":"https://github.com/dotnet/coreclr/pull/10632.patch"},"body":"Every new string that goes through IndexOf, LastIndexOf, Compare, and Equals with a StringComparison.OrdinalIgnoreCase first gets checked to see if it's all ASCII. As part of this check, if it is ASCII, the string is also scanned to see if it has a hyphen, single quote, or control characters and is marked as a STRING_STATE_SPECIAL_SORT instead. However STRING_STATE_SPECIAL_SORT is never independently used so there is no need to do this additional work.\r\n\r\nIsFastSort/IS_FAST_CASING are aliases for IsAscii so they have been removed.\r\nIsAscii/IS_ASCII is defined as STRING_STATE_SPECIAL_SORT || STRING_STATE_FAST_OPS. Special sort is a subset of fast ops (ascii) so it is safe to remove it from there if STRING_STATE_SPECIAL_SORT is no longer being set.\r\nThe other related macros are unused and have been removed.\r\n\r\nNothing else is calling GetHighCharState and I have scanned the codebase for 0xC0000000 usage. Any other systems to be aware of that might be reading that bit?"},"comment":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/comments/290881024","html_url":"https://github.com/dotnet/coreclr/pull/10632#issuecomment-290881024","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/10632","id":290881024,"user":{"login":"bbowyersmyth","id":2482209,"avatar_url":"https://avatars2.githubusercontent.com/u/2482209?v=3","gravatar_id":"","url":"https://api.github.com/users/bbowyersmyth","html_url":"https://github.com/bbowyersmyth","followers_url":"https://api.github.com/users/bbowyersmyth/followers","following_url":"https://api.github.com/users/bbowyersmyth/following{/other_user}","gists_url":"https://api.github.com/users/bbowyersmyth/gists{/gist_id}","starred_url":"https://api.github.com/users/bbowyersmyth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbowyersmyth/subscriptions","organizations_url":"https://api.github.com/users/bbowyersmyth/orgs","repos_url":"https://api.github.com/users/bbowyersmyth/repos","events_url":"https://api.github.com/users/bbowyersmyth/events{/privacy}","received_events_url":"https://api.github.com/users/bbowyersmyth/received_events","type":"User","site_admin":false},"created_at":"2017-04-01T00:52:54Z","updated_at":"2017-04-01T00:52:54Z","body":"@tarekgh It looks like they could all use IsAscii no? Sort order shouldn't have an impact on IndexOf, LastIndexOf, StartsWith, and EndsWith with OrdinalIgnoreCase for an ASCII string."}}
{"actor":{"display_login":"bbowyersmyth"}}