#cranelift #module #wasmtime

no-std cranelift-module

Support for linking functions and data with Cranelift

177 releases (105 breaking)

new 0.120.0 May 20, 2025
0.118.0 Mar 20, 2025
0.115.0 Dec 20, 2024
0.114.0 Nov 20, 2024
0.17.0 Jul 24, 2018

#23 in No standard library

Download history 11059/week @ 2025-01-31 12238/week @ 2025-02-07 12190/week @ 2025-02-14 13556/week @ 2025-02-21 15257/week @ 2025-02-28 13316/week @ 2025-03-07 13739/week @ 2025-03-14 12958/week @ 2025-03-21 13041/week @ 2025-03-28 15667/week @ 2025-04-04 15534/week @ 2025-04-11 14295/week @ 2025-04-18 17078/week @ 2025-04-25 13066/week @ 2025-05-02 13947/week @ 2025-05-09 16410/week @ 2025-05-16

63,224 downloads per month
Used in 73 crates (46 directly)

Apache-2.0 WITH LLVM-exception

4.5MB
104K SLoC

This crate provides module-level functionality, which allow multiple functions and data to be emitted with Cranelift and then linked together.

This crate is structured as an optional layer on top of cranelift-codegen. It provides additional functionality, such as linking, however users that require greater flexibility don't need to use it.

A module is a collection of functions and data objects that are linked together. The Module trait that defines a common interface for various kinds of modules. Most users will use one of the following Module implementations:

  • JITModule, provided by cranelift-jit, which JITs code to memory for direct execution.
  • ObjectModule, provided by cranelift-object, which emits native object files.

Dependencies

~4.5MB
~83K SLoC