Commit Graph

145 Commits

Author SHA1 Message Date
Sergey Pepyakin 5f14102a59 Merge remote-tracking branch 'origin/master' into fuzz
# Conflicts:
#	benches/Cargo.toml
2018-06-22 13:00:53 +03:00
Leonardo Yvens 75406dd8ff Use transmute instead of casts In RuntimeValue conversion. (#102)
Casts have arithmetic semantics, and under some build configurations
Rust will panic when encountering an arithmetic overflow.
Use a transmute instead since it's what we mean.
The previous code worked, but still I added a test for good measure.
2018-06-21 15:47:49 +03:00
Sergey Pepyakin 94b797de44
Add some more benches (#97)
* Add rev_complement test

# Conflicts:
#	benches/src/lib.rs
#	benches/wasm-kernel/src/lib.rs

* Add redux_regex test.

# Conflicts:
#	benches/wasm-kernel/Cargo.toml

* Fmt and return an original header

* Use ManuallyDrop

* Really initialize lazy static.
2018-06-19 16:29:33 +03:00
Sergey Pepyakin 978b9ff2ea Merge remote-tracking branch 'origin/flat-stack' into fuzz 2018-06-14 21:49:10 +03:00
Sergey Pepyakin 59ddf11432 Inline always instruction dispatch function. 2018-06-14 18:49:28 +03:00
Sergey Pepyakin 03f378a000 Cache memory index. 2018-06-14 18:48:25 +03:00
Sergey Pepyakin ea1e15bc3f Optimize a bit more. 2018-06-14 18:40:26 +03:00
Sergey Pepyakin ca4036fb16 Optimize value stack 2018-06-14 18:34:47 +03:00
Sergey Pepyakin d5e47a03ab Ignore traces. 2018-06-14 18:34:33 +03:00
Sergey Pepyakin 4802635c95 Another round of cleaning. 2018-06-14 17:06:52 +03:00
Sergey Pepyakin 0110ea2d57 Clean 2018-06-14 17:02:56 +03:00
Sergey Pepyakin 1e758afaa2 Clean 2018-06-14 16:58:27 +03:00
Sergey Pepyakin f45b45459c Calibrate the limits. 2018-06-14 16:38:14 +03:00
Sergey Pepyakin de27ef3745 Use Vec instead of VecDeque. 2018-06-14 16:35:55 +03:00
Sergey Pepyakin e9f201bde9 WIP 2018-06-14 16:06:45 +03:00
Sergey Pepyakin aba44ca5ed WIP 2018-06-13 22:28:28 +03:00
Sergey Pepyakin bd3d8fc762 Bunch of other tests. 2018-06-13 17:42:56 +03:00
Sergey Pepyakin a9bf01a60f Working 2018-06-13 16:15:45 +03:00
Sergey Pepyakin 5e20cc28f8 Tests 2018-06-13 12:05:20 +03:00
Sergey Pepyakin d0e13db6f2 WIP 2 2018-06-13 11:32:44 +03:00
Sergey Pepyakin 5653e2809f WIP 2018-06-12 22:13:37 +03:00
Sergey Pepyakin 1702372696 Define Instruction Set. 2018-06-12 16:09:31 +03:00
Sergey Pepyakin f305b3cd1f
Fix wasm benches on nightly (#93) 2018-06-12 14:00:57 +03:00
Sergey Pepyakin 724a32ad60
Provide direct access to the underlying buffer (#91)
This allows zero-copy access to the linear memory.
2018-05-31 16:01:15 +02:00
Sergey Pepyakin 6cf0ebc79e
Add a simple bench (#90)
* Add first bench

* Refactor travis.yml

* Use assert_matches!

* sha3_256 → keccak256
2018-05-24 16:31:15 +03:00
Sergey Pepyakin d926993c6c Bump wabt version to 0.3 2018-04-25 18:00:11 +03:00
Sergey Pepyakin 89c3a9286f Bump version 0.2.0 2018-04-25 10:25:33 +03:00
Jef 3890dd379f Preserve signalling bit in NaNs (#87)
* Preserve signalling bit in NaNs

* Fix warnings
2018-04-25 10:18:14 +03:00
Sergey Pepyakin b95e11c414 Bump version to 0.1.3. 2018-04-20 17:59:16 +03:00
Sergey Pepyakin 730c918a80
Don't expand locals. (#86) 2018-04-20 17:55:07 +03:00
Sergey Pepyakin 5cda9a05da Check the signature of host function. (#84) 2018-04-18 17:44:10 +03:00
Jef 22b260a3b9 Optionally deny floating point operations (#83)
* Optionally deny floating point operations

* Deny floating-point parameters and fix docs/indentation

* Test denial of floating-point parameters
2018-04-18 15:09:09 +03:00
Sergey Pepyakin 52ed4bb589 Stack hash. 2018-04-18 10:46:47 +03:00
Sergey Pepyakin 959503b49d Update parity-wasm 2018-04-18 10:46:47 +03:00
Sergey Pepyakin 21e4d28949 Update honggfuzz to 0.5.9. 2018-04-18 10:46:47 +03:00
Sergey Pepyakin 3ace65501c Update parity-wasm. 2018-04-18 10:46:47 +03:00
Sergey Pepyakin 7b4bc1c9e8 Impl hfuzz 2018-04-18 10:46:47 +03:00
Sergey Pepyakin fa7564692e Add honggfuzz. 2018-04-18 10:46:47 +03:00
Sergey Pepyakin 84a16a42f9 Version of libfuzzer pinned 2018-04-18 10:46:47 +03:00
Sergey Pepyakin c626208a0a Oops. Revert to temp file creation. 2018-04-18 10:46:42 +03:00
Sergey Pepyakin 213bc160bf Refactor 2018-04-18 10:46:39 +03:00
Sergey Pepyakin 7100f6c31b Also stderr 2018-04-18 10:46:38 +03:00
Sergey Pepyakin 067c08302d Redirect output of spec to /dev/null 2018-04-18 10:46:38 +03:00
Sergey Pepyakin 6c40a5b0b6 Add fuzzing against spec interpreter. 2018-04-18 10:46:37 +03:00
Sergey Pepyakin a2aa3ddb25 Update README.md 2018-04-17 09:41:26 +03:00
Sergey Pepyakin 7aecc55173 Bump version to 0.1.2 2018-04-05 13:12:39 +03:00
Pierre Krieger 4c2995ca98 Fix the name of the 32bits feature (#82)
So that it matches the Cargo.toml
2018-04-04 18:14:43 +03:00
Sergey Pepyakin d12a04f8ff
Publish with externvals (#81)
* Publish with_externvals constructor.
* Add examples to Signature::new.
* Use Iterators for ExternVal imports
2018-03-29 18:43:44 +03:00
NikVolf a6b5574704 bump version 2018-03-24 17:57:28 +03:00
Sergey Pepyakin 86bbd96a33
Require func_type (not func) for func import. (#79) 2018-03-22 17:49:30 +03:00