146 releases (92 breaking)

new 0.107.0 Apr 22, 2024
0.106.0 Mar 20, 2024
0.105.4 Apr 11, 2024
0.103.0 Dec 20, 2023
0.17.0 Jul 24, 2018

#27 in No standard library

Download history 4355/week @ 2024-01-01 5306/week @ 2024-01-08 5254/week @ 2024-01-15 5399/week @ 2024-01-22 3732/week @ 2024-01-29 6950/week @ 2024-02-05 6718/week @ 2024-02-12 6576/week @ 2024-02-19 6475/week @ 2024-02-26 7015/week @ 2024-03-04 7540/week @ 2024-03-11 7319/week @ 2024-03-18 6391/week @ 2024-03-25 7474/week @ 2024-04-01 6325/week @ 2024-04-08 5388/week @ 2024-04-15

26,549 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
~88K SLoC