i18nlangtag/source/isolang/mslangid.cxx | 134 +++++++++++++++----------------- 1 file changed, 65 insertions(+), 69 deletions(-)
New commits: commit 896b046fc35972a91f26dd31916d6833269b1d1d Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Fri May 17 09:01:36 2024 +0200 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Fri May 17 10:54:08 2024 +0200 cool#8570 try to reduce CPU spent in MsLangId::getScriptType for some reason the optimiser does not like the o3tl::anyOf template method and does not inline it nicely. Change-Id: Iab504989185c05caaefae3df34e85b8898c6f0c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167761 Reviewed-by: Michael Meeks <michael.me...@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> diff --git a/i18nlangtag/source/isolang/mslangid.cxx b/i18nlangtag/source/isolang/mslangid.cxx index aa913a7f7ff4..3a420dba2d2c 100644 --- a/i18nlangtag/source/isolang/mslangid.cxx +++ b/i18nlangtag/source/isolang/mslangid.cxx @@ -367,87 +367,83 @@ sal_Int16 MsLangId::getScriptType( LanguageType nLang ) sal_Int16 nScript; // CTL - if( nLang.anyOf( - LANGUAGE_MONGOLIAN_MONGOLIAN_MONGOLIA, - LANGUAGE_MONGOLIAN_MONGOLIAN_CHINA, - LANGUAGE_MONGOLIAN_MONGOLIAN_LSO, - LANGUAGE_USER_KURDISH_IRAN, - LANGUAGE_OBSOLETE_USER_KURDISH_IRAQ, - LANGUAGE_KURDISH_ARABIC_IRAQ, - LANGUAGE_KURDISH_ARABIC_LSO, - LANGUAGE_USER_KURDISH_SOUTHERN_IRAN, - LANGUAGE_USER_KURDISH_SOUTHERN_IRAQ, - LANGUAGE_USER_KYRGYZ_CHINA, - LANGUAGE_USER_HUNGARIAN_ROVAS, - LANGUAGE_USER_MANCHU, - LANGUAGE_USER_XIBE, - LANGUAGE_USER_MALAY_ARABIC_MALAYSIA, - LANGUAGE_USER_MALAY_ARABIC_BRUNEI, - LANGUAGE_USER_ROHINGYA_HANIFI, - LANGUAGE_USER_PALI_THAI)) + if( nLang == LANGUAGE_MONGOLIAN_MONGOLIAN_MONGOLIA + || nLang == LANGUAGE_MONGOLIAN_MONGOLIAN_CHINA + || nLang == LANGUAGE_MONGOLIAN_MONGOLIAN_LSO + || nLang == LANGUAGE_USER_KURDISH_IRAN + || nLang == LANGUAGE_OBSOLETE_USER_KURDISH_IRAQ + || nLang == LANGUAGE_KURDISH_ARABIC_IRAQ + || nLang == LANGUAGE_KURDISH_ARABIC_LSO + || nLang == LANGUAGE_USER_KURDISH_SOUTHERN_IRAN + || nLang == LANGUAGE_USER_KURDISH_SOUTHERN_IRAQ + || nLang == LANGUAGE_USER_KYRGYZ_CHINA + || nLang == LANGUAGE_USER_HUNGARIAN_ROVAS + || nLang == LANGUAGE_USER_MANCHU + || nLang == LANGUAGE_USER_XIBE + || nLang == LANGUAGE_USER_MALAY_ARABIC_MALAYSIA + || nLang == LANGUAGE_USER_MALAY_ARABIC_BRUNEI + || nLang == LANGUAGE_USER_ROHINGYA_HANIFI + || nLang == LANGUAGE_USER_PALI_THAI) { nScript = css::i18n::ScriptType::COMPLEX; } // "Western" - else if (nLang.anyOf( - LANGUAGE_MONGOLIAN_CYRILLIC_MONGOLIA, - LANGUAGE_MONGOLIAN_CYRILLIC_LSO, - LANGUAGE_USER_KURDISH_SYRIA, - LANGUAGE_USER_KURDISH_TURKEY)) + else if ( nLang == LANGUAGE_MONGOLIAN_CYRILLIC_MONGOLIA + || nLang == LANGUAGE_MONGOLIAN_CYRILLIC_LSO + || nLang == LANGUAGE_USER_KURDISH_SYRIA + || nLang == LANGUAGE_USER_KURDISH_TURKEY) { nScript = css::i18n::ScriptType::LATIN; } // CJK catcher - else if ( primary(nLang).anyOf( - primary(LANGUAGE_CHINESE ), - primary(LANGUAGE_YUE_CHINESE_HONGKONG ), - primary(LANGUAGE_JAPANESE ), - primary(LANGUAGE_KOREAN ) - )) + else if ( primary(nLang) == primary(LANGUAGE_CHINESE ) + || primary(nLang) == primary(LANGUAGE_YUE_CHINESE_HONGKONG ) + || primary(nLang) == primary(LANGUAGE_JAPANESE ) + || primary(nLang) == primary(LANGUAGE_KOREAN ) + ) { nScript = css::i18n::ScriptType::ASIAN; } // CTL catcher - else if (primary(nLang).anyOf( - primary(LANGUAGE_AMHARIC_ETHIOPIA ), - primary(LANGUAGE_ARABIC_SAUDI_ARABIA ), - primary(LANGUAGE_ASSAMESE ), - primary(LANGUAGE_BENGALI ), - primary(LANGUAGE_BURMESE ), - primary(LANGUAGE_DHIVEHI ), - primary(LANGUAGE_FARSI ), - primary(LANGUAGE_GUJARATI ), - primary(LANGUAGE_HEBREW ), - primary(LANGUAGE_HINDI ), - primary(LANGUAGE_KANNADA ), - primary(LANGUAGE_KASHMIRI ), - primary(LANGUAGE_KHMER ), - primary(LANGUAGE_KONKANI ), - primary(LANGUAGE_LAO ), - primary(LANGUAGE_MALAYALAM ), - primary(LANGUAGE_MANIPURI ), - primary(LANGUAGE_MARATHI ), - primary(LANGUAGE_NEPALI ), - primary(LANGUAGE_ODIA ), - primary(LANGUAGE_PUNJABI ), - primary(LANGUAGE_SANSKRIT ), - primary(LANGUAGE_SINDHI ), - primary(LANGUAGE_SINHALESE_SRI_LANKA ), - primary(LANGUAGE_SYRIAC ), - primary(LANGUAGE_TAMIL ), - primary(LANGUAGE_TELUGU ), - primary(LANGUAGE_THAI ), - primary(LANGUAGE_TIBETAN ), // also LANGUAGE_DZONGKHA - primary(LANGUAGE_TIGRIGNA_ETHIOPIA ), - primary(LANGUAGE_UIGHUR_CHINA ), - primary(LANGUAGE_URDU_INDIA ), - primary(LANGUAGE_USER_BODO_INDIA ), - primary(LANGUAGE_USER_DOGRI_INDIA ), - primary(LANGUAGE_USER_LIMBU ), - primary(LANGUAGE_USER_MAITHILI_INDIA ), - primary(LANGUAGE_USER_NKO ), - primary(LANGUAGE_USER_SARAIKI ), - primary(LANGUAGE_YIDDISH ))) + else if (primary(nLang) == primary(LANGUAGE_AMHARIC_ETHIOPIA ) + || primary(nLang) == primary(LANGUAGE_ARABIC_SAUDI_ARABIA ) + || primary(nLang) == primary(LANGUAGE_ASSAMESE ) + || primary(nLang) == primary(LANGUAGE_BENGALI ) + || primary(nLang) == primary(LANGUAGE_BURMESE ) + || primary(nLang) == primary(LANGUAGE_DHIVEHI ) + || primary(nLang) == primary(LANGUAGE_FARSI ) + || primary(nLang) == primary(LANGUAGE_GUJARATI ) + || primary(nLang) == primary(LANGUAGE_HEBREW ) + || primary(nLang) == primary(LANGUAGE_HINDI ) + || primary(nLang) == primary(LANGUAGE_KANNADA ) + || primary(nLang) == primary(LANGUAGE_KASHMIRI ) + || primary(nLang) == primary(LANGUAGE_KHMER ) + || primary(nLang) == primary(LANGUAGE_KONKANI ) + || primary(nLang) == primary(LANGUAGE_LAO ) + || primary(nLang) == primary(LANGUAGE_MALAYALAM ) + || primary(nLang) == primary(LANGUAGE_MANIPURI ) + || primary(nLang) == primary(LANGUAGE_MARATHI ) + || primary(nLang) == primary(LANGUAGE_NEPALI ) + || primary(nLang) == primary(LANGUAGE_ODIA ) + || primary(nLang) == primary(LANGUAGE_PUNJABI ) + || primary(nLang) == primary(LANGUAGE_SANSKRIT ) + || primary(nLang) == primary(LANGUAGE_SINDHI ) + || primary(nLang) == primary(LANGUAGE_SINHALESE_SRI_LANKA ) + || primary(nLang) == primary(LANGUAGE_SYRIAC ) + || primary(nLang) == primary(LANGUAGE_TAMIL ) + || primary(nLang) == primary(LANGUAGE_TELUGU ) + || primary(nLang) == primary(LANGUAGE_THAI ) + || primary(nLang) == primary(LANGUAGE_TIBETAN ) // also LANGUAGE_DZONGKHA + || primary(nLang) == primary(LANGUAGE_TIGRIGNA_ETHIOPIA ) + || primary(nLang) == primary(LANGUAGE_UIGHUR_CHINA ) + || primary(nLang) == primary(LANGUAGE_URDU_INDIA ) + || primary(nLang) == primary(LANGUAGE_USER_BODO_INDIA ) + || primary(nLang) == primary(LANGUAGE_USER_DOGRI_INDIA ) + || primary(nLang) == primary(LANGUAGE_USER_LIMBU ) + || primary(nLang) == primary(LANGUAGE_USER_MAITHILI_INDIA ) + || primary(nLang) == primary(LANGUAGE_USER_NKO ) + || primary(nLang) == primary(LANGUAGE_USER_SARAIKI ) + || primary(nLang) == primary(LANGUAGE_YIDDISH )) { nScript = css::i18n::ScriptType::COMPLEX; }