diff --git a/Cargo.lock b/Cargo.lock index 3be8407258..d791ff26fb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -24,7 +24,7 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" dependencies = [ - "gimli", + "gimli 0.26.1", ] [[package]] @@ -353,7 +353,7 @@ version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a" dependencies = [ - "rustc_version 0.4.0", + "rustc_version", ] [[package]] @@ -741,6 +741,66 @@ dependencies = [ "libc", ] +[[package]] +name = "cranelift-bforest" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ca3560686e7c9c7ed7e0fe77469f2410ba5d7781b1acaa9adc8d8deea28e3e" +dependencies = [ + "cranelift-entity", +] + +[[package]] +name = "cranelift-codegen" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf9bf1ffffb6ce3d2e5ebc83549bd2436426c99b31cc550d521364cbe35d276" +dependencies = [ + "cranelift-bforest", + "cranelift-codegen-meta", + "cranelift-codegen-shared", + "cranelift-entity", + "gimli 0.24.0", + "log", + "regalloc", + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cranelift-codegen-meta" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cc21936a5a6d07e23849ffe83e5c1f6f50305c074f4b2970ca50c13bf55b821" +dependencies = [ + "cranelift-codegen-shared", + "cranelift-entity", +] + +[[package]] +name = "cranelift-codegen-shared" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca5b6ffaa87560bebe69a5446449da18090b126037920b0c1c6d5945f72faf6b" + +[[package]] +name = "cranelift-entity" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d6b4a8bef04f82e4296782646f733c641d09497df2fabf791323fefaa44c64c" + +[[package]] +name = "cranelift-frontend" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b783b351f966fce33e3c03498cb116d16d97a8f9978164a60920bd0d3a99c" +dependencies = [ + "cranelift-codegen", + "log", + "smallvec", + "target-lexicon", +] + [[package]] name = "crc32fast" version = "1.2.1" @@ -1170,6 +1230,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + [[package]] name = "find-crate" version = "0.6.3" @@ -1378,6 +1444,17 @@ dependencies = [ "syn", ] +[[package]] +name = "gimli" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189" +dependencies = [ + "fallible-iterator", + "indexmap", + "stable_deref_trait", +] + [[package]] name = "gimli" version = "0.26.1" @@ -1618,25 +1695,14 @@ version = "0.1.0" source = "git+https://github.com/rtfeldman/inkwell?tag=llvm12-0.release8#14b78d96d2dbc95694e181be66e4cd53df3fc02f" dependencies = [ "either", - "inkwell_internals 0.3.0 (git+https://github.com/rtfeldman/inkwell?tag=llvm12-0.release8)", + "inkwell_internals", "libc", - "llvm-sys 120.2.1", + "llvm-sys", "once_cell", "parking_lot", "regex", ] -[[package]] -name = "inkwell_internals" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e1f71330ccec54ee62533ae88574c4169b67fb4b95cbb1196a1322582abd11" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "inkwell_internals" version = "0.3.0" @@ -1835,19 +1901,6 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" -[[package]] -name = "llvm-sys" -version = "110.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7cc88ba864d592f52132ed3a19a97118fe16c92a63961f54b0ab7279c5407f" -dependencies = [ - "cc", - "lazy_static", - "libc", - "regex", - "semver 0.11.0", -] - [[package]] name = "llvm-sys" version = "120.2.1" @@ -2973,6 +3026,17 @@ dependencies = [ "redox_syscall", ] +[[package]] +name = "regalloc" +version = "0.0.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "571f7f397d61c4755285cd37853fe8e03271c243424a907415909379659381c5" +dependencies = [ + "log", + "rustc-hash", + "smallvec", +] + [[package]] name = "regex" version = "1.5.4" @@ -3591,15 +3655,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - [[package]] name = "rustc_version" version = "0.4.0" @@ -3685,22 +3740,13 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser 0.7.0", -] - [[package]] name = "semver" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" dependencies = [ - "semver-parser 0.10.2", + "semver-parser", ] [[package]] @@ -3709,12 +3755,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012" -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - [[package]] name = "semver-parser" version = "0.10.2" @@ -3978,6 +4018,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -4555,7 +4601,7 @@ dependencies = [ "target-lexicon", "thiserror", "wasmer-compiler", - "wasmer-compiler-llvm", + "wasmer-compiler-cranelift", "wasmer-derive", "wasmer-engine", "wasmer-engine-dylib", @@ -4585,28 +4631,23 @@ dependencies = [ ] [[package]] -name = "wasmer-compiler-llvm" +name = "wasmer-compiler-cranelift" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ec5b3542941aaea793a51af9a7da2f9f7ed9edcc928f5c84e1bd84071818c39" +checksum = "1a570746cbec434179e2d53357973a34dfdb208043104e8fac3b7b0023015cf6" dependencies = [ - "byteorder", - "cc", - "itertools 0.10.1", - "lazy_static", - "libc", + "cranelift-codegen", + "cranelift-entity", + "cranelift-frontend", + "gimli 0.24.0", "loupe", - "object 0.25.3", + "more-asserts", "rayon", - "regex", - "rustc_version 0.2.3", - "semver 1.0.4", "smallvec", - "target-lexicon", + "tracing", "wasmer-compiler", "wasmer-types", "wasmer-vm", - "wasmer_inkwell", ] [[package]] @@ -4760,21 +4801,6 @@ dependencies = [ "wasmer-types", ] -[[package]] -name = "wasmer_inkwell" -version = "0.2.0-alpha.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eca826323f39b29a38cd31c8eb33de76945c6193f30a2806c6cde6f6cd42cb1" -dependencies = [ - "either", - "inkwell_internals 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc", - "llvm-sys 110.0.2", - "once_cell", - "parking_lot", - "regex", -] - [[package]] name = "wasmparser" version = "0.78.2" diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 7be49bbce3..d0666f52b7 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -78,11 +78,11 @@ inkwell = { path = "../vendor/inkwell", optional = true } target-lexicon = "0.12.2" tempfile = "3.2.0" -wasmer = { version = "2.0.0", optional = true, default-features = false, features = ["default-llvm", "default-universal"] } +wasmer = { version = "2.0.0", optional = true, default-features = false, features = ["default-cranelift", "default-universal"] } wasmer-wasi = { version = "2.0.0", optional = true } [dev-dependencies] -wasmer = { version = "2.0.0", default-features = false, features = ["default-llvm", "default-universal"] } +wasmer = { version = "2.0.0", default-features = false, features = ["default-cranelift", "default-universal"] } wasmer-wasi = "2.0.0" pretty_assertions = "1.0.0" indoc = "1.0.3" diff --git a/compiler/gen_wasm/Cargo.toml b/compiler/gen_wasm/Cargo.toml index 1b75be949e..308b783e84 100644 --- a/compiler/gen_wasm/Cargo.toml +++ b/compiler/gen_wasm/Cargo.toml @@ -12,7 +12,7 @@ roc_mono = { path = "../mono" } bumpalo = { version = "3.8.0", features = ["collections"] } roc_std = { path = "../../roc_std" } -wasmer = { version = "2.0.0", default-features = false, features = ["default-llvm", "default-universal"] } +wasmer = { version = "2.0.0", default-features = false, features = ["default-cranelift", "default-universal"] } [dev-dependencies] roc_can = { path = "../can" } diff --git a/compiler/test_gen/Cargo.toml b/compiler/test_gen/Cargo.toml index c56a1d4cee..0eeba31acd 100644 --- a/compiler/test_gen/Cargo.toml +++ b/compiler/test_gen/Cargo.toml @@ -32,7 +32,7 @@ libc = "0.2.106" inkwell = { path = "../../vendor/inkwell" } target-lexicon = "0.12.2" libloading = "0.7.1" -wasmer = { version = "2.0.0", default-features = false, features = ["default-llvm", "default-universal"] } +wasmer = { version = "2.0.0", default-features = false, features = ["default-cranelift", "default-universal"] } wasmer-wasi = "2.0.0" tempfile = "3.2.0" diff --git a/compiler/test_wasm/Cargo.toml b/compiler/test_wasm/Cargo.toml index 000f3ee6c1..21c3b92ed5 100644 --- a/compiler/test_wasm/Cargo.toml +++ b/compiler/test_wasm/Cargo.toml @@ -9,7 +9,7 @@ edition = "2018" # roc_module = { path = "../module" } # roc_mono = { path = "../mono" } -wasmer = { version = "2.0.0", default-features = false, features = ["default-llvm", "default-universal"] } +wasmer = { version = "2.0.0", default-features = false, features = ["default-cranelift", "default-universal"] } wasmer-wasi = "2.0.0" roc_collections = { path = "../collections" }