Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fafab41339000ed0ac0088346670e1af020dcf14
      
https://github.com/WebKit/WebKit/commit/fafab41339000ed0ac0088346670e1af020dcf14
  Author: Michael Saboff <[email protected]>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M JSTests/stress/regexp-lookbehind.js
    M Source/JavaScriptCore/yarr/YarrInterpreter.cpp

  Log Message:
  -----------
  [Yarr] Regex Lookbehinds differs from v8
https://bugs.webkit.org/show_bug.cgi?id=273254
rdar://127440248

Reviewed by Yusuke Suzuki.

Updated the checked offset calculation for lookbehinds.  The count of 
characters we need for a lookbehind should not be
dependent of the count for the surrounding expression.  We now use the minimum 
checked size selected from either the already
checked characters or the parenthesis checked characters (if they are 
different).  The prior code would check the already checked
parenthesis count first and then the disjunction's minimum size.  Now we take 
the lessor of the two minimums to compute the
amount we need to check when trying to match the lookbehind.  We still need to 
uncheck the appropriate amount based on either
the disjunction minimum or parenthesis when we are done handling the 
lookbehind.  That is now handled with the new variable,
backwardUncheckAmount.

Deleted some dead code discovered while fixing this issue.

New test added.

* JSTests/stress/regexp-lookbehind.js:
* Source/JavaScriptCore/yarr/YarrInterpreter.cpp:
(JSC::Yarr::ByteCompiler::emitDisjunction):

Canonical link: https://commits.webkit.org/278863@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to