see https://github.com/bytecodealliance/wasmtime/pull/1816 DEPRECATION NOTICE: the Cranelift developer team intends to stop maintaining the `cranelift-faerie` crate and remove it from the `wasmtime` git repository on or after August 3, 2020. We recommend users use its successor, the `cranelift-object` crate.
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.ObjectBackend, provided by cranelift-object, which emits native object files.