Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e13280f56c44e96d8f923cc4828a31cb84ade68e
https://github.com/WebKit/WebKit/commit/e13280f56c44e96d8f923cc4828a31cb84ade68e
Author: Yusuke Suzuki <[email protected]>
Date: 2026-07-15 (Wed, 15 Jul 2026)
Changed paths:
M Source/JavaScriptCore/yarr/YarrJIT.cpp
M Source/JavaScriptCore/yarr/YarrJITRegisters.h
Log Message:
-----------
[YARR] Rearrange YarrJIT registers to have regT3
https://bugs.webkit.org/show_bug.cgi?id=319477
rdar://182284961
Reviewed by Keith Miller.
This patch rearrange YarrJIT registers so that we can have regT3.
1. `initialStart` register is only used for dot-star-enclosure loop.
Let's not preserve one register for all-the-time. We save
initialStart in the *already* preserved stack frame. And then load it
before the loop of dot-star-enclosure.
2. In ARM64, we simply assign x14 to regT3, which is unused caller-save
register.
3. In x64, we assign r8 to regT3, which is caller-save register. Then we
instead use ebx for matchingContext register, because we would like
to make sure that all of regTX registers are caller-save registers in
YarrJIT to make prologue / epilogue handling simplified.
* Source/JavaScriptCore/yarr/YarrJIT.cpp:
* Source/JavaScriptCore/yarr/YarrJITRegisters.h:
Canonical link: https://commits.webkit.org/317255@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications