[webkit-changes] [WebKit/WebKit] a8e4fc: REGRESSION: (r276031) PremiereMax.com no longer lo...

Michael Saboff noreply at github.com
Thu May 23 09:50:33 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a8e4fcd2924b785084c47fb25d2af3c4d1ac6229
      https://github.com/WebKit/WebKit/commit/a8e4fcd2924b785084c47fb25d2af3c4d1ac6229
  Author: Michael Saboff <msaboff at apple.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M Source/JavaScriptCore/yarr/YarrJIT.cpp
    M Source/JavaScriptCore/yarr/YarrJITRegisters.h

  Log Message:
  -----------
  REGRESSION: (r276031) PremiereMax.com no longer loads properly
https://bugs.webkit.org/show_bug.cgi?id=274574
rdar://128338255

Reviewed by Yusuke Suzuki.

Removed a small optimization that was added in 276031 at main where we advance two characters when we read a non-BMP character
that doesn't match any atoms.
  3. (ARM64 only) When we read a non-BMP code point, consisting of two surrogate code units, and we fail to match any atom
     in the body of a RegExp, we were incrementing the subject string index by 1 and going back to the top of the loop to
     start matching the pattern again.  Now we dedicate a register to hold either 0 or 1 depending on the width of the first
     character read for that loop iteration.  When advancing the index for the next iteration, we add the value of that register
     to the updated index.  This eliminates one iteration through the matching loop for each non-BMP code point that doesn't
     match.

* Source/JavaScriptCore/yarr/YarrJIT.cpp:
* Source/JavaScriptCore/yarr/YarrJITRegisters.h:

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list