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

Reply via email to