172 releases (102 breaking)

new 0.117.0 Feb 20, 2025
0.115.1 Jan 14, 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 6791/week @ 2024-10-30 6607/week @ 2024-11-06 5658/week @ 2024-11-13 6931/week @ 2024-11-20 7427/week @ 2024-11-27 8214/week @ 2024-12-04 7846/week @ 2024-12-11 7111/week @ 2024-12-18 5927/week @ 2024-12-25 6238/week @ 2025-01-01 8491/week @ 2025-01-08 9071/week @ 2025-01-15 9471/week @ 2025-01-22 10693/week @ 2025-01-29 12705/week @ 2025-02-05 10129/week @ 2025-02-12

44,459 downloads per month
Used in 62 crates (43 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

~3.5–5MB
~98K SLoC