Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2bc1cfd939bba10b05d0b75cee4ed8b21c951814
https://github.com/WebKit/WebKit/commit/2bc1cfd939bba10b05d0b75cee4ed8b21c951814
Author: Yusuke Suzuki <[email protected]>
Date: 2026-07-24 (Fri, 24 Jul 2026)
Changed paths:
M JSTests/stress/regexp-exec-anchored-first-char-filter.js
M JSTests/stress/regexp-test-anchored-first-char-filter.js
M Source/JavaScriptCore/yarr/YarrInterpreter.cpp
Log Message:
-----------
[YARR] Fix YarrInterpreter ignore-case with ASCII <-> unicode character case
https://bugs.webkit.org/show_bug.cgi?id=320153
rdar://183089102
Reviewed by Tadeu Zagallo.
Unicode character has some cases which lowercase / uppercase character
is ASCII and vise versa. For example, Kelvin sign (U+212A)'s lowercase
character is ASCII 'k'. But ECMAScript RegExp specifies that we should
not handle this lower-casing when unicode flags are not specified.
YarrJIT is correctly working, but YarrInterpreter was not. We
accidentally found this bug through the other work (317836@main), and
this patch fixes this bug, aligning the behavior to YarrJIT.
* JSTests/stress/regexp-exec-anchored-first-char-filter.js:
* JSTests/stress/regexp-test-anchored-first-char-filter.js:
* Source/JavaScriptCore/yarr/YarrInterpreter.cpp:
(JSC::Yarr::ByteCompiler::atomPatternCharacter):
(JSC::Yarr::ByteCompiler::emitDisjunction):
Canonical link: https://commits.webkit.org/317866@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications