100 releases (breaking)

0.92.0 Jan 20, 2023
0.91.0 Dec 21, 2022
0.90.1 Dec 1, 2022
0.90.0 Nov 21, 2022
0.17.0 Jul 24, 2018

#768 in WebAssembly

Download history 5971/week @ 2022-10-10 7565/week @ 2022-10-17 7605/week @ 2022-10-24 7045/week @ 2022-10-31 8260/week @ 2022-11-07 8316/week @ 2022-11-14 7175/week @ 2022-11-21 9231/week @ 2022-11-28 7133/week @ 2022-12-05 7275/week @ 2022-12-12 6844/week @ 2022-12-19 5744/week @ 2022-12-26 7035/week @ 2023-01-02 7705/week @ 2023-01-09 8186/week @ 2023-01-16 8519/week @ 2023-01-23

31,954 downloads per month
Used in 36 crates (26 directly)

Apache-2.0 WITH LLVM-exception

3.5MB
91K 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

~2MB
~40K SLoC