148 releases (92 breaking)

0.107.2 May 7, 2024
0.107.0 Apr 22, 2024
0.106.0 Mar 20, 2024
0.103.0 Dec 20, 2023
0.17.0 Jul 24, 2018

#47 in No standard library

Download history 5335/week @ 2024-01-25 4764/week @ 2024-02-01 6763/week @ 2024-02-08 7018/week @ 2024-02-15 6041/week @ 2024-02-22 6422/week @ 2024-02-29 7602/week @ 2024-03-07 7337/week @ 2024-03-14 7179/week @ 2024-03-21 6659/week @ 2024-03-28 6785/week @ 2024-04-04 6578/week @ 2024-04-11 6313/week @ 2024-04-18 5802/week @ 2024-04-25 5862/week @ 2024-05-02 5066/week @ 2024-05-09

23,952 downloads per month
Used in 46 crates (35 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

~5MB
~89K SLoC