175 releases (103 breaking)

0.118.0 Mar 20, 2025
0.116.1 Jan 21, 2025
0.115.0 Dec 20, 2024
0.114.0 Nov 20, 2024
0.17.0 Jul 24, 2018

#78 in No standard library

Download history 8197/week @ 2024-12-06 8025/week @ 2024-12-13 5880/week @ 2024-12-20 6133/week @ 2024-12-27 6682/week @ 2025-01-03 9097/week @ 2025-01-10 8972/week @ 2025-01-17 10615/week @ 2025-01-24 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 10600/week @ 2025-03-21

54,729 downloads per month
Used in 65 crates (46 directly)

Apache-2.0 WITH LLVM-exception

4.5MB
102K 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.

lib.rs:

Top-level lib.rs for cranelift_module.

Dependencies

~4.5MB
~83K SLoC