69 breaking releases

Uses new Rust 2021

new 0.84.0 May 20, 2022
0.82.3 Apr 11, 2022
0.82.2 Mar 31, 2022
0.79.0 Dec 13, 2021
0.17.0 Jul 24, 2018

#26 in No standard library

Download history 2517/week @ 2022-01-28 2341/week @ 2022-02-04 2884/week @ 2022-02-11 2797/week @ 2022-02-18 3938/week @ 2022-02-25 4914/week @ 2022-03-04 3891/week @ 2022-03-11 3983/week @ 2022-03-18 4331/week @ 2022-03-25 5369/week @ 2022-04-01 5023/week @ 2022-04-08 5918/week @ 2022-04-15 4486/week @ 2022-04-22 5378/week @ 2022-04-29 5517/week @ 2022-05-06 5944/week @ 2022-05-13

22,472 downloads per month
Used in 34 crates (24 directly)

Apache-2.0 WITH LLVM-exception

4.5MB
103K 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