Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7c3fb01227f09c49ccbbc661e12cd2c106a69e0d
https://github.com/WebKit/WebKit/commit/7c3fb01227f09c49ccbbc661e12cd2c106a69e0d
Author: Yijia Huang <[email protected]>
Date: 2026-10-10 (Sat, 10 Oct 2026)
Changed paths:
A JSTests/wasm/debugger/resources/c-wasm/two-vm-arg/main.js
A JSTests/wasm/debugger/resources/c-wasm/two-vm-arg/two-vm-arg.c
A JSTests/wasm/debugger/resources/c-wasm/two-vm-arg/two-vm-arg.wasm
M JSTests/wasm/debugger/tests/tests.py
M Source/JavaScriptCore/runtime/VMManager.cpp
M Source/JavaScriptCore/runtime/VMManager.h
M Source/JavaScriptCore/wasm/debugger/WasmDebugServer.cpp
M Source/JavaScriptCore/wasm/debugger/WasmExecutionHandler.cpp
M Source/JavaScriptCore/wasm/debugger/WasmExecutionHandler.h
M Source/JavaScriptCore/wasm/debugger/tests/ExecutionHandlerTest.cpp
M Source/JavaScriptCore/wasm/debugger/tests/ExecutionHandlerTestSupport.cpp
M Source/JavaScriptCore/wasm/debugger/tests/ExecutionHandlerTestSupport.h
Log Message:
-----------
[JSC] WebAssembly debugger: a continue after `Hc<thread>` resumes the wrong VM
https://bugs.webkit.org/show_bug.cgi?id=326148
rdar://189044221
Reviewed by Mark Lam.
LLDB picks the thread to run with one Hc<thread> packet (e.g. `thread continue
<N>`) then sends bare c/s, but JSC's stop-the-world overwrote the debuggee with
whatever VM stopped, so c/s acted on the wrong VM. Track the selection with
m_continueDebuggeeOnly in ExecutionHandler (set by Hc<thread>, cleared by
Hc-1/Hc0); a c after Hc runs only the debuggee (RunOne) when
canResumeDebuggeeAlone() -- it is the serving VM, not trapped, not at an atomics
wait. To fire the one-shot post-resume callback for a lone RunOne resume,
VMManager::enterStopTheWorldParticipation now delivers it from the lone RunOne
VM
as well as from the last VM up in RunAll. Hg<thread> still errors (FIXME).
Tests:
* JSTests/wasm/debugger/tests/tests.py
* Source/JavaScriptCore/wasm/debugger/tests/ExecutionHandlerTest.cpp
Canonical link: https://commits.webkit.org/323333@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications