Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9cc23c0e75b77974539bcb414eacef33bf94ed02
      
https://github.com/WebKit/WebKit/commit/9cc23c0e75b77974539bcb414eacef33bf94ed02
  Author: Justin Michaud <[email protected]>
  Date:   2026-01-14 (Wed, 14 Jan 2026)

  Changed paths:
    A JSTests/stress/tail-call-register-pressure.js
    M Source/JavaScriptCore/jit/CallFrameShuffler32_64.cpp

  Log Message:
  -----------
  [32-bit] Armv7 tail call shuffler should not run out of registers when 
loading cells.
https://bugs.webkit.org/show_bug.cgi?id=305427

Reviewed by Yusuke Suzuki.

Patch by @emutavchi downstream: 
https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1593.

We find ourselves in a state where canLoad says yes, because our JSValue
can be loaded via FPR, but we choose to load it via GPR instead because
we do not have two gprs free. This inconsistency causes an assertion failure,
and incorrect tail call shuffling.

This can only happen if loadsIntoFPR is true, but loadsIntoGPR is false.

In addition, everything DisplacedInJSStack must either have loadsIntoFPR or
loadsIntoGPR, so no other corner cases need to be considered.

Canonical link: https://commits.webkit.org/305572@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to