176 releases (104 breaking)

new 0.119.0 Apr 21, 2025
0.118.0 Mar 20, 2025
0.117.2 Feb 25, 2025
0.115.0 Dec 20, 2024
0.17.0 Jul 24, 2018

#20 in No standard library

Download history 7528/week @ 2025-01-05 8984/week @ 2025-01-12 9283/week @ 2025-01-19 10813/week @ 2025-01-26 11850/week @ 2025-02-02 12392/week @ 2025-02-09 12147/week @ 2025-02-16 13643/week @ 2025-02-23 14950/week @ 2025-03-02 13464/week @ 2025-03-09 13632/week @ 2025-03-16 12938/week @ 2025-03-23 13745/week @ 2025-03-30 16191/week @ 2025-04-06 14061/week @ 2025-04-13 13050/week @ 2025-04-20

58,671 downloads per month
Used in 70 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.

Dependencies

~4.5MB
~83K SLoC