Commit Graph

5623 Commits

Author SHA1 Message Date
Alex Crichton
19d8ff2bf5 Remove reader_parse_test/translate_module fuzz targets (#1212)
This commit removes the two fuzz targets that we imported from cranelift
when cranelift merged in. These have both uncovered a few issues in the
fuzz targets themselves, for example:

* `translate_module` - this doesn't verify the wasm is valid a head of
  time and cranelift is known to panic on translating invalid wasm
  modules. We also already do a lot of fuzzing of translation of wasm
  modules, so this isn't necessarily buying us anything over what we're
  already fuzzing.

* `reader_parse_test` - discovered in #1205 we already found some "bugs"
  in this but it may not necessarily rise to the level of "needs to be
  run on oss-fuzz for us to find more bugs" yet. It looks like this is
  still somewhat internal so we can re-enable when we've got folks to
  fix the fuzz bugs coming in.

Closes #1205
2020-03-04 13:54:11 -06:00
Yury Delendik
d5c0f6bff8 Fix infinite loop in DWARF address transform algorithm (#1228) 2020-03-04 13:31:14 -06:00
Maciej Woś
8acfdbdd8a add more wrappers and getters (#1222) 2020-03-03 22:58:11 -06:00
Peter Huene
1a15cec63b Merge pull request #1217 from eqrion/kill-ebb/typos
Rename 'an block' to 'a block'
2020-03-03 11:59:59 -08:00
Ryan Hunt
07f335dca6 Rename 'an block' to 'a block'
Missed this in the automatic rename of 'Ebb' to 'Block'.
2020-03-03 13:21:13 -06:00
Alex Crichton
77e17d8f71 Add a wasmtime-specific wasmtime_wat2wasm C API (#1206)
* Add a wasmtime-specific `wasmtime_wat2wasm` C API

This commit implements a wasmtime-specific C API for converting the text
format to the binary format. An upstream spec issue exists for adding
this to the C API, but in the meantime we can experiment with our own
version of this API and use it in the C# extension, for example!

Closes #1000

* Reorder arguments

* Use wasm_byte_vec_t for input `*.wat`

* Mark wat input as const

* Return an error message and use `fixed`

* Actually include the error message

* Use `fixed` in `Module.cs` as well
2020-03-03 10:29:20 -06:00
Yury Delendik
732c646bec Add wasmtime.h and wasi.h to package (#1211) 2020-03-03 09:21:33 -06:00
Alex Crichton
f7c2a58d23 Disable caches in CLI tests (#1204)
Avoids creating extraneous directories while testing in your home
directory.

Closes #1197
2020-03-02 11:43:47 -06:00
Alex Crichton
fe9debfed3 Update WASI submodule to update transitive wast crate (#1207)
One less version to build!
2020-03-02 11:34:04 -06:00
Darin Morrison
d68437e1e6 Update SIMD tests to use hex literals 2020-03-02 08:28:59 -08:00
Darin Morrison
c459579396 Add tests for hex parsing 2020-03-02 08:28:59 -08:00
Darin Morrison
2300eec8a5 Implement hex parsing for imm16 and imm32 2020-03-02 08:28:59 -08:00
Takanori Ishibashi
3848bf54f7 Fix link (#1203) 2020-03-02 08:57:28 -06:00
Alex Crichton
8597930eed rename PassiveElemIndex to ElemIndex and same for PassiveDataIndex (#1188)
* rename PassiveElemIndex to ElemIndex and same for PassiveDataIndex (#1411)

* rename PassiveDataIndex to DataIndex

* rename PassiveElemIndex to ElemIndex

* Apply renamings to wasmtime as well

* Run rustfmt

Co-authored-by: csmoe <csmoe@msn.com>
2020-03-02 08:55:25 -06:00
Nick Fitzgerald
2c5be49af0 Merge pull request #1193 from fitzgen/limit-rayon-to-one-thread-during-fuzzing
Limit rayon to one thread during fuzzing
2020-02-28 21:42:53 -08:00
Nick Fitzgerald
4866fa0e6a Limit rayon to one thread during fuzzing
This should enable more deterministic execution.
2020-02-28 18:35:09 -08:00
Alex Crichton
91768e5f32 Merge pull request #1190 from alexcrichton/fix-clif-tools
Fix build of cranelift-tools
2020-02-28 19:10:19 -06:00
Nick Fitzgerald
99a37a7e61 Merge pull request #1189 from fitzgen/fuzzing-api-calls-timeouts
Fuzzing api calls timeouts
2020-02-28 16:30:04 -08:00
Alex Crichton
4bd9eb7402 Fix build of cranelift-tools
Accidentally left it out of the workspace members!
2020-02-28 16:08:49 -08:00
Nick Fitzgerald
6e2bb9ebdd Limit the number of exported function calls we make in the API calls fuzzer
This should fix some fuzzing timeouts like
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20847
2020-02-28 15:48:24 -08:00
Nick Fitzgerald
f2fef600c6 Implement Arbitrary::size_hint for WasmOptTtf 2020-02-28 15:48:24 -08:00
Nick Fitzgerald
5ed9796ef3 Implement Arbitrary::size_hint for ApiCalls 2020-02-28 15:48:24 -08:00
Nick Fitzgerald
506a83d8ef Update to arbitrary@0.4.0 and libfuzzer-sys@0.3.1 2020-02-28 15:48:24 -08:00
Alex Crichton
e287a87948 Merge pull request #1021 from ggreif/patch-1
wasmtime now in Bytecode Alliance
2020-02-28 17:40:33 -06:00
Alex Crichton
86ff6d7aef Merge pull request #1019 from alexcrichton/cranelift-merge-for-realz
Merge the Cranelift repository into Wasmtime
2020-02-28 17:13:14 -06:00
Gabor Greif
d7b0644cac wasmtime now in Bytecode Alliance 2020-02-28 23:16:27 +01:00
Alex Crichton
22b95e8bc0 Remove more redundant files 2020-02-28 12:31:46 -08:00
Alex Crichton
9050027e8b Remove redundant profile config in cranelift/Cargo.toml 2020-02-28 12:30:00 -08:00
Alex Crichton
d7ec76b715 Remove some stray files 2020-02-28 12:29:12 -08:00
Alex Crichton
87757965f4 Merge pull request/issue templates 2020-02-28 12:15:14 -08:00
Alex Crichton
0dbfad3aa7 Fix broken API doc links (#1020)
Also enable the lint to guarantee they stay un-broken.
2020-02-28 12:44:27 -06:00
Alex Crichton
986f9f79e1 Merge the CONTRIBUTING.md files 2020-02-28 09:22:06 -08:00
Alex Crichton
8efca7da0d Merge cranelift doc generation CI 2020-02-28 09:17:53 -08:00
Alex Crichton
0c33696731 Remove cranelift scripts, we'll merge them into scripts eventually 2020-02-28 09:17:53 -08:00
Alex Crichton
7beea5ee88 Move determinism check to wasmtime's CI 2020-02-28 09:17:53 -08:00
Alex Crichton
435735d13c Remove fuzzit integration
wasmtime is covered by oss-fuzz which should cover large swaths of
cranelift as well, so let's remove that from CI and add it back later if
it's necessary.
2020-02-28 09:16:05 -08:00
Alex Crichton
3e2cdc3ded Merge cranelift/wasmtime fuzzing 2020-02-28 09:16:05 -08:00
Alex Crichton
9fe459bf38 Delete some cranelift CI already covered by wasmtime 2020-02-28 09:16:05 -08:00
Alex Crichton
701b419a12 Merge gitignore files 2020-02-28 09:16:05 -08:00
Alex Crichton
79fa4d1a94 Merge clippy configs 2020-02-28 09:16:05 -08:00
Alex Crichton
5f1cba0b7f Hook up all crates via path dependencies 2020-02-28 09:16:05 -08:00
Alex Crichton
1c78f03bf3 Remove redundant files 2020-02-28 09:07:00 -08:00
Alex Crichton
abae4ca46d Merge remote-tracking branch 'origin/master' into cranelift-master-rewrite 2020-02-28 09:05:28 -08:00
Peter Huene
121bbd3656 Merge pull request #1014 from peterhuene/c-api-module-new
Change `wasm_module_new` to use `Module::from_binary`.
2020-02-27 21:39:20 -08:00
Johnnie Birch
3e4509fd6a Update usage of target_lexicon to be consistent with v0.10 (#1003)
Jitdump was using an api consisent v0.04 for target_lexicon instead
of the version v0.10. This updates calls to target_lexicon to be
consistent with v0.10.
2020-02-27 20:43:20 -08:00
Alex Crichton
8caa5a9476 Spice up the project README, fill out more docs (#1010)
* Spice up the project README, fill out more docs

This is an attempt to spruce up wasmtime's README.md file as well as
fill out more of the missing documentation in the `docs/` folder.
There's still a long way to go but I hoped here to mostly move around
existing information and add new information. As always happy to have
feedback!

* Tweak CLI wording

* Remove no-longer relevant clause

* Update sandboxing docs

* Handle comments
2020-02-27 17:28:08 -06:00
Peter Huene
b942bdbfe9 Be explicit when marshalling bool. 2020-02-27 14:12:15 -08:00
Joshua Nelson
6a61bba39e Allow modules to have names of arbitrary bytes (#1410)
This is useful for me because I name the module after the file, which
comes from the filesystem and may not be valid UTF8.

This change is backwards-compatible.
2020-02-27 13:45:18 -08:00
Peter Huene
7dfb6ebdb6 Change wasm_module_new to use Module::from_binary.
This commit changes the C API function `wasm_module_new` to use the Rust API
`Module::from_binary` which performs verification of the module, as per the C
API spec.

This also introduces a `EngineBuilder` type to the C# API that can be used to
construct an `Engine` with the various Wasmtime configuration options.  This
is required to get the C# tests passing since they use reference types and
multi-value.

Fixes #859.
2020-02-27 13:38:08 -08:00
Alex Crichton
35d5c6bdde Add a RELEASES.md file to track release notes (#1011)
This is intended to be a form of release notes for wasmtime where we can
keep track of what's changed over time in a more dense way than `git
log` that should be interesting for most users.
2020-02-27 13:00:13 -06:00