174 releases (102 breaking)

new 0.117.2 Feb 25, 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

#96 in No standard library

Download history 6839/week @ 2024-11-01 6447/week @ 2024-11-08 6472/week @ 2024-11-15 6709/week @ 2024-11-22 7663/week @ 2024-11-29 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 12227/week @ 2025-02-07 6530/week @ 2025-02-14

41,753 downloads per month
Used in 63 crates (44 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