Bug 273556 - [Win] Use SystemV ABI for JIT entrypoints in YarrJIT on Windows
Summary: [Win] Use SystemV ABI for JIT entrypoints in YarrJIT on Windows
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: PC Windows 10
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2024-05-01 10:49 PDT by Ian Grunert
Modified: 2024-06-26 14:52 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Grunert 2024-05-01 10:49:30 PDT
clang-cl gives us the option of changing a function to use the SystemV ABI:

https://clang.llvm.org/docs/AttributeReference.html#sysv-abi

By using this on functions on the C++ / JIT boundaries, we can use the same codepaths for function calls and the same register mappings between Windows and Linux / Mac / BSD.

Yarr JIT is a good self-contained place to try out this change. We should be able to enable a few disabled features in Yarr JIT on Windows in the process:

YARR_JIT_ALL_PARENS_EXPRESSIONS
YARR_JIT_REGEXP_TEST_INLINE
YARR_JIT_BACKREFERENCES
YARR_JIT_BACKREFERENCES_FOR_16BIT_EXPRS
Comment 1 Radar WebKit Bug Importer 2024-05-08 10:50:16 PDT
<rdar://problem/127751244>
Comment 2 Ian Grunert 2024-06-26 11:05:13 PDT
Pull request: https://github.com/WebKit/WebKit/pull/30197
Comment 3 EWS 2024-06-26 14:52:09 PDT
Committed 280393@main (778df0f67e60): <https://commits.webkit.org/280393@main>

Reviewed commits have been landed. Closing PR #30197 and removing active labels.