]> granicus.if.org Git - php/commit
Store input and output filters in mbfl encodings
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 4 Aug 2017 16:38:36 +0000 (18:38 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 4 Aug 2017 20:22:58 +0000 (22:22 +0200)
commit633a471ba0c9acc6d1cca04880c1e69e7b2dc18e
treeac7b5c118769afc40b7911432c51ebbce33d40f5
parente20fbd43bad65d10af1e0d648f7bfa0c40baa893
Store input and output filters in mbfl encodings

For functions like mb_chr() and mb_ord() just looking up the
input/output filter for the encoding dominates the runtime. This
commit stores the input/output filter for an encoding in the
mbfl encoding structure, so it can be looked up directly, rather
than scanning through filter function lists.
68 files changed:
ext/mbstring/libmbfl/filters/mbfilter_7bit.c
ext/mbstring/libmbfl/filters/mbfilter_armscii8.c
ext/mbstring/libmbfl/filters/mbfilter_ascii.c
ext/mbstring/libmbfl/filters/mbfilter_base64.c
ext/mbstring/libmbfl/filters/mbfilter_big5.c
ext/mbstring/libmbfl/filters/mbfilter_byte2.c
ext/mbstring/libmbfl/filters/mbfilter_byte4.c
ext/mbstring/libmbfl/filters/mbfilter_cp1251.c
ext/mbstring/libmbfl/filters/mbfilter_cp1252.c
ext/mbstring/libmbfl/filters/mbfilter_cp1254.c
ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c
ext/mbstring/libmbfl/filters/mbfilter_cp51932.c
ext/mbstring/libmbfl/filters/mbfilter_cp850.c
ext/mbstring/libmbfl/filters/mbfilter_cp866.c
ext/mbstring/libmbfl/filters/mbfilter_cp932.c
ext/mbstring/libmbfl/filters/mbfilter_cp936.c
ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c
ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c
ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c
ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c
ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c
ext/mbstring/libmbfl/filters/mbfilter_gb18030.c
ext/mbstring/libmbfl/filters/mbfilter_htmlent.c
ext/mbstring/libmbfl/filters/mbfilter_hz.c
ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c
ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c
ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c
ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.c
ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.c
ext/mbstring/libmbfl/filters/mbfilter_jis.c
ext/mbstring/libmbfl/filters/mbfilter_koi8r.c
ext/mbstring/libmbfl/filters/mbfilter_koi8u.c
ext/mbstring/libmbfl/filters/mbfilter_qprint.c
ext/mbstring/libmbfl/filters/mbfilter_sjis.c
ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c
ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c
ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c
ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c
ext/mbstring/libmbfl/filters/mbfilter_ucs2.c
ext/mbstring/libmbfl/filters/mbfilter_ucs4.c
ext/mbstring/libmbfl/filters/mbfilter_uhc.c
ext/mbstring/libmbfl/filters/mbfilter_utf16.c
ext/mbstring/libmbfl/filters/mbfilter_utf32.c
ext/mbstring/libmbfl/filters/mbfilter_utf7.c
ext/mbstring/libmbfl/filters/mbfilter_utf8.c
ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c
ext/mbstring/libmbfl/filters/mbfilter_uuencode.c
ext/mbstring/libmbfl/mbfl/mbfilter.c
ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c
ext/mbstring/libmbfl/mbfl/mbfilter_pass.c
ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c
ext/mbstring/libmbfl/mbfl/mbfl_convert.c
ext/mbstring/libmbfl/mbfl/mbfl_convert.h
ext/mbstring/libmbfl/mbfl/mbfl_encoding.c
ext/mbstring/libmbfl/mbfl/mbfl_encoding.h