3fab9d05cf
Non-unicode, case-insensitive regexps (e.g. /foo/i, not foo/iu) use a case-folding algorithm that doesn't quite match the Unicode definition. There are two places in irregexp that need to do case-folding. Prior to this patch, neither of them quite matched the spec (https://tc39.es/ecma262/#sec-runtime-semantics-canonicalize-ch). This patch implements the "Canonicalize" algorithm in src/regexp/special-case.h, and uses it in the relevant places. It replaces special-case logic around upper-casing / ASCII characters with the following approach: 1. For most characters, calling UnicodeSet::closeOver on a set containing that character will produce the correct set of case-insensitive matches. 2. For a small handful of characters (like the sharp S that prompted this change), UnicodeSet::closeOver will include some characters that should be omitted. For example, although closeOver('ß') = "ßẞ", uppercase('ß') is "SS", so step 3.e means that 'ß' canonicalizes to itself, and should not match 'ẞ'. In these cases, we can skip the closeOver entirely, because it will never add an equivalent character. These characters are in the IgnoreSet. 3. For an even smaller handful of characters, UnicodeSet::closeOver will produce some characters that should be omitted, but also some characters that should be included. For example, closeOver('k') = "kKK" (lowercase k, uppercase K, U+212A KELVIN SIGN), but KELVIN SIGN should not match either of the other two (step 3.g). To handle this, we put such characters in the SpecialAddSet. In these cases, we closeOver the original character, but filter out the results that do not have the same canonical value. The computation of IgnoreSet and SpecialAddSet happens at build time, using the pre-existing gen-regexp-special-case.cc step. R=jgruber@chromium.org Bug: v8:10248 Change-Id: I00d48b180c83bb8e645cc59eda57b01eab134f0b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2072858 Reviewed-by: Frank Tang <ftang@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#66641}
211 lines
7.4 KiB
Plaintext
211 lines
7.4 KiB
Plaintext
# Below is a list of people and organizations that have contributed
|
|
# to the V8 project. Names should be added to the list like so:
|
|
#
|
|
# Name/Organization <email address>
|
|
|
|
Google Inc. <*@google.com>
|
|
The Chromium Authors <*@chromium.org>
|
|
Sigma Designs Inc. <*@sdesigns.com>
|
|
ARM Ltd. <*@arm.com>
|
|
Hewlett-Packard Development Company, LP <*@palm.com>
|
|
Igalia, S.L. <*@igalia.com>
|
|
Joyent, Inc. <*@joyent.com>
|
|
Bloomberg Finance L.P. <*@bloomberg.net>
|
|
NVIDIA Corporation <*@nvidia.com>
|
|
BlackBerry Limited <*@blackberry.com>
|
|
Opera Software ASA <*@opera.com>
|
|
Intel Corporation <*@intel.com>
|
|
LG Electronics, Inc. <*@lge.com>
|
|
Microsoft <*@microsoft.com>
|
|
MIPS Technologies, Inc. <*@mips.com>
|
|
Imagination Technologies, LLC <*@imgtec.com>
|
|
Wave Computing, Inc. <*@wavecomp.com>
|
|
Loongson Technology Corporation Limited <*@loongson.cn>
|
|
Code Aurora Forum <*@codeaurora.org>
|
|
Home Jinni Inc. <*@homejinni.com>
|
|
IBM Inc. <*@*.ibm.com>
|
|
IBM Inc. <*@ibm.com>
|
|
Samsung <*@*.samsung.com>
|
|
Samsung <*@samsung.com>
|
|
Joyent, Inc <*@joyent.com>
|
|
RT-RK Computer Based System <*@rt-rk.com>
|
|
Amazon, Inc <*@amazon.com>
|
|
ST Microelectronics <*@st.com>
|
|
Yandex LLC <*@yandex-team.ru>
|
|
StrongLoop, Inc. <*@strongloop.com>
|
|
Facebook, Inc. <*@fb.com>
|
|
Facebook, Inc. <*@oculus.com>
|
|
Vewd Software AS <*@vewd.com>
|
|
Groupon <*@groupon.com>
|
|
Meteor Development Group <*@meteor.com>
|
|
Cloudflare, Inc. <*@cloudflare.com>
|
|
Julia Computing, Inc. <*@juliacomputing.com>
|
|
|
|
Aaron Bieber <deftly@gmail.com>
|
|
Abdulla Kamar <abdulla.kamar@gmail.com>
|
|
Akinori MUSHA <knu@FreeBSD.org>
|
|
Alessandro Pignotti <alessandro@leaningtech.com>
|
|
Alex Kodat <akodat@rocketsoftware.com>
|
|
Alexander Botero-Lowry <alexbl@FreeBSD.org>
|
|
Alexander Karpinsky <homm86@gmail.com>
|
|
Alexander Neville <dark@volatile.bz>
|
|
Alexandre Vassalotti <avassalotti@gmail.com>
|
|
Alexis Campailla <alexis@janeasystems.com>
|
|
Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
Amos Lim <eui-sang.lim@samsung.com>
|
|
Andreas Anyuru <andreas.anyuru@gmail.com>
|
|
Andrew Paprocki <andrew@ishiboo.com>
|
|
Andrei Kashcha <anvaka@gmail.com>
|
|
Anna Henningsen <anna@addaleax.net>
|
|
Anton Bikineev <ant.bikineev@gmail.com>
|
|
Bangfu Tao <bangfu.tao@samsung.com>
|
|
Daniel Shelton <d1.shelton@samsung.com>
|
|
Ben Coe <bencoe@gmail.com>
|
|
Ben Newman <ben@meteor.com>
|
|
Ben Noordhuis <info@bnoordhuis.nl>
|
|
Benjamin Tan <demoneaux@gmail.com>
|
|
Bert Belder <bertbelder@gmail.com>
|
|
Burcu Dogan <burcujdogan@gmail.com>
|
|
Caitlin Potter <caitpotter88@gmail.com>
|
|
Craig Schlenter <craig.schlenter@gmail.com>
|
|
Chengzhong Wu <legendecas@gmail.com>
|
|
Choongwoo Han <cwhan.tunz@gmail.com>
|
|
Chris Nardi <hichris123@gmail.com>
|
|
Christopher A. Taylor <chris@gameclosure.com>
|
|
Colin Ihrig <cjihrig@gmail.com>
|
|
Daniel Andersson <kodandersson@gmail.com>
|
|
Daniel Bevenius <daniel.bevenius@gmail.com>
|
|
Daniel James <dnljms@gmail.com>
|
|
David Carlier <devnexen@gmail.com>
|
|
Deepak Mohan <hop2deep@gmail.com>
|
|
Deon Dior <diaoyuanjie@gmail.com>
|
|
Dominic Farolini <domfarolino@gmail.com>
|
|
Douglas Crosher <dtc-v8@scieneer.com>
|
|
Dusan Milosavljevic <dusan.m.milosavljevic@gmail.com>
|
|
Erich Ocean <erich.ocean@me.com>
|
|
Evan Lucas <evan.lucas@help.com>
|
|
Fedor Indutny <fedor@indutny.com>
|
|
Felix Geisendörfer <haimuiba@gmail.com>
|
|
Filipe David Manana <fdmanana@gmail.com>
|
|
Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
|
|
Geoffrey Garside <ggarside@gmail.com>
|
|
Gergely Nagy <ngg@ngg.hu>
|
|
Gus Caplan <me@gus.host>
|
|
Gwang Yoon Hwang <ryumiel@company100.net>
|
|
Hannu Trey <hannu.trey@gmail.com>
|
|
Henrique Ferreiro <henrique.ferreiro@gmail.com>
|
|
Hirofumi Mako <mkhrfm@gmail.com>
|
|
Honggyu Kim <honggyu.kp@gmail.com>
|
|
Huáng Jùnliàng <jlhwung@gmail.com>
|
|
Iain Ireland <iireland@mozilla.com>
|
|
Ingvar Stepanyan <me@rreverser.com>
|
|
Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>
|
|
Isiah Meadows <impinball@gmail.com>
|
|
Jaime Bernardo <jaime@janeasystems.com>
|
|
Jan de Mooij <jandemooij@gmail.com>
|
|
Jan Krems <jan.krems@gmail.com>
|
|
Jay Freeman <saurik@saurik.com>
|
|
James Pike <g00gle@chilon.net>
|
|
James M Snell <jasnell@gmail.com>
|
|
Jianghua Yang <jianghua.yjh@alibaba-inc.com>
|
|
Jiawen Geng <technicalcute@gmail.com>
|
|
Joel Stanley <joel@jms.id.au>
|
|
Johan Bergström <johan@bergstroem.nu>
|
|
Jonathan Liu <net147@gmail.com>
|
|
Julien Brianceau <jbriance@cisco.com>
|
|
JunHo Seo <sejunho@gmail.com>
|
|
Junming Huang <kiminghjm@gmail.com>
|
|
Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>
|
|
Karl Skomski <karl@skomski.com>
|
|
Kevin Gibbons <bakkot@gmail.com>
|
|
Kris Selden <kris.selden@gmail.com>
|
|
Kyounga Ra <kyounga@alticast.com>
|
|
Loo Rong Jie <loorongjie@gmail.com>
|
|
Luis Reis <luis.m.reis@gmail.com>
|
|
Luke Zarko <lukezarko@gmail.com>
|
|
Maciej Małecki <me@mmalecki.com>
|
|
Marcin Cieślak <saper@marcincieslak.com>
|
|
Marcin Wiącek <marcin@mwiacek.com>
|
|
Mateusz Czeladka <mateusz.szczap@gmail.com>
|
|
Matheus Marchini <mat@mmarchini.me>
|
|
Matheus Marchini <mmarchini@netflix.com>
|
|
Mathias Bynens <mathias@qiwi.be>
|
|
Matt Hanselman <mjhanselman@gmail.com>
|
|
Matthew Sporleder <msporleder@gmail.com>
|
|
Maxim Mazurok <maxim@mazurok.com>
|
|
Maxim Mossienko <maxim.mossienko@gmail.com>
|
|
Michael Lutz <michi@icosahedron.de>
|
|
Michael Mclaughlin <m8ch88l@gmail.com>
|
|
Michael Smith <mike@w3.org>
|
|
Michaël Zasso <mic.besace@gmail.com>
|
|
Mike Gilbert <floppymaster@gmail.com>
|
|
Mike Pennisi <mike@mikepennisi.com>
|
|
Mikhail Gusarov <dottedmag@dottedmag.net>
|
|
Milton Chiang <milton.chiang@mediatek.com>
|
|
Mu Tao <pamilty@gmail.com>
|
|
Myeong-bo Shim <m0609.shim@samsung.com>
|
|
Nicolas Antonius Ernst Leopold Maria Kaiser <nikai@nikai.net>
|
|
Niklas Hambüchen <mail@nh2.me>
|
|
Noj Vek <nojvek@gmail.com>
|
|
Oleksandr Chekhovskyi <oleksandr.chekhovskyi@gmail.com>
|
|
Oliver Dunk <oliver@oliverdunk.com>
|
|
Paolo Giarrusso <p.giarrusso@gmail.com>
|
|
Patrick Gansterer <paroga@paroga.com>
|
|
Peng Fei <pfgenyun@gmail.com>
|
|
Peng-Yu Chen <pengyu@libstarrify.so>
|
|
Peter Rybin <peter.rybin@gmail.com>
|
|
Peter Varga <pvarga@inf.u-szeged.hu>
|
|
Peter Wong <peter.wm.wong@gmail.com>
|
|
Paul Lind <plind44@gmail.com>
|
|
Pavel Medvedev <pmedvedev@gmail.com>
|
|
PhistucK <phistuck@gmail.com>
|
|
Qingyan Li <qingyan.liqy@alibaba-inc.com>
|
|
Qiuyi Zhang <qiuyi.zqy@alibaba-inc.com>
|
|
Rafal Krypa <rafal@krypa.net>
|
|
Raul Tambre <raul@tambre.ee>
|
|
Ray Glover <ray@rayglover.net>
|
|
Refael Ackermann <refack@gmail.com>
|
|
Rene Rebe <rene@exactcode.de>
|
|
Rick Waldron <waldron.rick@gmail.com>
|
|
Rob Wu <rob@robwu.nl>
|
|
Robert Meijer <robert.s.meijer@gmail.com>
|
|
Robert Mustacchi <rm@fingolfin.org>
|
|
Robert Nagy <robert.nagy@gmail.com>
|
|
Rong Wang <wangrong089@gmail.com>
|
|
Ross Kirsling <rkirsling@gmail.com>
|
|
Ruben Bridgewater <ruben@bridgewater.de>
|
|
Ryan Dahl <ry@tinyclouds.org>
|
|
Sakthipriyan Vairamani (thefourtheye) <thechargingvolcano@gmail.com>
|
|
Sander Mathijs van Veen <sander@leaningtech.com>
|
|
Sandro Santilli <strk@keybit.net>
|
|
Sanjoy Das <sanjoy@playingwithpointers.com>
|
|
Seo Sanghyeon <sanxiyn@gmail.com>
|
|
Shawn Anastasio <shawnanastasio@gmail.com>
|
|
Shawn Presser <shawnpresser@gmail.com>
|
|
Stefan Penner <stefan.penner@gmail.com>
|
|
Sylvestre Ledru <sledru@mozilla.com>
|
|
Taketoshi Aono <brn@b6n.ch>
|
|
Teddy Katz <teddy.katz@gmail.com>
|
|
Tiancheng "Timothy" Gu <timothygu99@gmail.com>
|
|
Tobias Burnus <burnus@net-b.de>
|
|
Tobias Nießen <tniessen@tnie.de>
|
|
Ujjwal Sharma <usharma1998@gmail.com>
|
|
Vadim Gorbachev <bmsdave@gmail.com>
|
|
Victor Costan <costan@gmail.com>
|
|
Vlad Burlik <vladbph@gmail.com>
|
|
Vladimir Krivosheev <develar@gmail.com>
|
|
Vladimir Shutoff <vovan@shutoff.ru>
|
|
Wenlu Wang <kingwenlu@gmail.com>
|
|
Wiktor Garbacz <wiktor.garbacz@gmail.com>
|
|
Wouter Vermeiren <wouter.vermeiren@essensium.com>
|
|
Xiaoyin Liu <xiaoyin.l@outlook.com>
|
|
Yannic Bonenberger <contact@yannic-bonenberger.com>
|
|
Yong Wang <ccyongwang@tencent.com>
|
|
Youfeng Hao <ajihyf@gmail.com>
|
|
Yu Yin <xwafish@gmail.com>
|
|
Zac Hansen <xaxxon@gmail.com>
|
|
Zhao Jiazhong <kyslie3100@gmail.com>
|
|
Zhongping Wang <kewpie.w.zp@gmail.com>
|
|
柳荣一 <admin@web-tinker.com>
|
|
Yanbo Li <lybvinci@gmail.com>
|