Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 840c8efcbd1083173932f84a7c7fb22c374f8284
      
https://github.com/WebKit/WebKit/commit/840c8efcbd1083173932f84a7c7fb22c374f8284
  Author: Yijia Huang <[email protected]>
  Date:   2026-09-28 (Mon, 28 Sep 2026)

  Changed paths:
    M JSTests/wasm/debugger/tests/tests.py
    M Source/JavaScriptCore/wasm/debugger/WasmMemoryHandler.cpp

  Log Message:
  -----------
  [JSC] WASM debugger: qMemoryRegionInfo must describe a region, never error
https://bugs.webkit.org/show_bug.cgi?id=325534
rdar://188622450

Reviewed by Marcus Plutowski.

Three fixes to the region-info paths, ahead of the multi-memory re-layout.

An Invalid-type address replied InvalidAddress. LLDB reads any non-normal
response not as "bad address" but as "this stub cannot do qMemoryRegionInfo":
GDBRemoteCommunicationClient::GetMemoryRegionInfo sets

    m_supports_memory_region_info = eLazyBoolNo [1]

and never retries, so support is off for the rest of the session.

A mapped region reported the queried address as its start with the full region
size, so qMemoryRegionInfo:10 described [0x10, 0x1010010) -- shifted, and past
the end of the memory. Report the window base. The gap replies keep using the
queried address, which is correct: a gap runs from wherever it was asked about.

The module gap walk sized its last region INVALID_END - address. INVALID_END is
the last byte, not one-past-end, so it was a byte short.

Tests: JSTests/wasm/debugger/tests/tests.py: MemoryRegionInfoTestCase

[1] 
https://github.com/llvm/llvm-project/blob/8085363c87a0eee12e40a49ee1b860aa9bc019f3/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp#L1839-L1845

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



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

Reply via email to