<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in debug.wat</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>9500c417 - Several fixes to debugging infrastructure: component vs. module PCs and gdbstub wasm module names. (#12901)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/disas/debug.wat#9500c417</link>
        <description>Several fixes to debugging infrastructure: component vs. module PCs and gdbstub wasm module names. (#12901)* Debugging: fix module-relative vs component-relative PCs and unique library names.Two bugfixes for guest debugging with components:1. Convert component-relative source locations to module-relative PCs   in the frame table. The guest-debug API presents a core-Wasm view   where components are deconstructed into individual modules, so all   PCs must be module-relative. This adds a `wasm_module_offset` field   to `ModuleTranslation` and `FuncEnvironment`, set during component   translation, and subtracts it in `debug_tags()`.2. Give unique names to &quot;library&quot; entries in the gdbstub XML response.   LLDB&apos;s DynamicLoader deduplicates by name, so using &quot;wasm&quot; for all   modules caused only the first to be loaded.* Debugging: add ModulePC and ComponentPC newtypes for Wasm PC offsets.Introduce `ModulePC` (module-relative) and `ComponentPC`(component-relative) newtype wrappers around u32 Wasm bytecodeoffsets. These replace raw u32 values throughout the frame table,breakpoint, and debug systems to prevent confusion between the twooffset spaces.* Debugging: add regression test for component module-relative PCs.

            List of files:
            /wasmtime-44.0.1/tests/disas/debug.wat</description>
        <pubDate>Tue, 31 Mar 2026 18:00:46 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>4834727b - Debugging: add debug-tags to instrumented trap sites so we actually get PCs on traps. (#12802)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/disas/debug.wat#4834727b</link>
        <description>Debugging: add debug-tags to instrumented trap sites so we actually get PCs on traps. (#12802)This was not exposed earlier by (i) lack of handling of trap events inthe initial version of the gdbstub component in #12771, and (ii) lackof asserting some value for the PC on the top frame in the debug-eventtest for traps. We got the PC for the last opcode in the function bodypreviously because, with no debug tags on the trapping path that callsraise() (sunk to the bottom of the machine code body as cold code), wescanned backward for the last tag metadata and found thatinstead. Adding metadata according to the current source location whenemitting traps fixes this for all trapping events.

            List of files:
            /wasmtime-44.0.1/tests/disas/debug.wat</description>
        <pubDate>Thu, 19 Mar 2026 22:04:22 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>df579907 - Cranelift: upgrade to regalloc2 0.14.0 and use static/constant `MachineEnv`s. (#12596)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/disas/debug.wat#df579907</link>
        <description>Cranelift: upgrade to regalloc2 0.14.0 and use static/constant `MachineEnv`s. (#12596)* Update to new regalloc2 with constant MachineEnv.* Re-bless Cranelift filetests.* Re-bless Wasmtime disas tests.* Update to RA2 0.14.0.* Review feedback.* cargo-vet update.

            List of files:
            /wasmtime-44.0.1/tests/disas/debug.wat</description>
        <pubDate>Sun, 15 Feb 2026 01:51:20 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>7e0331c2 - Debugging: refactor stack frame cursor into frame handle abstraction. (#12566)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/disas/debug.wat#7e0331c2</link>
        <description>Debugging: refactor stack frame cursor into frame handle abstraction. (#12566)* Debugging: refactor stack frame cursor into frame handle abstraction.This addresses some of the issues described #12486: we need the abilityto keep a handle to a stack frame as long as execution is frozen, andkeep multiple of these handles around, alongside the `Store`, withoutany handle directly holding a borrow of the store.The frame handles work by means of an &quot;execution version&quot; scheme: theidea is that whenever any execution resumes in a given store, allhandles to existing frames could be invalidated, but if no suchexecution occurs, all handles should still be valid. A tuple of(globally unique for process lifetime) store ID, and execution versionwithin that store, should be sufficient to uniquely identify anyfrozen-stack period during execution. This accomplishes cheap handleinvalidation without the need to track existing handles.This PR also implements a cache of parsed frame-table data. Previouslythis was lazily parsed by the cursor as it walked up a stack, but withmultiple handles hanging around, and with handles meant to be cheap tohold and clone, and with handles being invalidated eagerly, it makesmuch more sense to persist this parsed metadata at the `Store` level.(It cannot persist at the `Engine` level because PCs are local perstore.)* Re-bless disas tests (offsets in VMStoreContext changed).* Handle invalidation tests.* Review comments, and make API return `Result`s rather than panic&apos;ing on stale handles.* Review feedback.* Doc-comment link fix.* Review feedback.* cfg-gate Activation method to `debug` feature only.* Fix unused-import warning in no-debug cfg.* Fix doc link (again, after rename from latest feedback).

            List of files:
            /wasmtime-44.0.1/tests/disas/debug.wat</description>
        <pubDate>Wed, 11 Feb 2026 23:43:29 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>17fbd3c6 - Debug: implement breakpoints and single-stepping. (#12133)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/disas/debug.wat#17fbd3c6</link>
        <description>Debug: implement breakpoints and single-stepping. (#12133)* Debug: implement breakpoints and single-stepping.This is a PR that puts together a bunch of earlier pieces (patchablecalls in #12061 and #12101, private copies of code in #12051, and allthe prior debug event and instrumentation infrastructure) to implementbreakpoints in the guest debugger.These are implemented in the way we have planned in #11964: eachsequence point (location prior to a Wasm opcode) is now a patchable callinstruction, patched out (replaced with NOPs) by default. When patchedin, the breakpoint callsite calls a trampoline with the `patchable` ABIwhich then invokes the `breakpoint` hostcall. That hostcall emits thedebug event and nothing else.A few of the interesting bits in this PR include:- Implementations of &quot;unpublish&quot; (switch permissions back to read/write  from read/execute) for mmap&apos;d code memory on all our platforms.- Infrastructure in the frame-tables (debug info) metadata producer and  parser to record &quot;breakpoint patches&quot;.- A tweak to the NOP metadata packaged with the `MachBuffer` to allow  multiple NOP sizes. This lets us use one 5-byte NOP on x86-64, for  example (did you know x86-64 had these?!) rather than five 1-byte  NOPs.This PR also implements single-stepping with a global-per-`Store` flag,because at this point why not; it&apos;s a small additional bit of logic todo *all* patches in all modules registered in the `Store` when that flagis enabled.A few realizations for future work:- The need for an introspection API available to a debugger to see the  modules within a component is starting to become clear; either that,  or the &quot;module and PC&quot; location identifier for a breakpoint switches  to a &quot;module or component&quot; sum type. Right now, the tests for this  feature use only core modules. Extending to components should not  actually be hard at all, we just need to build the API for it.- The interaction between inlining and `patchable_call` is interesting:  what happens if we inline a `patchable_call` at a `try_call` callsite?  Right now, we do *not* update the `patchable_call` to a `try_call`,  because there is no `patchable_try_call`; this is fine in the Wasmtime  embedding in practice because we never (today!) throw exceptions from  a breakpoint handler. This does suggest to me that maybe we should  make patchability a property of any callsite, and allow try-calls to  be patchable too (with the same restriction about no return values as  the only restriction); but happy to discuss that one further.* Add missing debug.wat disas test.* Review feedback.* Fix comment on `CodeMemory::text_mut`.* Review feedback.* Review feedback: abort process on failure to re-apply executable permissions.* Implement icache flush for aarch64.This appears to be necessary as we otherwise see a failure in CI onmacOS/aarch64 that is consistent with patched-in breakpoint calls stillbeing incorrectly cached after we remove them and republish the code.There is a longstanding issue in #3310 tracking proper icache coherencehandling on aarch64. We implemented this for Linux with the `membarrier`syscall but never did so for macOS. Maybe this is the first point atwhich it matters, because code was always loaded at new addresses (hencedid not have coherence issues because nothing would have been cached)previously.prtest:full* Review feedback: use `next_multiple_of`.

            List of files:
            /wasmtime-44.0.1/tests/disas/debug.wat</description>
        <pubDate>Fri, 12 Dec 2025 20:02:54 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
</channel>
</rss>
