Files
wasmtime/cranelift/Cargo.toml
Dan Gohman 76db9f022d [WIP] Module API (#294)
* Initial skeleton.

* Add basic faerie support.

This adds enough functionality to enable simple .o file writing through
faerie. This included adding the functionality to Module to support
RelocSink implementations.

* Add basic SimpleJIT support.

This adds enough functionality to enable a simple program to be jitted
and executed.

* Make declare_func_in_func take a Function instead of a Context.

It only needs the Function, and sometimes it's useful to call it from
places that don't have a full Context.

* Temporarily disable local and exported global variables in the Faerie backend.

Faerie assumes these variables use pc-relative offset instructions, and
Cretonne is not yet emitting those instructions.

* FaerieBackend depends on PIC.

Faerie itself only supports PIC objects for now, so add an assert to
Cretonne to check that it's using a PIC target flag.

* SimpleJIT support for data objects.

* Preliminary faerie support for data objects.

* Support for data objects in faerie using the new colocated flag.

* Unit tests for DataContext and friends.

* Add a Module::consume() function.

This consumes the Module and returns the contained Backend, so that
users can call Backend-specific functions with it. For example, the
Faerie backend has functions to write an object file.

* Update the new crates to version 0.4.4.

* Make FaerieBackend own its TargetIsa.

This simplifies its interface, as it eliminates a lifetime parameter.
While we may eventually want to look into allowing multiple clients to
share a TargetIsa, it isn't worth the complexity for FaerieBackend
right now.

* Don't try to protect faerie from multiple declarations.

Let faerie decide for itself whether it wants to consider two
declarations to be compatible.

* Use debug_assert_eq rather than debug_assert with ==.

* Fix FaerieRelocSink's reloc_external to handle data object names.

* Relax the asserts in get_function_definition and get_data_definition.

These functions don't require definable symbols, but they do require
that definable symbols be defined. This is needed for the simplejit
backend.

* Add a function to the faerie backend to retrieve the artifact name.

* Sync up with cretonne changes.
2018-04-17 10:52:36 -07:00

42 lines
1.4 KiB
TOML

[package]
name = "cretonne-tools"
authors = ["The Cretonne Project Developers"]
version = "0.4.4"
description = "Binaries for testing the Cretonne libraries"
license = "Apache-2.0"
documentation = "https://cretonne.readthedocs.io/"
repository = "https://github.com/cretonne/cretonne"
publish = false
[[bin]]
name = "cton-util"
path = "src/cton-util.rs"
[dependencies]
cretonne-codegen = { path = "lib/codegen", version = "0.4.4" }
cretonne-reader = { path = "lib/reader", version = "0.4.4" }
cretonne-frontend = { path = "lib/frontend", version = "0.4.4" }
cretonne-wasm = { path = "lib/wasm", version = "0.4.4" }
cretonne-native = { path = "lib/native", version = "0.4.4" }
cretonne-filetests = { path = "lib/filetests", version = "0.4.4" }
cretonne-module = { path = "lib/module", version = "0.4.4" }
cretonne-faerie = { path = "lib/faerie", version = "0.4.4" }
cretonne-simplejit = { path = "lib/simplejit", version = "0.4.4" }
cretonne = { path = "lib/umbrella", version = "0.4.4" }
filecheck = "0.2.1"
docopt = "0.8.0"
serde = "1.0.8"
serde_derive = "1.0.8"
tempdir = "0.3.5"
term = "0.5.1"
[workspace]
# Enable debug assertions and parallel compilation when building cretonne-tools
# since they are for testing and development mostly. This doesn't affect the
# flags used to build the cretonne-* crates when used as a dependency.
[profile.release]
opt-level = 2
debug-assertions = true
codegen-units = 4