168 releases (100 breaking)

0.115.0 Dec 20, 2024
0.114.0 Nov 20, 2024
0.113.1 Nov 5, 2024
0.110.1 Jul 22, 2024
0.17.0 Jul 24, 2018

#112 in No standard library

Download history 7102/week @ 2024-09-19 6482/week @ 2024-09-26 6185/week @ 2024-10-03 6576/week @ 2024-10-10 6200/week @ 2024-10-17 6009/week @ 2024-10-24 6785/week @ 2024-10-31 6674/week @ 2024-11-07 5763/week @ 2024-11-14 6993/week @ 2024-11-21 7401/week @ 2024-11-28 8320/week @ 2024-12-05 8197/week @ 2024-12-12 6287/week @ 2024-12-19 6034/week @ 2024-12-26 6438/week @ 2025-01-02

28,146 downloads per month
Used in 60 crates (42 directly)

Apache-2.0 WITH LLVM-exception

4MB
101K 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
~82K SLoC