Crates.io | alexcrichton-cranelift-module |
lib.rs | alexcrichton-cranelift-module |
version | 0.53.0 |
source | src |
created_at | 2020-01-10 21:39:49.235037 |
updated_at | 2020-01-10 22:23:42.607514 |
description | Support for linking functions and data with Cranelift |
homepage | |
repository | https://github.com/bytecodealliance/cranelift |
max_upload_size | |
id | 197327 |
size | 54,666 |
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. Backend
is a trait that defines an interface for backends
that compile modules into various forms. Most users will use one of the
following Backend
implementations:
SimpleJITBackend
, provided by cranelift-simplejit, which JITs
code to memory for direct execution.FaerieBackend
, provided by cranelift-faerie, which emits native
object files.