diff --git a/Cargo.lock b/Cargo.lock index e52b883b441..4f967960e35 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,9 +1,9 @@ [[package]] name = "aho-corasick" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -90,7 +90,7 @@ dependencies = [ [[package]] name = "cranelift" version = "0.22.0" -source = "git+https://github.com/CraneStation/cranelift.git#8382f9e9886818b3cb9ed3e49fdceb8f4ec19456" +source = "git+https://github.com/CraneStation/cranelift.git#8e7112166726d66640e26c3d4df7def406b0df10" dependencies = [ "cranelift-codegen 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", "cranelift-frontend 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", @@ -99,7 +99,7 @@ dependencies = [ [[package]] name = "cranelift-bforest" version = "0.22.0" -source = "git+https://github.com/CraneStation/cranelift.git#8382f9e9886818b3cb9ed3e49fdceb8f4ec19456" +source = "git+https://github.com/CraneStation/cranelift.git#8e7112166726d66640e26c3d4df7def406b0df10" dependencies = [ "cranelift-entity 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", ] @@ -107,31 +107,31 @@ dependencies = [ [[package]] name = "cranelift-codegen" version = "0.22.0" -source = "git+https://github.com/CraneStation/cranelift.git#8382f9e9886818b3cb9ed3e49fdceb8f4ec19456" +source = "git+https://github.com/CraneStation/cranelift.git#8e7112166726d66640e26c3d4df7def406b0df10" dependencies = [ "cranelift-bforest 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", "cranelift-codegen-meta 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", "cranelift-entity 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "target-lexicon 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "cranelift-codegen-meta" version = "0.22.0" -source = "git+https://github.com/CraneStation/cranelift.git#8382f9e9886818b3cb9ed3e49fdceb8f4ec19456" +source = "git+https://github.com/CraneStation/cranelift.git#8e7112166726d66640e26c3d4df7def406b0df10" [[package]] name = "cranelift-entity" version = "0.22.0" -source = "git+https://github.com/CraneStation/cranelift.git#8382f9e9886818b3cb9ed3e49fdceb8f4ec19456" +source = "git+https://github.com/CraneStation/cranelift.git#8e7112166726d66640e26c3d4df7def406b0df10" [[package]] name = "cranelift-faerie" version = "0.22.0" -source = "git+https://github.com/CraneStation/cranelift.git#8382f9e9886818b3cb9ed3e49fdceb8f4ec19456" +source = "git+https://github.com/CraneStation/cranelift.git#8e7112166726d66640e26c3d4df7def406b0df10" dependencies = [ "cranelift-codegen 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", "cranelift-module 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", @@ -144,28 +144,28 @@ dependencies = [ [[package]] name = "cranelift-frontend" version = "0.22.0" -source = "git+https://github.com/CraneStation/cranelift.git#8382f9e9886818b3cb9ed3e49fdceb8f4ec19456" +source = "git+https://github.com/CraneStation/cranelift.git#8e7112166726d66640e26c3d4df7def406b0df10" dependencies = [ "cranelift-codegen 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", - "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "target-lexicon 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "cranelift-module" version = "0.22.0" -source = "git+https://github.com/CraneStation/cranelift.git#8382f9e9886818b3cb9ed3e49fdceb8f4ec19456" +source = "git+https://github.com/CraneStation/cranelift.git#8e7112166726d66640e26c3d4df7def406b0df10" dependencies = [ "cranelift-codegen 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", "cranelift-entity 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "cranelift-native" version = "0.22.0" -source = "git+https://github.com/CraneStation/cranelift.git#8382f9e9886818b3cb9ed3e49fdceb8f4ec19456" +source = "git+https://github.com/CraneStation/cranelift.git#8e7112166726d66640e26c3d4df7def406b0df10" dependencies = [ "cranelift-codegen 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", "raw-cpuid 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -175,7 +175,7 @@ dependencies = [ [[package]] name = "cranelift-simplejit" version = "0.22.0" -source = "git+https://github.com/CraneStation/cranelift.git#8382f9e9886818b3cb9ed3e49fdceb8f4ec19456" +source = "git+https://github.com/CraneStation/cranelift.git#8e7112166726d66640e26c3d4df7def406b0df10" dependencies = [ "cranelift-codegen 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", "cranelift-module 0.22.0 (git+https://github.com/CraneStation/cranelift.git)", @@ -194,7 +194,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "humantime 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -227,11 +227,11 @@ dependencies = [ "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "goblin 0.0.17 (registry+https://github.com/rust-lang/crates.io-index)", "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", "string-interner 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - "structopt 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", - "structopt-derive 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "structopt 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "structopt-derive 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", "target-lexicon 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -250,9 +250,9 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.14 (registry+https://github.com/rust-lang/crates.io-index)", - "synstructure 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)", + "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -265,7 +265,7 @@ name = "goblin" version = "0.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "plain 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -275,11 +275,19 @@ name = "goblin" version = "0.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "plain 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "heck" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "humantime" version = "1.1.1" @@ -313,7 +321,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "log" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -329,7 +337,7 @@ dependencies = [ [[package]] name = "memchr" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -357,7 +365,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "quote" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", @@ -391,11 +399,11 @@ name = "regex" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "aho-corasick 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "utf8-ranges 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -403,7 +411,7 @@ name = "regex-syntax" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ucd-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -465,8 +473,8 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.14 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -512,41 +520,42 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "structopt" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", - "structopt-derive 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "structopt-derive 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "structopt-derive" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "heck 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.14 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "syn" -version = "0.15.14" +version = "0.15.18" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "synstructure" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.14 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -596,7 +605,12 @@ dependencies = [ [[package]] name = "ucd-util" -version = "0.1.1" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unicode-segmentation" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -611,7 +625,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "utf8-ranges" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -661,7 +675,7 @@ dependencies = [ ] [metadata] -"checksum aho-corasick 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "68f56c7353e5a9547cbd76ed90f7bb5ffc3ba09d4ea9bd1d8c06c8b1142eeb5a" +"checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e" "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" "checksum ar 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "095515608290b62ac2427084f9ac3cfeb5dc76067f7d94564db9db1c46cc0a85" "checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" @@ -691,18 +705,19 @@ dependencies = [ "checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" "checksum goblin 0.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "5911d7df7b8f65ab676c5327b50acea29d3c6a1a4ad05e444cf5dce321b26db2" "checksum goblin 0.0.19 (registry+https://github.com/rust-lang/crates.io-index)" = "c65cd533b33e3d04c6e393225fa8919ddfcf5862ca8919c7f9a167c312ef41c2" +"checksum heck 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea04fa3ead4e05e51a7c806fc07271fdbde4e246a6c6d1efd52e72230b771b82" "checksum humantime 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0484fda3e7007f2a4a0d9c3a703ca38c71c54c55602ce4660c419fd32e188c9e" "checksum indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d" "checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b" "checksum lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7" "checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d" -"checksum log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fcce5fa49cc693c312001daf1d13411c4a5283796bac1084299ea3e567113f" +"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" "checksum mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1" -"checksum memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4b3629fe9fdbff6daa6c33b90f7c08355c1aca05a3d01fa8063b822fcf185f3b" +"checksum memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0a3eb002f0535929f1199681417029ebea04aadc0c7a4224b46be99c7f5d6a16" "checksum plain 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" "checksum proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)" = "3d7b7eaaa90b4a90a932a9ea6666c95a389e424eff347f0f793979289429feee" "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" -"checksum quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dd636425967c33af890042c483632d33fa7a18f19ad1d7ea72e8998c6ef8dea5" +"checksum quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "63b5829244f52738cfee93b3a165c1911388675be000c888d2fae620dee8fa5b" "checksum raw-cpuid 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "41219962ecab392f1e68db9e7ebd972800d4045a128cc23462b384e8c312cde1" "checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" "checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" @@ -720,19 +735,20 @@ dependencies = [ "checksum serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)" = "43344e7ce05d0d8280c5940cabb4964bea626aa58b1ec0e8c73fa2a8512a38ce" "checksum string-interner 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "abb38a0d8fe673c40b10b6b75abcb076a958cc10fb894f14993d9737c4c87000" "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" -"checksum structopt 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)" = "d77af7242f18c40fd19cb270985930f239ee1646cfb482050bbae9da1d18743b" -"checksum structopt-derive 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)" = "17ff01fe96de9d16e7372ae5f19dd7ece2c703b51043c3db9ea27f9e393ea311" -"checksum syn 0.15.14 (registry+https://github.com/rust-lang/crates.io-index)" = "baaba45c6bf60fe29aaf241fa33306c0b75c801edea8378263a8f043b09a5634" -"checksum synstructure 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ec37f4fab4bafaf6b5621c1d54e6aa5d4d059a8f84929e87abfdd7f9f04c6db2" +"checksum structopt 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "41c4a2479a078509940d82773d90ff824a8c89533ab3b59cd3ce8b0c0e369c02" +"checksum structopt-derive 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "5352090cfae7a2c85e1a31146268b53396106c88ca5d6ccee2e3fae83b6e35c2" +"checksum syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)" = "90c39a061e2f412a9f869540471ab679e85e50c6b05604daf28bc3060f75c430" +"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015" "checksum target-lexicon 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a34226bd63b5a26fc909f5f0d7ef4dc55d5851077035e49437e4e14bf567247f" "checksum termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4096add70612622289f2fdcdbd5086dc81c1e2675e6ae58d6c4f62a16c6d7f2f" "checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" "checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6" "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" -"checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" +"checksum ucd-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d0f8bfa9ff0cadcd210129ad9d2c5f145c13e9ced3d3e5d948a6213487d52444" +"checksum unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1" "checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" -"checksum utf8-ranges 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd70f467df6810094968e2fce0ee1bd0e87157aceb026a8c083bcf5e25b9efe4" +"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737" "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" "checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0" diff --git a/src/abi.rs b/src/abi.rs index 13dddebd02e..42119a9bfad 100644 --- a/src/abi.rs +++ b/src/abi.rs @@ -17,7 +17,7 @@ impl PassMode { match self { PassMode::NoPass => unimplemented!("pass mode nopass"), PassMode::ByVal(cton_type) => cton_type, - PassMode::ByRef => fx.module.pointer_type(), + PassMode::ByRef => fx.pointer_type, } } } @@ -257,7 +257,7 @@ impl<'a, 'tcx: 'a, B: Backend + 'a> FunctionCx<'a, 'tcx, B> { CValue::ByVal(val, return_layout) } else { CValue::ByRef( - self.bcx.ins().iconst(self.module.pointer_type(), 0), + self.bcx.ins().iconst(self.pointer_type, 0), return_layout, ) } @@ -283,7 +283,7 @@ pub fn codegen_fn_prelude<'a, 'tcx: 'a>( let ret_param = match output_pass_mode { PassMode::NoPass => None, PassMode::ByVal(_) => None, - PassMode::ByRef => Some(fx.bcx.append_ebb_param(start_ebb, fx.module.pointer_type())), + PassMode::ByRef => Some(fx.bcx.append_ebb_param(start_ebb, fx.pointer_type)), }; enum ArgKind { @@ -342,7 +342,7 @@ pub fn codegen_fn_prelude<'a, 'tcx: 'a>( match output_pass_mode { PassMode::NoPass => { - let null = fx.bcx.ins().iconst(fx.module.pointer_type(), 0); + let null = fx.bcx.ins().iconst(fx.pointer_type, 0); //unimplemented!("pass mode nopass"); fx.local_map.insert( RETURN_PLACE, @@ -526,7 +526,7 @@ pub fn codegen_call_inner<'a, 'tcx: 'a>( PassMode::NoPass => None, PassMode::ByRef => match ret_place { Some(ret_place) => Some(ret_place.expect_addr()), - None => Some(fx.bcx.ins().iconst(fx.module.pointer_type(), 0)), + None => Some(fx.bcx.ins().iconst(fx.pointer_type, 0)), }, PassMode::ByVal(_) => None, }; diff --git a/src/base.rs b/src/base.rs index 1a15079a7a6..81ab980c334 100644 --- a/src/base.rs +++ b/src/base.rs @@ -11,7 +11,6 @@ impl String> Drop for PrintOnPanic { pub fn trans_mono_item<'a, 'tcx: 'a>( tcx: TyCtxt<'a, 'tcx, 'tcx>, - isa: &isa::TargetIsa, module: &mut Module, caches: &mut Caches<'tcx>, ccx: &mut crate::constant::ConstantCx, @@ -43,7 +42,7 @@ pub fn trans_mono_item<'a, 'tcx: 'a>( } }); - trans_fn(tcx, isa, module, ccx, caches, inst); + trans_fn(tcx, module, ccx, caches, inst); } MonoItem::Static(def_id) => { crate::constant::codegen_static(ccx, def_id); @@ -56,7 +55,6 @@ pub fn trans_mono_item<'a, 'tcx: 'a>( fn trans_fn<'a, 'tcx: 'a>( tcx: TyCtxt<'a, 'tcx, 'tcx>, - isa: &isa::TargetIsa, module: &mut Module, constants: &mut crate::constant::ConstantCx, caches: &mut Caches<'tcx>, @@ -84,10 +82,11 @@ fn trans_fn<'a, 'tcx: 'a>( } // Step 5. Make FunctionCx + let pointer_type = module.target_config().pointer_type(); let mut fx = FunctionCx { tcx, - isa, module, + pointer_type, instance, mir, bcx, @@ -584,7 +583,7 @@ fn trans_stmt<'a, 'tcx: 'a>( Rvalue::Repeat(operand, times) => { let operand = trans_operand(fx, operand); for i in 0..*times { - let index = fx.bcx.ins().iconst(fx.module.pointer_type(), i as i64); + let index = fx.bcx.ins().iconst(fx.pointer_type, i as i64); let to = lval.place_index(fx, index); to.write_cvalue(fx, operand); } @@ -596,7 +595,7 @@ fn trans_stmt<'a, 'tcx: 'a>( ty::Array(_elem_ty, len) => { let len = crate::constant::force_eval_const(fx, len) .unwrap_usize(fx.tcx) as i64; - fx.bcx.ins().iconst(fx.module.pointer_type(), len) + fx.bcx.ins().iconst(fx.pointer_type, len) } ty::Slice(_elem_ty) => match place { CPlace::Addr(_, size, _) => size.unwrap(), @@ -644,7 +643,7 @@ fn trans_stmt<'a, 'tcx: 'a>( AggregateKind::Array(_ty) => { for (i, operand) in operands.into_iter().enumerate() { let operand = trans_operand(fx, operand); - let index = fx.bcx.ins().iconst(fx.module.pointer_type(), i as i64); + let index = fx.bcx.ins().iconst(fx.pointer_type, i as i64); let to = lval.place_index(fx, index); to.write_cvalue(fx, operand); } diff --git a/src/common.rs b/src/common.rs index c4658f2b51f..39bd293a289 100644 --- a/src/common.rs +++ b/src/common.rs @@ -134,7 +134,7 @@ impl<'tcx> CValue<'tcx> { let addr = fx .bcx .ins() - .stack_addr(fx.module.pointer_type(), stack_slot, 0); + .stack_addr(fx.pointer_type, stack_slot, 0); fx.bcx.ins().store(MemFlags::new(), value, addr, 0); addr } @@ -193,11 +193,11 @@ impl<'tcx> CValue<'tcx> { let val1 = fx.bcx .ins() - .load(fx.module.pointer_type(), MemFlags::new(), addr, val1_offset); + .load(fx.pointer_type, MemFlags::new(), addr, val1_offset); let val2 = fx.bcx .ins() - .load(fx.module.pointer_type(), MemFlags::new(), addr, val2_offset); + .load(fx.pointer_type, MemFlags::new(), addr, val2_offset); (val1, val2) } CValue::ByVal(_, _layout) => bug!("Please use load_value for ByVal"), @@ -248,7 +248,7 @@ impl<'tcx> CValue<'tcx> { let extra = fx .bcx .ins() - .iconst(fx.module.pointer_type(), size.unwrap_usize(fx.tcx) as i64); + .iconst(fx.pointer_type, size.unwrap_usize(fx.tcx) as i64); (ptr, extra) } _ => bug!("unsize non array {:?} to slice", ty), @@ -346,7 +346,7 @@ impl<'a, 'tcx: 'a> CPlace<'tcx> { CPlace::Addr( fx.bcx .ins() - .stack_addr(fx.module.pointer_type(), stack_slot, 0), + .stack_addr(fx.pointer_type, stack_slot, 0), None, layout, ) @@ -362,7 +362,7 @@ impl<'a, 'tcx: 'a> CPlace<'tcx> { CPlace::Addr( fx.bcx .ins() - .stack_addr(fx.module.pointer_type(), stack_slot, 0), + .stack_addr(fx.pointer_type, stack_slot, 0), None, layout, ) @@ -433,12 +433,12 @@ impl<'a, 'tcx: 'a> CPlace<'tcx> { CValue::ByRef(from, _src_layout) => { let size = dst_layout.size.bytes() as i32; // FIXME emit_small_memcpy has a bug as of commit CraneStation/cranelift@b2281ed - // fx.bcx.emit_small_memcpy(fx.isa, addr, from, size, layout.align.abi() as u8, src_layout.align.abi() as u8); + // fx.bcx.emit_small_memcpy(fx.module.target_config(), addr, from, size, layout.align.abi() as u8, src_layout.align.abi() as u8); let mut offset = 0; while size - offset >= 8 { let byte = fx.bcx.ins().load( - fx.module.pointer_type(), + fx.pointer_type, MemFlags::new(), from, offset, @@ -609,9 +609,8 @@ pub fn cton_intcast<'a, 'tcx: 'a>( pub struct FunctionCx<'a, 'tcx: 'a, B: Backend + 'a> { pub tcx: TyCtxt<'a, 'tcx, 'tcx>, - // FIXME get isa from Module - pub isa: &'a isa::TargetIsa, pub module: &'a mut Module, + pub pointer_type: Type, // Cached from module pub instance: Instance<'tcx>, pub mir: &'tcx Mir<'tcx>, pub param_substs: &'tcx Substs<'tcx>, diff --git a/src/constant.rs b/src/constant.rs index 00973865912..c7a6b971041 100644 --- a/src/constant.rs +++ b/src/constant.rs @@ -110,7 +110,7 @@ fn trans_const_value<'a, 'tcx: 'a>( let func_ref = fx.get_function_ref( Instance::resolve(fx.tcx, ParamEnv::reveal_all(), def_id, substs).unwrap(), ); - let func_addr = fx.bcx.ins().func_addr(fx.module.pointer_type(), func_ref); + let func_addr = fx.bcx.ins().func_addr(fx.pointer_type, func_ref); CValue::ByVal(func_addr, layout) } _ => trans_const_place(fx, const_).to_cvalue(fx), @@ -176,7 +176,7 @@ fn cplace_for_dataid<'a, 'tcx: 'a>( let global_ptr = fx .bcx .ins() - .global_value(fx.module.pointer_type(), local_data_id); + .global_value(fx.pointer_type, local_data_id); let layout = fx.layout_of(fx.monomorphize(&ty)); assert!(!layout.is_unsized(), "unsized statics aren't supported"); CPlace::Addr(global_ptr, None, layout) diff --git a/src/intrinsics.rs b/src/intrinsics.rs index b143c5789c7..f2cdb9b48f8 100644 --- a/src/intrinsics.rs +++ b/src/intrinsics.rs @@ -132,14 +132,14 @@ pub fn codegen_intrinsic_call<'a, 'tcx: 'a>( let elem_size = fx .bcx .ins() - .iconst(fx.module.pointer_type(), elem_size as i64); + .iconst(fx.pointer_type, elem_size as i64); assert_eq!(args.len(), 3); let byte_amount = fx.bcx.ins().imul(count, elem_size); if intrinsic.ends_with("_nonoverlapping") { - fx.bcx.call_memcpy(fx.isa, dst, src, byte_amount); + fx.bcx.call_memcpy(&fx.module.target_config(), dst, src, byte_amount); } else { - fx.bcx.call_memmove(fx.isa, dst, src, byte_amount); + fx.bcx.call_memmove(&fx.module.target_config(), dst, src, byte_amount); } }; discriminant_value, (c val) { @@ -157,7 +157,7 @@ pub fn codegen_intrinsic_call<'a, 'tcx: 'a>( _ if !layout.is_unsized() => fx .bcx .ins() - .iconst(fx.module.pointer_type(), layout.size.bytes() as i64), + .iconst(fx.pointer_type, layout.size.bytes() as i64), ty::Slice(elem) => { let len = ptr.load_value_pair(fx).1; let elem_size = fx.layout_of(elem).size.bytes(); @@ -179,10 +179,10 @@ pub fn codegen_intrinsic_call<'a, 'tcx: 'a>( _ if !layout.is_unsized() => fx .bcx .ins() - .iconst(fx.module.pointer_type(), layout.align.abi() as i64), + .iconst(fx.pointer_type, layout.align.abi() as i64), ty::Slice(elem) => { let align = fx.layout_of(elem).align.abi() as i64; - fx.bcx.ins().iconst(fx.module.pointer_type(), align) + fx.bcx.ins().iconst(fx.pointer_type, align) } ty::Dynamic(..) => crate::vtable::min_align_of_obj(fx, ptr), ty => unimplemented!("min_align_of_val for {:?}", ty), @@ -301,14 +301,14 @@ pub fn codegen_intrinsic_call<'a, 'tcx: 'a>( let addr = fx.bcx.ins().stack_addr(pointer_ty(fx.tcx), stack_slot, 0); let zero_val = fx.bcx.ins().iconst(types::I8, 0); let len_val = fx.bcx.ins().iconst(pointer_ty(fx.tcx), layout.size.bytes() as i64); - fx.bcx.call_memset(fx.isa, addr, zero_val, len_val); + fx.bcx.call_memset(&fx.module.target_config(), addr, zero_val, len_val); let uninit_place = CPlace::from_stack_slot(fx, stack_slot, T); let uninit_val = uninit_place.to_cvalue(fx); ret.write_cvalue(fx, uninit_val); }; write_bytes, (v dst, v val, v count) { - fx.bcx.call_memset(fx.isa, dst, val, count); + fx.bcx.call_memset(&fx.module.target_config(), dst, val, count); }; uninit, () { let layout = fx.layout_of(T); diff --git a/src/lib.rs b/src/lib.rs index b14ed0e6786..9e7e527e98d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -80,6 +80,7 @@ mod prelude { pub use crate::syntax::ast::{FloatTy, IntTy, UintTy}; pub use crate::syntax::source_map::DUMMY_SP; + pub use cranelift::codegen::isa::CallConv; pub use cranelift::codegen::ir::{ condcodes::IntCC, function::Function, ExternalName, FuncRef, Inst, StackSlot, }; @@ -178,16 +179,12 @@ impl CodegenBackend for CraneliftCodegenBackend { let metadata = tcx.encode_metadata(); - fn build_isa(tcx: TyCtxt) -> Box { - let mut flags_builder = settings::builder(); - flags_builder.enable("is_pic").unwrap(); - let flags = settings::Flags::new(flags_builder); - cranelift::codegen::isa::lookup(tcx.sess.target.target.llvm_target.parse().unwrap()) - .unwrap() - .finish(flags) - } - - let isa = build_isa(tcx); + let mut flags_builder = settings::builder(); + flags_builder.enable("is_pic").unwrap(); + let flags = settings::Flags::new(flags_builder); + let isa = cranelift::codegen::isa::lookup(tcx.sess.target.target.llvm_target.parse().unwrap()) + .unwrap() + .finish(flags); let mono_items = collector::collect_crate_mono_items(tcx, collector::MonoItemCollectionMode::Lazy).0; @@ -198,9 +195,9 @@ impl CodegenBackend for CraneliftCodegenBackend { if std::env::var("SHOULD_RUN").is_ok() { let mut jit_module: Module = Module::new(SimpleJITBuilder::new()); - assert_eq!(pointer_ty(tcx), jit_module.pointer_type()); + assert_eq!(pointer_ty(tcx), jit_module.target_config().pointer_type()); - codegen_mono_items(tcx, &*isa, &mut jit_module, &mono_items); + codegen_mono_items(tcx, &mut jit_module, &mono_items); tcx.sess.abort_if_errors(); println!("Compiled everything"); @@ -208,10 +205,10 @@ impl CodegenBackend for CraneliftCodegenBackend { let sig = Signature { params: vec![ - AbiParam::new(jit_module.pointer_type()), - AbiParam::new(jit_module.pointer_type()), + AbiParam::new(jit_module.target_config().pointer_type()), + AbiParam::new(jit_module.target_config().pointer_type()), ], - returns: vec![AbiParam::new(jit_module.pointer_type() /*isize*/)], + returns: vec![AbiParam::new(jit_module.target_config().pointer_type() /*isize*/)], call_conv: CallConv::SystemV, }; let main_func_id = jit_module @@ -239,9 +236,9 @@ impl CodegenBackend for CraneliftCodegenBackend { ) .unwrap(), ); - assert_eq!(pointer_ty(tcx), faerie_module.pointer_type()); + assert_eq!(pointer_ty(tcx), faerie_module.target_config().pointer_type()); - codegen_mono_items(tcx, &*build_isa(tcx), &mut faerie_module, &mono_items); + codegen_mono_items(tcx, &mut faerie_module, &mono_items); tcx.sess.abort_if_errors(); @@ -344,7 +341,6 @@ impl CodegenBackend for CraneliftCodegenBackend { fn codegen_mono_items<'a, 'tcx: 'a>( tcx: TyCtxt<'a, 'tcx, 'tcx>, - isa: &isa::TargetIsa, module: &mut Module, mono_items: &FxHashSet>, ) { @@ -367,7 +363,7 @@ fn codegen_mono_items<'a, 'tcx: 'a>( for mono_item in mono_items { let res = ::std::panic::catch_unwind(::std::panic::AssertUnwindSafe(|| { - base::trans_mono_item(tcx, isa, module, &mut caches, &mut ccx, *mono_item); + base::trans_mono_item(tcx, module, &mut caches, &mut ccx, *mono_item); })); if let Err(err) = res { diff --git a/src/main_shim.rs b/src/main_shim.rs index 204a933fb8d..f7b325f7038 100644 --- a/src/main_shim.rs +++ b/src/main_shim.rs @@ -38,10 +38,10 @@ pub fn maybe_create_entry_wrapper<'a, 'tcx: 'a>( let cmain_sig = Signature { params: vec![ - AbiParam::new(m.pointer_type()), - AbiParam::new(m.pointer_type()), + AbiParam::new(m.target_config().pointer_type()), + AbiParam::new(m.target_config().pointer_type()), ], - returns: vec![AbiParam::new(m.pointer_type() /*isize*/)], + returns: vec![AbiParam::new(m.target_config().pointer_type() /*isize*/)], call_conv: CallConv::SystemV, }; @@ -65,8 +65,8 @@ pub fn maybe_create_entry_wrapper<'a, 'tcx: 'a>( let ebb = bcx.create_ebb(); bcx.switch_to_block(ebb); - let arg_argc = bcx.append_ebb_param(ebb, m.pointer_type()); - let arg_argv = bcx.append_ebb_param(ebb, m.pointer_type()); + let arg_argc = bcx.append_ebb_param(ebb, m.target_config().pointer_type()); + let arg_argv = bcx.append_ebb_param(ebb, m.target_config().pointer_type()); let main_func_ref = m.declare_func_in_func(main_func_id, &mut bcx.func); @@ -85,7 +85,7 @@ pub fn maybe_create_entry_wrapper<'a, 'tcx: 'a>( .declare_function(&start_name, Linkage::Import, &start_sig) .unwrap(); - let main_val = bcx.ins().func_addr(m.pointer_type(), main_func_ref); + let main_val = bcx.ins().func_addr(m.target_config().pointer_type(), main_func_ref); let func_ref = m.declare_func_in_func(start_func_id, &mut bcx.func); bcx.ins().call(func_ref, &[main_val, arg_argc, arg_argv]) diff --git a/src/vtable.rs b/src/vtable.rs index 5bc92049381..185ce4abfe0 100644 --- a/src/vtable.rs +++ b/src/vtable.rs @@ -66,7 +66,7 @@ pub fn get_vtable<'a, 'tcx: 'a>( let local_data_id = fx.module.declare_data_in_func(data_id, &mut fx.bcx.func); fx.bcx .ins() - .global_value(fx.module.pointer_type(), local_data_id) + .global_value(fx.pointer_type, local_data_id) } fn build_vtable<'a, 'tcx: 'a>(