167 releases (99 breaking)

0.114.0 Nov 20, 2024
0.113.0 Oct 22, 2024
0.110.1 Jul 22, 2024
0.106.0 Mar 20, 2024
0.17.0 Jul 24, 2018

#96 in No standard library

Download history 6317/week @ 2024-08-17 6470/week @ 2024-08-24 6060/week @ 2024-08-31 6583/week @ 2024-09-07 6729/week @ 2024-09-14 7688/week @ 2024-09-21 5825/week @ 2024-09-28 6309/week @ 2024-10-05 6753/week @ 2024-10-12 6133/week @ 2024-10-19 5866/week @ 2024-10-26 7043/week @ 2024-11-02 6082/week @ 2024-11-09 6613/week @ 2024-11-16 6957/week @ 2024-11-23 7548/week @ 2024-11-30

28,311 downloads per month
Used in 59 crates (41 directly)

Apache-2.0 WITH LLVM-exception

4MB
101K 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

~5MB
~94K SLoC