Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9ff5c9b7dce64de5003500c07075f884f0e14a32
https://github.com/WebKit/WebKit/commit/9ff5c9b7dce64de5003500c07075f884f0e14a32
Author: Michael Saboff <[email protected]>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M Source/JavaScriptCore/yarr/YarrJIT.cpp
M Source/JavaScriptCore/yarr/YarrJIT.h
M Source/WTF/wtf/PlatformEnable.h
Log Message:
-----------
[JSC] Add JIT support for RegExp ignore case Backreferences in 16-bit patterns
https://bugs.webkit.org/show_bug.cgi?id=271617
rdar://125333123
Reviewed by Yusuke Suzuki.
Added code to call out to a new operationAreCanonicallyEquivalent() C++ helper,
which wraps the inlined areCanonicallyEquivalent().
Given that the Yarr JIT has fixed assigned registers, added a thunk that saves
all caller saves, moves the arguments from the
Yarr fixed registers to what operationAreCanonicallyEquivalent() expects and
then calls it. Upon return from the operation, we
restore registers, put the comparison return in a known register and return
back to the Yarr JIT code that called out.
This change supports ARM64 and X86_64 (non-Windows) only. Work should only be
needed for the coding of the thunk generator for
other platforms with sufficient registers for general backrefernce processing
in the Yarr JIT.
* Source/JavaScriptCore/yarr/YarrJIT.cpp:
(JSC::Yarr::JSC_DEFINE_JIT_OPERATION):
(JSC::Yarr::jitCompileInlinedTest):
* Source/JavaScriptCore/yarr/YarrJIT.h:
* Source/WTF/wtf/PlatformEnable.h:
Canonical link: https://commits.webkit.org/276681@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