summaryrefslogtreecommitdiff
path: root/dquote_inline.h
Commit message (Collapse)AuthorAgeFilesLines
* regcomp.c, toke.c: swap functions being inline staticKarl Williamson2016-02-181-112/+23
| | | | | | | | | | grok_bslash_x() is so large that no compiler will inline it. Move it to dquote.c from dq_inline.c. Conversely, move form_octal_warning() to dq_inline.c. It is so tiny that the function call overhead is scarcely smaller than the function body. This also moves things in embed.fnc so all these functions. are not visible outside the few files they are supposed to be used in.
* toke.c: Remove soon-to-be invalid t assumptionKarl Williamson2015-11-251-6/+2
| | | | | | | | | | | | | | | | | The code in toke.c assumes that the UTF8 expansion of the string "\x{foo}" takes no more bytes than the original input text, which includes the 4 bytes of overhead "\x{}". Similarly for "\o{}". The functions that convert to the code point actually now assert for this. The next commit will make this assumption definitely invalid on EBCDIC platforms. Remove the assertions, and actually handle the case properly. The other places that call the conversion functions do not make this assumption, so there is no harm in removing them from there. Since we believe that this can't happen except on EBCDIC, we could #ifdef this code and use just an assert on non-EBCDIC. But it's easier to maintain if #ifdef's are minimized. Parsing is not a time-critical operation, like being in an inner loop, and the extra test gives a branch prediction hint to the compiler.
* Change to use UVCHR_SKIP over UNI_SKIPKarl Williamson2015-09-041-1/+1
| | | | | | | | | | UNI_SKIP is somewhat ambiguous. Perl has long used 'uvchr' as part of a name to mean the unsigned values using the native character set plus Unicode values for those above 255. This also changes two calls (one in dquote_static.c and one in dquote_inline.h) to use UVCHR_SKIP; they should not have been OFFUNI, as they are dealing with native values.
* static inlines from dquote_static.c -> new dquote_inline.hJarkko Hietaniemi2015-07-221-0/+160