Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 13b3b3095f1efecd96a7db730974e479601818c1
https://github.com/WebKit/WebKit/commit/13b3b3095f1efecd96a7db730974e479601818c1
Author: Sosuke Suzuki <[email protected]>
Date: 2026-04-22 (Wed, 22 Apr 2026)
Changed paths:
M Source/JavaScriptCore/runtime/PinballCompletion.cpp
Log Message:
-----------
[JSC][Win] Add missing `SYSV_ABI` to `pinballHandlerFinishReject`
https://bugs.webkit.org/show_bug.cgi?id=312956
Reviewed by Yusuke Suzuki.
pinballHandlerFinishReject is called from offlineasm
(InPlaceInterpreter.asm) using the SysV argument registers
(`move sp, a0` where a0 = rdi), same as the other four
pinballHandler* functions. However its declaration was missing
the SYSV_ABI attribute, so on Windows x64 the C++ side was
compiled with the Win64 calling convention and read its argument
from rcx instead of rdi, causing a crash on `*context->vm` when
a JSPI suspension promise is rejected.
This has been broken since the initial JSPI implementation in
299221@main. SYSV_ABI is a no-op on non-Windows so the issue was
not visible on other platforms.
* Source/JavaScriptCore/runtime/PinballCompletion.cpp:
Canonical link: https://commits.webkit.org/311757@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications