• Sathya Gunasekaran's avatar
    [Intl] Optimize Intl.Collator · 363fe1eb
    Sathya Gunasekaran authored
    This patch ports most of the Intl.Collator from JS to C++.
    
    The Intl.Collator object no longer stores all the resolved
    values. Instead these are looked up on demand as part of
    Intl.Collator.prototype.resolvedOptions(), saving several words. In
    the future, we can cache the result of the resolvedOptions as well.
    
    In this patch, we use ICU to do parsing of the unicode extension in
    the bcp47 language tag instead of using a custom extension parser.
    
    This patch also fixes several spec compliance bugs as well.
    
    Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
    Change-Id: Iaaa7be4a628404da1bd83d882e04a2c6de70ebd9
    Bug: v8:5751, v8:7480
    Reviewed-on: https://chromium-review.googlesource.com/1165084
    Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
    Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54965}
    363fe1eb
js-collator-inl.h 1.08 KB