175 releases (103 breaking)

new 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

#51 in No standard library

Download history 7878/week @ 2024-12-02 8073/week @ 2024-12-09 8022/week @ 2024-12-16 5748/week @ 2024-12-23 5619/week @ 2024-12-30 7810/week @ 2025-01-06 9023/week @ 2025-01-13 9173/week @ 2025-01-20 10984/week @ 2025-01-27 11900/week @ 2025-02-03 12327/week @ 2025-02-10 12264/week @ 2025-02-17 13587/week @ 2025-02-24 14963/week @ 2025-03-03 13700/week @ 2025-03-10 12024/week @ 2025-03-17

55,558 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