Add upper case functions to zend_operators.c and use them#7521
Merged
nikic merged 3 commits intophp:masterfrom Sep 29, 2021
Merged
Add upper case functions to zend_operators.c and use them#7521nikic merged 3 commits intophp:masterfrom
nikic merged 3 commits intophp:masterfrom
Conversation
nikic
reviewed
Sep 28, 2021
|
|
||
| static const unsigned char tolower_map[256] = { | ||
| #if __SSE2__ | ||
| #define HAVE_BLOCKCONV |
Member
There was a problem hiding this comment.
Where does the BLOCKCONV prefix come from?
Contributor
Author
There was a problem hiding this comment.
I am introducing it here, for block (case) conversion. Feel free to suggest a better name.
3275cb7 to
d3311ff
Compare
Add a family of upper case conversion functions to zend_operators.c, by analogy with the lower case functions. Move the single-character conversion macros to the header so that they can be used as a locale-independent replacement for tolower() and toupper(). Factor out the ugly bits of the SSE2 case conversion so that the four functions that use it are easy to read and processor-independent.
Use the new ASCII upper case functions in ext/xml, ext/pdo_dblib and as an optimization for strtoupper() when the locale is "C".
d3311ff to
7009053
Compare
nikic
approved these changes
Sep 29, 2021
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a family of upper case conversion functions to zend_operators.c,
by analogy with the lower case functions.
Move the single-character conversion macros to the header so that they
can be used as a locale-independent replacement for tolower() and
toupper().
Factor out the ugly bits of the SSE2 case conversion so that the four
functions that use it are easy to read and processor-independent.
Add SSE-oriented strtolower/strtoupper tests.
Use the new ASCII upper case functions in ext/xml, ext/pdo_dblib and as
an optimization for strtoupper() when the locale is "C".