166 releases (98 breaking)

0.113.1 Nov 5, 2024
0.112.3 Nov 5, 2024
0.110.1 Jul 22, 2024
0.106.0 Mar 20, 2024
0.17.0 Jul 24, 2018

#81 in No standard library

Download history 6723/week @ 2024-07-26 7142/week @ 2024-08-02 6522/week @ 2024-08-09 6094/week @ 2024-08-16 6664/week @ 2024-08-23 6079/week @ 2024-08-30 6316/week @ 2024-09-06 6750/week @ 2024-09-13 7612/week @ 2024-09-20 6108/week @ 2024-09-27 6236/week @ 2024-10-04 6637/week @ 2024-10-11 6246/week @ 2024-10-18 5879/week @ 2024-10-25 6839/week @ 2024-11-01 6310/week @ 2024-11-08

26,330 downloads per month
Used in 57 crates (41 directly)

Apache-2.0 WITH LLVM-exception

4MB
100K 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
~88K SLoC