<?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 line_program.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/line_program.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/line_program.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>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/line_program.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/line_program.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/line_program.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/line_program.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>78d5940f - Update gimli/object/addr2line crates (#11198)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/line_program.rs#78d5940f</link>
        <description>Update gimli/object/addr2line crates (#11198)* Update gimli/object/addr2line cratesKeeping up-to-date on their major version tracks* Update backtrace and allow duplicates for now

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/line_program.rs</description>
        <pubDate>Tue, 08 Jul 2025 14:43:02 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.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/line_program.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/line_program.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>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/line_program.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/line_program.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/line_program.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/line_program.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>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/line_program.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/line_program.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>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/line_program.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/line_program.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>0f55bdbb - Fix warning about field that is never read (#7898)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/line_program.rs#0f55bdbb</link>
        <description>Fix warning about field that is never read (#7898)

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/line_program.rs</description>
        <pubDate>Thu, 08 Feb 2024 20:04:31 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>1321c234 - Remove dependency on `more-asserts` (#4408)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/line_program.rs#1321c234</link>
        <description>Remove dependency on `more-asserts` (#4408)* Remove dependency on `more-asserts`In my recent adventures to do a bit of gardening on our dependencies Inoticed that there&apos;s a new major version for the `more-asserts` crate.Instead of updating to this though I&apos;ve opted to instead remove thedependency since I don&apos;t think we heavily lean on this crate andotherwise one-off prints are probably sufficient to avoid the need forpulling in a whole crate for this.* Remove exemption for `more-asserts`

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/line_program.rs</description>
        <pubDate>Tue, 26 Jul 2022 16:47:33 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>87c33c29 - Remove `wasmtime-environ`&apos;s dependency on `cranelift-codegen` (#3199)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/cranelift/src/debug/transform/line_program.rs#87c33c29</link>
        <description>Remove `wasmtime-environ`&apos;s dependency on `cranelift-codegen` (#3199)* Move `CompiledFunction` into wasmtime-craneliftThis commit moves the `wasmtime_environ::CompiledFunction` type into the`wasmtime-cranelift` crate. This type has lots of Cranelift-specificpieces of compilation and doesn&apos;t need to be generated by all Wasmtimecompilers. This replaces the usage in the `Compiler` trait with a`Box&lt;Any&gt;` type that each compiler can select. Each compiler must stillproduce a `FunctionInfo`, however, which is shared information we&apos;lldeserialize for each module.The `wasmtime-debug` crate is also folded into the `wasmtime-cranelift`crate as a result of this commit. One possibility was to move the`CompiledFunction` commit into its own crate and have `wasmtime-debug`depend on that, but since `wasmtime-debug` is Cranelift-specific at thistime it didn&apos;t seem like it was too too necessary to keep it separate.If `wasmtime-debug` supports other backends in the future we canrecreate a new crate, perhaps with it refactored to not depend onCranelift.* Move wasmtime_environ::reference_typeThis now belongs in wasmtime-cranelift and nowhere else* Remove `Type` reexport in wasmtime-environOne less dependency on `cranelift-codegen`!* Remove `types` reexport from `wasmtime-environ`Less cranelift!* Remove `SourceLoc` from wasmtime-environChange the `srcloc`, `start_srcloc`, and `end_srcloc` fields to a custom`FilePos` type instead of `ir::SourceLoc`. These are only used in a fewplaces so there&apos;s not much to lose from an extra abstraction for theseleaf use cases outside of cranelift.* Remove wasmtime-environ&apos;s dep on cranelift&apos;s `StackMap`This commit &quot;clones&quot; the `StackMap` data structure in to`wasmtime-environ` to have an independent representation that thatchosen by Cranelift. This allows Wasmtime to decouple this runtimedependency of stack map information and let the two evolveindependently, if necessary.An alternative would be to refactor cranelift&apos;s implementation into aseparate crate and have wasmtime depend on that but it seemed a bit likeoverkill to do so and easier to clone just a few lines for this.* Define code offsets in wasmtime-environ with `u32`Don&apos;t use Cranelift&apos;s `binemit::CodeOffset` alias to define this fieldtype since the `wasmtime-environ` crate will be losing the`cranelift-codegen` dependency soon.* Commit to using `cranelift-entity` in WasmtimeThis commit removes the reexport of `cranelift-entity` from the`wasmtime-environ` crate and instead directly depends on the`cranelift-entity` crate in all referencing crates. The original reasonfor the reexport was to make cranelift version bumps easier since it&apos;sless versions to change, but nowadays we have a script to do that.Otherwise this encourages crates to use whatever they want from`cranelift-entity` since  we&apos;ll always depend on the whole crate.It&apos;s expected that the `cranelift-entity` crate will continue to be alean crate in dependencies and suitable for use at both runtime andcompile time. Consequently there&apos;s no need to avoid its usage inWasmtime at runtime, since &quot;remove Cranelift at compile time&quot; isprimarily about the `cranelift-codegen` crate.* Remove most uses of `cranelift-codegen` in `wasmtime-environ`There&apos;s only one final use remaining, which is the reexport of`TrapCode`, which will get handled later.* Limit the glob-reexport of `cranelift_wasm`This commit removes the glob reexport of `cranelift-wasm` from the`wasmtime-environ` crate. This is intended to explicitly define whatwe&apos;re reexporting and is a transitionary step to curtail the amount ofdependencies taken on `cranelift-wasm` throughout the codebase. Forexample some functions used by debuginfo mapping are better importeddirectly from the crate since they&apos;re Cranelift-specific. Note thatthis is intended to be a temporary state affairs, soon this reexportwill be gone entirely.Additionally this commit reduces imports from `cranelift_wasm` and alsoprimarily imports from `crate::wasm` within `wasmtime-environ` to get abetter sense of what&apos;s imported from where and what will need to beshared.* Extract types from cranelift-wasm to cranelift-wasm-typesThis commit creates a new crate called `cranelift-wasm-types` andextracts type definitions from the `cranelift-wasm` crate into this newcrate. The purpose of this crate is to be a shared definition of wasmtypes that can be shared both by compilers (like Cranelift) as well aswasm runtimes (e.g. Wasmtime). This new `cranelift-wasm-types` cratedoesn&apos;t depend on `cranelift-codegen` and is the final step in severingthe unconditional dependency from Wasmtime to `cranelift-codegen`.The final refactoring in this commit is to then reexport this crate from`wasmtime-environ`, delete the `cranelift-codegen` dependency, and thenupdate all `use` paths to point to these new types.The main change of substance here is that the `TrapCode` enum ismirrored from Cranelift into this `cranelift-wasm-types` crate. Whilethis unfortunately results in three definitions (one more which isnon-exhaustive in Wasmtime itself) it&apos;s hopefully not too onerous andideally something we can patch up in the future.* Get lightbeam compiling* Remove unnecessary dependency* Fix compile with uffd* Update publish script* Fix more uffd tests* Rename cranelift-wasm-types to wasmtime-typesThis reflects the purpose a bit more where it&apos;s types specificallyintended for Wasmtime and its support.* Fix publish script

            List of files:
            /wasmtime-44.0.1/crates/cranelift/src/debug/transform/line_program.rs</description>
        <pubDate>Wed, 18 Aug 2021 18:14:52 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
</channel>
</rss>
