Commit Graph

2891 Commits

Author SHA1 Message Date
Nick Lewycky
5f0ce6ef2f Enable SIMD when parsing the spec tests. 2019-07-29 15:47:38 -07:00
Nick Lewycky
7a1ddc0b5a Rename validate to validate_with_features. 2019-07-29 12:11:23 -07:00
Nick Lewycky
86316c474a Use --enable-simd to control whether SIMD is enabled in the wasmparser.
Before this change, 'wasmer run --backend=llvm some-simd.wasm' would run without complaint.

Also, note that the flag is not part of the cache key, so after any successful run, we can run it again without passing the flag.
2019-07-29 12:11:23 -07:00
Syrus Akbary
514eb70194
Merge pull request #593 from penberg/docker-build
Add a Docker sandbox for building Wasmer
2019-07-29 11:45:33 -07:00
Pekka Enberg
b9e1607043 Add a Docker sandbox for building Wasmer
Building Wasmer is bit of a pain, because it requires Rust nightly, and
bunch of OS specific packages.

To make building easier, this adds a "build" script at the top-level
directory, which can be used to build Wasmer within a Docker sandbox
that has all the necessary dependencies installed. The build environment
is based on latest Ubuntu 19.04.

You first need to build a Docker image of the sandbox:

    docker build --file Dockerfile.build --tag wasmer-build .

Then, to build Wasmer, run:

    ./build make

To test Wasmer, run:

    ./build make test

and so on.

You can also drop into a shell within the Docker with:

    ./build

The "build" script bind mounts current directory as "/wasmer" in the
Docker container, which allows inspecting the build contents like you
had built them on your local machine.

For future improvements, we should consider:

  - Consolidation with existing Dockerfile (that is used for Circle CI)

  - Publishing the build sandbox image on Docker Hub so that people
    don't have to build it themselves

  - Moving dependency installation to separate script, which can be
    reused outside of the Docker sandbox.

The work has been inspired by "devtool" in the Firecracker project:

  https://github.com/firecracker-microvm/firecracker/blob/master/tools/devtool

and "dbuild" in the Scylla project:

  https://github.com/scylladb/scylla/blob/master/tools/toolchain/dbuild
2019-07-29 21:18:04 +03:00
bors[bot]
f483c89da7 Merge #586
586: Fixes case with empty module, handle case with no signatures r=bjfish a=bjfish

thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/libcore/option.rs:373:21

Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-07-26 23:20:42 +00:00
Brandon Fish
d7c11bcf5f Fixes case with empty module, handle case with no signatures 2019-07-26 17:58:57 -05:00
bors[bot]
53c343bc6f Merge #579
579: fix caching for other backends, improve default compiler code r=MarkMcCaskey a=MarkMcCaskey



Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2019-07-26 22:21:00 +00:00
bors[bot]
e89af86cb7 Merge #585
585: add rust example to CI r=MarkMcCaskey a=MarkMcCaskey



Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-07-26 22:01:59 +00:00
Mark McCaskey
ce64f7ad0f Add wasm plugin rust example test to bors.toml 2019-07-26 15:00:52 -07:00
bors[bot]
cf0a10124d Merge #584
584: Add --enable-simd flag to wasmer run and wasmer validate. r=nlewycky a=nlewycky



Co-authored-by: Nick Lewycky <nicholas@mxc.ca>
2019-07-26 19:49:22 +00:00
Mark McCaskey
a666fb3e4a Add Rust plugin example example to CI 2019-07-26 11:56:18 -07:00
Nick Lewycky
6cddc25ddd Derive Debug on these small structs. 2019-07-26 11:12:13 -07:00
Nick Lewycky
8f417f3d59 Add --enable-simd flag to wasmer run and wasmer validate. 2019-07-26 00:34:02 -07:00
Syrus Akbary
ab5f28851a
Merge pull request #578 from vavrusa/master
llvm-backend: export FunctionCodeGenerator and ModuleCodeGenerator
2019-07-25 17:08:50 -07:00
Mark McCaskey
2cfa97357f
Merge pull request #582 from wasmerio/fix/clif-semver-nightmare
fix semver issue with clif 0.31 + new version of wasmparser
2019-07-25 11:11:10 -07:00
Mark McCaskey
d1a5cc9139 fix semver issue with clif 0.31 + new version of wasmparser 2019-07-25 10:38:20 -07:00
Syrus Akbary
4ada51957d
Merge branch 'master' into feature/caching-fix-and-better-default-compiler 2019-07-24 18:58:45 -07:00
Syrus Akbary
c767b265d7
Improved CHANGELOG
Added dates to different versions and updated missing PRs
2019-07-24 18:50:26 -07:00
Marek Vavruša
659f088c4f llvm-backend: export FunctionCodeGenerator and ModuleCodeGenerator
This is in line with the singlepass-backend to be able to use LLVM MCG with
a StreamingCompiler.
2019-07-24 18:46:35 -07:00
Syrus Akbary
947de78c3e
Added Twitter badge 2019-07-24 18:35:57 -07:00
Syrus Akbary
ec65abb289
Merge pull request #580 from wasmerio/feature/various-improvements
Various improvements
2019-07-24 18:18:26 -07:00
Syrus
680e4b8577 Improved README installation instructions 2019-07-24 18:15:18 -07:00
Syrus
76daa7b3fd Improved Wasmer Backends documentation 2019-07-24 18:06:59 -07:00
Mark McCaskey
99b75c4dea update changelog 2019-07-24 17:46:32 -07:00
Syrus
0191de4e50 Improved WAPM mentions 2019-07-24 17:44:06 -07:00
Syrus
0f5131303d Simplified examples 2019-07-24 17:43:17 -07:00
Syrus
3bca3ee983 Make dependency installation easier to read 2019-07-24 17:42:03 -07:00
Syrus
c89848f984 Moved scripts to scripts folder 2019-07-24 17:36:08 -07:00
Syrus
ac859ac531 Added CODEOWNERS file 2019-07-24 17:32:04 -07:00
Mark McCaskey
a3089a4501 fix caching for other backends, improve default compiler code 2019-07-24 17:31:59 -07:00
Syrus Akbary
e877e6d6df
Merge pull request #542 from wasmerio/simd
Initial commit of SIMD support in wasmer.
2019-07-24 15:35:38 -07:00
nlewycky
624f3459ab
Merge branch 'master' into simd 2019-07-24 14:44:52 -07:00
Syrus Akbary
6a810bc220
Merge pull request #561 from YaronWittenstein/ctx-drop-finalizer
* vm.rs - calling `Ctx` `data_finalizer` upon destruction
2019-07-24 14:36:41 -07:00
nlewycky
361a027ec9
Only enable SIMD when using the LLVM backend.
Co-Authored-By: Syrus Akbary <me@syrusakbary.com>
2019-07-24 14:10:09 -07:00
nlewycky
f6240721ea
Merge branch 'master' into simd 2019-07-24 14:08:24 -07:00
Nick Lewycky
4b1bc24a2b Update cranelift to the version crates.io.
This is needed in order for the resulting wasmer to be releasable.
2019-07-24 14:06:19 -07:00
Mark McCaskey
610c5bfe1f
Merge branch 'master' into ctx-drop-finalizer 2019-07-24 13:52:57 -07:00
Mark McCaskey
05be42300e
Merge pull request #576 from wasmerio/fix/dropping-bad-data
fix Drop of uninit Ctx; use MaybeUninit
2019-07-24 13:51:30 -07:00
Mark McCaskey
1574a33ee8 Merge branch 'fix/dropping-bad-data' of github.com:wasmerio/wasmer into fix/dropping-bad-data 2019-07-24 13:50:24 -07:00
Mark McCaskey
a534ecb0bb increase bors timeout threshold 2019-07-24 13:49:21 -07:00
Nick Lewycky
5c1b7d2e5b Adds the SIMD tests from binaryren, updated to work with wasmer.
This test is too large and therefore does not run by default, see
`fn is_fat_test` in spectests.rs.
2019-07-24 13:48:38 -07:00
Mark McCaskey
ce9bea402c
Merge branch 'master' into fix/dropping-bad-data 2019-07-24 13:32:42 -07:00
Mark McCaskey
3c952f307e fix Drop of uninit Ctx; use MaybeUninit 2019-07-24 11:29:16 -07:00
Nick Lewycky
f763de94ab Update to wabt 0.9.0. 2019-07-24 10:03:08 -07:00
Nick Lewycky
0ed104b543 Remove incorrect comment -- wasmer does support mutable globals.
The reason this test needed to be disabled is correctly documented in the comment above.
2019-07-23 17:13:02 -07:00
Nick Lewycky
16fe3ce0af Merge branch 'master' into simd 2019-07-23 13:51:15 -07:00
Nick Lewycky
fe2bd6ad6c Add missing names to LLVM instructions. 2019-07-23 13:19:27 -07:00
bors[bot]
dbfd1c614d Merge #575
575: Prepare for release of 0.5.7 r=MarkMcCaskey a=MarkMcCaskey



Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-07-23 19:57:58 +00:00
Mark McCaskey
24a4fedade update wapm build for circleci 2019-07-23 11:35:59 -07:00