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

Reply via email to