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

Reply via email to