132 releases (87 breaking)

new 0.102.1 Dec 1, 2023
0.102.0 Nov 20, 2023
0.101.4 Nov 1, 2023
0.98.1 Jul 24, 2023
0.17.0 Jul 24, 2018

#10 in No standard library

Download history 3726/week @ 2023-08-17 4649/week @ 2023-08-24 4350/week @ 2023-08-31 5570/week @ 2023-09-07 6586/week @ 2023-09-14 6945/week @ 2023-09-21 6326/week @ 2023-09-28 7264/week @ 2023-10-05 7179/week @ 2023-10-12 7971/week @ 2023-10-19 7536/week @ 2023-10-26 6763/week @ 2023-11-02 6611/week @ 2023-11-09 7098/week @ 2023-11-16 7439/week @ 2023-11-23 5771/week @ 2023-11-30

27,952 downloads per month
Used in 44 crates (33 directly)

Apache-2.0 WITH LLVM-exception

4MB
99K 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
~85K SLoC