[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