<?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 unit.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>c4a38d67 - Use `gimli::write::Dwarf::convert_with_filter` for DWARF transform (#12428)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#c4a38d67</link>
        <description>Use `gimli::write::Dwarf::convert_with_filter` for DWARF transform (#12428)Replace parts of the transform code with `gimli`&apos;s generic DWARFtransformation support. Most of the remaining code is specific to theneeds of Wasmtime.The overall behaviour is the same as the previous implementation. Webuild a graph of the DIE dependencies, and prune DIEs that don&apos;t havevalid code ranges. Then we traverse the DIE tree again and transform theDIEs. However, there are some differences.Previously, unresolved references to DIEs were stored in `PendingUnitRefs`and `PendingDebugInfoRefs`, then at the end of the transformation wewent back and fixed up these references. The new behaviour reserves IDsfor all of the DIEs in the dependency tree before transformation, whichavoids the need to fix up references later. It also allows gimli tocorrectly handle references in DWARF expressions, although that doesn&apos;tcurrently matter for Wasmtime because it doesn&apos;t handle references inexpressions yet. The visible effect of this in Wasmtime is that theorder of transformed attributes will now always match the original DWARF.The DIE tree pruning is slightly different. We no longer add back-edgespointing to namespace DIEs or the root DIE, which previously caused someDIEs to be reachable when they should not have been. In particular,this affects DW_TAG_variable DIEs for global variables. Wasmtime can&apos;tcurrently translate the location for globals, so they were added withouta valid DW_AT_location. These DIEs are now omitted from the transformedDWARF. In the future when global variables can be translated correctly,they can be included by calling `ReserveUnitSection::require_entry`.Performance measurements for `wasmtime compile -D debug-info=y` showminimal change.

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Mon, 26 Jan 2026 21:44:22 +0000</pubDate>
        <dc:creator>Philip Craig &lt;philipjcraig@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>7ee620a5 - Update gimli and addr2line dependencies (#12424)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#7ee620a5</link>
        <description>Update gimli and addr2line dependencies (#12424)* Update gimli and addr2line dependenciesgimli has a significant number of breaking changes to adapt to.* Add vets---------Co-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Sat, 24 Jan 2026 18:06:28 +0000</pubDate>
        <dc:creator>Philip Craig &lt;philipjcraig@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>c7cab275 - wasmtime-cranelift: Use `wasmtime_environ::error` instead of `anyhow` (#12204)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#c7cab275</link>
        <description>wasmtime-cranelift: Use `wasmtime_environ::error` instead of `anyhow` (#12204)

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Mon, 22 Dec 2025 20:59:10 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>bd7b59da - Delete DWARF `Reader` trait, also use `gimli::UnitRef` (#11883)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#bd7b59da</link>
        <description>Delete DWARF `Reader` trait, also use `gimli::UnitRef` (#11883)* Delete DWARF Reader traitUse the existing Reader type alias instead. Most places were alreadyusing this.* Use `gimli::UnitRef`This reduces parameter counts and makes it harder to use thewrong DWARF sections for split DWARF.A drawback is that `UnitRef&lt;&apos;a, R&gt;` is invariant over `R`,so additional lifetime annotations are needed in some places.This probably also fixes a bug with the parsing of`AttributeValue::LocationListsRef`, but I didn&apos;t try to test this.

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Sun, 19 Oct 2025 04:42:45 +0000</pubDate>
        <dc:creator>Philip Craig &lt;philipjcraig@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>9b0e1b9d - Improve garbage collection of DWARF for dead code (#11402)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#9b0e1b9d</link>
        <description>Improve garbage collection of DWARF for dead code (#11402)Checking for the tombstone address during the reachability calculationallows more DWARF entries to be marked as unreachable, and there wasalready code to handle this for addresses left as 0.

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Fri, 08 Aug 2025 15:36:39 +0000</pubDate>
        <dc:creator>Philip Craig &lt;philipjcraig@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>90ac295e - Update Wasmtime to the 2024 Rust Edition (#10806)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#90ac295e</link>
        <description>Update Wasmtime to the 2024 Rust Edition (#10806)* Update Wasmtime to the 2024 Rust EditionNow that our MSRV supports the 2024 edition it&apos;s possible to make thisswitch. This commit moves Wasmtime to the 2024 Edition to keepup-to-date with Rust idioms and access many of the edition featuresexclusive to the 2024 edition.prtest:full* Reformat with the 2024 edition

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Mon, 19 May 2025 16:40:55 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>0b2c9d72 - [DWARF] Transform instance methods into static methods with a `__this` parameter (#9898)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#0b2c9d72</link>
        <description>[DWARF] Transform instance methods into static methods with a `__this` parameter (#9898)* Add an instance method test* Transform instance methods into static methods with a &apos;__this&apos; parameter

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Fri, 27 Dec 2024 05:46:32 +0000</pubDate>
        <dc:creator>SingleAccretion &lt;62474226+SingleAccretion@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>8e4f0cd3 - Export debug builtins on Windows (#9706)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#8e4f0cd3</link>
        <description>Export debug builtins on Windows (#9706)This allows the debugger to find them.After much research, this has been chosen as the overall best solution.The alternative here would be to create machine code thunks that callthese symbols when Jitting code, and describing those thunks in DWARF,which would be significantly more complex.

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Mon, 02 Dec 2024 20:31:32 +0000</pubDate>
        <dc:creator>SingleAccretion &lt;62474226+SingleAccretion@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>45b60bd6 - Start using `#[expect]` instead of `#[allow]` (#9696)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#45b60bd6</link>
        <description>Start using `#[expect]` instead of `#[allow]` (#9696)* Start using `#[expect]` instead of `#[allow]`In Rust 1.81, our new MSRV, a new feature was added to Rust to use`#[expect]` to control lint levels. This new lint annotation willsilence a lint but will itself cause a lint if it doesn&apos;t actuallysilence anything. This is quite useful to ensure that annotations don&apos;tget stale over time.Another feature is the ability to use a `reason` directive on theattribute with a string explaining why the attribute is there. Thisstring is then rendered in compiler messages if a warning or errorhappens.This commit migrates applies a few changes across the workspace:* Some `#[allow]` are changed to `#[expect]` with a `reason`.* Some `#[allow]` have a `reason` added if the lint conditionally fires  (mostly related to macros).* Some `#[allow]` are removed since the lint doesn&apos;t actually fire.* The workspace configures `clippy::allow_attributes_without_reason = &apos;warn&apos;`  as a &quot;ratchet&quot; to prevent future regressions.* Many crates are annotated to allow `allow_attributes_without_reason`  during this transitionary period.The end-state is that all crates should use`#[expect(..., reason = &quot;...&quot;)]` for any lint that unconditionally firesbut is expected. The `#[allow(..., reason = &quot;...&quot;)]` lint should be usedfor conditionally firing lints, primarily in macro-related code.The `allow_attributes_without_reason = &apos;warn&apos;` level is intended to bepermanent but the transitionary`#[expect(clippy::allow_attributes_without_reason)]` crate annotationsto go away over time.* Fix adapter buildprtest:full* Fix one-core build of icache coherence* Use `allow` for missing_docsWork around rust-lang/rust#130021 which was fixed in Rust 1.83 and isn&apos;tfixed for our MSRV at this time.* More MSRV compat

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Mon, 02 Dec 2024 17:19:20 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>af476a51 - Synthetic type centralization (#9700)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#af476a51</link>
        <description>Synthetic type centralization (#9700)

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Mon, 02 Dec 2024 15:32:09 +0000</pubDate>
        <dc:creator>SingleAccretion &lt;62474226+SingleAccretion@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>a126152d - Do not GC `DW_AT_declaration` `DW_TAG_subprogram`s (#9578)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#a126152d</link>
        <description>Do not GC `DW_AT_declaration` `DW_TAG_subprogram`s (#9578)* Add a test* Log section-relative offsets of DIEsFor easier correlation to llvm-dwarfdump&apos;s output.* Do not GC function declarationsDeclarations must be consistent across compilation units.

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Wed, 06 Nov 2024 22:50:54 +0000</pubDate>
        <dc:creator>SingleAccretion &lt;62474226+SingleAccretion@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>92cc0ad7 - Add very basic logging to the debug info transform (#9526)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#92cc0ad7</link>
        <description>Add very basic logging to the debug info transform (#9526)* Add very basic logging to the debug info transformThe DI transform is a kind of compiler and loggingis a very good way to gain insight into compilers.* Fix C&amp;P* Bubble the &quot;trace-log&quot; feature up the dependency treeAnd switch logging macros to always be enabled in debug.Verified &quot;trace-log&quot; **does not** show up when running&apos;cargo tree -f &quot;{p} {f}&quot; -e features,normal,build&apos;* Fix dead code warnings

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Mon, 04 Nov 2024 21:15:43 +0000</pubDate>
        <dc:creator>SingleAccretion &lt;62474226+SingleAccretion@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>494867dd - Copy skeleton unit attributes for split DWARF (#9151)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#494867dd</link>
        <description>Copy skeleton unit attributes for split DWARF (#9151)The skeleton unit may contain attributes that don&apos;t appear inthe split unit. In particular, this includes DW_AT_ranges andDW_AT_comp_dir.Also, set the correct form for the default directory in theline program. Previously, the different form meant that we emittedthe directory again when a file used it. Copying the DW_AT_comp_dirattribute is required for use of the default directory to worksuccessfully.

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Tue, 20 Aug 2024 14:59:14 +0000</pubDate>
        <dc:creator>Philip Craig &lt;philipjcraig@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>1ef3eecf - Cleanup some DWARF transform code (#9139)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#1ef3eecf</link>
        <description>Cleanup some DWARF transform code (#9139)* Remove unneeded `cu_low_pc` parameter`unit.low_pc` is the same value.* Simplify `clone_line_program`We were parsing things that had already been parsed into `gimli::Unit`,such as `DW_AT_comp_dir`, `DW_AT_name`, and `DW_AT_stmt_list`.* Use `gimli::Dwarf` methods in more places

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Mon, 19 Aug 2024 14:53:18 +0000</pubDate>
        <dc:creator>Philip Craig &lt;philipjcraig@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>7e15d87b - Handle more split DWARF attributes and forms (#9134)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#7e15d87b</link>
        <description>Handle more split DWARF attributes and forms (#9134)This includes GNU split support for DWARF version 4.

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Fri, 16 Aug 2024 14:09:17 +0000</pubDate>
        <dc:creator>Philip Craig &lt;philipjcraig@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>c7756bd2 - Use the correct DWARF sections and unit for parsing split DWARF (#9132)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#c7756bd2</link>
        <description>Use the correct DWARF sections and unit for parsing split DWARF (#9132)The DWARF sections in `DebugInputContext` were always set to the DWARF sectionsfrom the .wasm file. However, when parsing split DWARF, most of the time wewant to be using the sections from the .dwp file instead. We were alreadypassing `gimli::Dwarf` to most places already so having the sections in`DebugInputContext` was no benefit. So a lot of this commit is replacing`context` with `dwarf`.Next, sometimes we were using the wrong `gimli::Dwarf`. In general, we wantto use the skeleton unit for parsing line info, and the split unit foreverything else. `clone_unit` was wrongly using the DWARF associated withthe skeleton unit in many places. Instead of changing all of those places,I&apos;ve kept the variable names `dwarf` and `unit`, but changed which DWARF theyrefer to. This also fits better with the non-split operation. So some ofthe changes in this commit are updating places that were already correctto use the new variable meanings.Finally, this commit adds a call to `copy_relocated_attributes`. This copiessome info from the skeleton unit that is needed when parsing the split unit.

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Thu, 15 Aug 2024 14:57:46 +0000</pubDate>
        <dc:creator>Philip Craig &lt;philipjcraig@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>dd8c48b3 - Add basic support for DWARF processing with components (#8693)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#dd8c48b3</link>
        <description>Add basic support for DWARF processing with components (#8693)This commit updates the native-DWARF processing (the `-D debug-info` CLIflag) to support components. Previously component support was notimplemented and if there was more than one core wasm module within acomponent then dwarf would be ignored entirely.This commit contains a number of refactorings to plumb a more fullcompilation context throughout the dwarf processing pipeline. Previouslythe data structures used only were able to support a single module. Anew `Compilation` structure is used to represent the results of anentire compilation and is plumbed through the various locations. Most ofthe refactorings in this commit were then to extend loops to loop overmore things and handle the case where there is more than one core wasmmodule.I&apos;ll admit I&apos;m not expert on DWARF but basic examples appear to worklocally and most of the additions here seemed relatively straightforwardin terms of &quot;add another loop to iterate over more things&quot; but I&apos;m not100% sure how well this will work. In theory this now supportsconcatenating DWARF sections across multiple core wasm modules, butthat&apos;s not super well tested.

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Wed, 05 Jun 2024 21:24:45 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>0e9121da - Fix some typos (#8641)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#0e9121da</link>
        <description>Fix some typos (#8641)* occurred* winch typos* tests typos* cli typos* fuzz typos* examples typos* docs typos* crates/wasmtime typos* crates/environ typos* crates/cranelift typos* crates/test-programs typos* crates/c-api typos* crates/cache typos* crates other typos* cranelift/codegen/src/isa typos* cranelift/codegen/src other typos* cranelift/codegen other typos* cranelift other typos* ci js typo* .github workflows typo* RELEASES typo* Fix clang-format documentation line---------Co-authored-by: Andrew Brown &lt;andrew.brown@intel.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Thu, 16 May 2024 23:21:22 +0000</pubDate>
        <dc:creator>FrankReh &lt;FrankReh@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>fb4f4cd3 - Add initial support for DWARF Fission (#8055)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#fb4f4cd3</link>
        <description>Add initial support for DWARF Fission (#8055)* add cloning for String attributes* use into_owned instead of to_vec to avoid a clone if possible.* runs, but does not substitute* show vars from c program, start cleanup* tiday* resolve conflicts* remove WASI folder* Add module_builderadd dwarf_package to state for cache* move dwarf loading to module_environ.rspass the dwarf as binary as low as module_environ.rs* pass dwarf package rather than add to debug_info* tidy option/result nested if* revert some toml and whitespace.* add features cranelift,winch to module_builder and compute_artifactsremove some `use`s* address some feedbackremove unused &apos;use&apos;s* address some feedbackremove unused &apos;use&apos;s* move wat feature condition to cover whole method.* More feedbackAnother try at wat feature move* Another try at wat feature move* change gimli exemption versionadd typed-arena exemption* add None for c-api* move `use` to #cfg* fix another config build* revert unwanted code deletion* move inner function closer to use* revert extra param to Module::new* workaround object crate bug.* add missing parameter* add missing parameter* Merge remote-tracking branch &apos;origin/main&apos; into dwarf-att-string# Conflicts:#	crates/wasmtime/src/engine.rs#	crates/wasmtime/src/runtime/module.rs#	src/common.rs* remove moduke* use common gimli version of 28.1* remove wasm feature, revert gimli version* remove use of object for wasm dwarf* remove NativeFile workaround, add feature for dwp loading* sync winch signature* revert bench api change* add dwarf for no cache feature* put back merge loss of module kind* remove param from docs* add dwarf fission lldb test* simplify and include test source* clang-format* address feedback, remove packagesadd docssimplify return type* remove Default use on ModuleTypesBuilder* Remove an `unwrap()` and use `if let` instead* Use `&amp;[u8]` instead of `&amp;Vec&lt;u8&gt;`* Remove an `unwrap()` and return `None` instead* Clean up some code in `transform_dwarf`* Clean up some code in `replace_unit_from_split_dwarf`* Clean up some code in `split_unit`* Minor refactorings and documentation in `CodeBuilder`* Restrict visibility of `dwarf_package_binary`* Revert supply-chain folder changes* Fix compile error on nightly* prtest:full* prtest:full* prtest:full* prtest:full* prtest:full* prtest:full* prtest:full* prtest:full* use lldb 15* prtest:full* prtest:full* load dwp when loading wasm bytes with path* correct source file name* remove debug---------Co-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Wed, 24 Apr 2024 14:23:08 +0000</pubDate>
        <dc:creator>yowl &lt;scott.waye@hubse.com&gt;</dc:creator>
    </item>
<item>
        <title>ca90650c - Support multiple versions of `wasmtime` in the same crate (#6673)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs#ca90650c</link>
        <description>Support multiple versions of `wasmtime` in the same crate (#6673)* Attempt versioned exports to facilitate having multiple versions in the same crate* Modify approach to use `export_name` and `link_name`* Only apply version to names in assembly and foreign item fns* Attempt to handle the s390x case* Fix alignment of backslashes in assembly file* Pretend I understand the preprocessor* Version symbols in `crates/runtime/src/helpers.c`* Stop versioning `__jit_debug_register_code` because gdb relies on it and it is uses `weak` linkage* Version symbol in `crates/fiber/src/windows.c`* Consolidate `LitStr` creation in macro* Add new crate to publish script and supply-chain config* Fix order in supply chain config* Set `audit-as-crates-io` to false* Missing `versioned_link` for Windows* Version strings used in debug* Formatting* Get rid of `versioned_str` and bring back `versioned_suffix`---------Co-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/unit.rs</description>
        <pubDate>Fri, 07 Jul 2023 14:22:21 +0000</pubDate>
        <dc:creator>Adam Petro &lt;adamapetro@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
