Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2f66f5ed23f9a3ce154e7b5745861f76eeda67f0
https://github.com/WebKit/WebKit/commit/2f66f5ed23f9a3ce154e7b5745861f76eeda67f0
Author: Kai Tamkun <[email protected]>
Date: 2026-08-02 (Sun, 02 Aug 2026)
Changed paths:
A JSTests/stress/regexp-boundary-assertions.js
M Source/JavaScriptCore/yarr/Yarr.h
M Source/JavaScriptCore/yarr/YarrDisassembler.h
M Source/JavaScriptCore/yarr/YarrInterpreter.cpp
M Source/JavaScriptCore/yarr/YarrInterpreter.h
M Source/JavaScriptCore/yarr/YarrJIT.cpp
M Source/JavaScriptCore/yarr/YarrParser.h
M Source/JavaScriptCore/yarr/YarrPattern.cpp
M Source/JavaScriptCore/yarr/YarrPattern.h
M Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/contentextensions/URLFilterParser.cpp
Log Message:
-----------
[JSC] Add support for Regular Expression Buffer Boundaries proposal
https://bugs.webkit.org/show_bug.cgi?id=315887
rdar://178287060
Reviewed by Yusuke Suzuki.
This patch adds support for regexp buffer boundary assertions (\A, \z, \Z).
See https://github.com/tc39/proposal-regexp-buffer-boundaries for details.
Test: JSTests/stress/regexp-boundary-assertions.js
* JSTests/stress/regexp-boundary-assertions.js: Added.
(assertEqual):
* Source/JavaScriptCore/yarr/Yarr.h:
* Source/JavaScriptCore/yarr/YarrDisassembler.h:
(JSC::Yarr::YarrJITInfo::~YarrJITInfo): Deleted.
* Source/JavaScriptCore/yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::matchAssertionBOI):
(JSC::Yarr::Interpreter::matchAssertionEOI):
(JSC::Yarr::Interpreter::matchDisjunction):
(JSC::Yarr::ByteCompiler::assertionBOI):
(JSC::Yarr::ByteCompiler::assertionEOI):
(JSC::Yarr::ByteCompiler::emitDisjunction):
(JSC::Yarr::ByteTermDumper::dumpTerm):
* Source/JavaScriptCore/yarr/YarrInterpreter.h:
(JSC::Yarr::ByteTerm::ByteTerm):
(JSC::Yarr::ByteTerm::BOI):
(JSC::Yarr::ByteTerm::EOI):
* Source/JavaScriptCore/yarr/YarrJIT.cpp:
* Source/JavaScriptCore/yarr/YarrParser.h:
(JSC::Yarr::requires):
(JSC::Yarr::Parser::Parser):
(JSC::Yarr::Parser::CharacterClassParserDelegate::assertionBOI):
(JSC::Yarr::Parser::CharacterClassParserDelegate::assertionEOI):
(JSC::Yarr::Parser::ClassSetParserDelegate::assertionBOI):
(JSC::Yarr::Parser::ClassSetParserDelegate::assertionEOI):
(JSC::Yarr::Parser::ClassStringDisjunctionParserDelegate::assertionBOI):
(JSC::Yarr::Parser::ClassStringDisjunctionParserDelegate::assertionEOI):
(JSC::Yarr::Parser::parseEscape):
(JSC::Yarr::parse):
* Source/JavaScriptCore/yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPatternConstructor::assertionBOI):
(JSC::Yarr::YarrPatternConstructor::assertionEOI):
(JSC::Yarr::YarrPatternConstructor::setupAlternativeOffsets):
(JSC::Yarr::YarrPattern::compile):
(JSC::Yarr::PatternTerm::dump):
* Source/JavaScriptCore/yarr/YarrPattern.h:
(JSC::Yarr::PatternTerm::PatternTerm):
(JSC::Yarr::PatternTerm::BOI):
(JSC::Yarr::PatternTerm::EOI):
* Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp:
(JSC::Yarr::SyntaxChecker::assertionBOI):
(JSC::Yarr::SyntaxChecker::assertionEOI):
(JSC::Yarr::checkSyntax):
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/contentextensions/URLFilterParser.cpp:
(WebCore::ContentExtensions::PatternParser::assertionBOI):
(WebCore::ContentExtensions::PatternParser::assertionEOI):
(WebCore::ContentExtensions::URLFilterParser::addPattern):
Canonical link: https://commits.webkit.org/318415@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications