Commit Graph

3045 Commits

Author SHA1 Message Date
Nick Lewycky
75959577c3 Protect::ReadWriteExec is readable and writable.
Also assert that page size is a power of two in two places we assume it is.
2019-08-07 16:49:29 -07:00
bors[bot]
bd31422872 Merge #639
639: Return link error instead of assertion failure for bad data r=bjfish a=bjfish

Fixes #588 

Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-08-07 21:48:46 +00:00
Brandon Fish
5d9aa1f986 Return link error instead of assertion failure for bad data initialization 2019-08-07 15:40:42 -06:00
bors[bot]
180522095f Merge #517
517: add instance creation benchmark r=syrusakbary a=MarkMcCaskey

a benchmark for creating a bunch of instances

Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2019-08-05 22:08:46 +00:00
Syrus Akbary
07e6599a28
Merge branch 'master' into feature/instance-benchmark 2019-08-05 15:07:58 -07:00
bors[bot]
ec1f5db67f Merge #633 #634
633: Added support for setting environment variables. Fixed #394 r=syrusakbary a=syrusakbary

Added support for setting environment variables. Fixed #394

After installing Wasmer from this:
![Screen Shot 2019-08-05 at 2 31 22 PM](https://user-images.githubusercontent.com/188257/62496585-3ab9b980-b78e-11e9-8e98-fdb2c544d052.png)

And executing `wasmer cache dir`:
![Screen Shot 2019-08-05 at 2 32 45 PM](https://user-images.githubusercontent.com/188257/62496597-46a57b80-b78e-11e9-9581-f4271d7b400f.png)


634: Added extra assertions in Emscripten. Fixed #244 r=syrusakbary a=syrusakbary

This PR is a quick fix for #244

Co-authored-by: Syrus Akbary <me@syrusakbary.com>
Co-authored-by: Syrus <me@syrusakbary.com>
2019-08-05 21:44:33 +00:00
Syrus
47456b5baa Fixed formatting 2019-08-05 14:37:08 -07:00
Syrus Akbary
7b54ce2690
Merge branch 'master' into feature/windows-env 2019-08-05 14:34:33 -07:00
Syrus Akbary
e0f98ea6a6 Added support for setting environment variables. Fixed #394 2019-08-05 14:33:17 -07:00
Syrus
fed7c79923 Added extra assertions in Emscripten. Fixed #244 2019-08-05 14:15:36 -07:00
Syrus
7ba32508fd Updated CHANGELOG with latest changes 2019-08-05 11:49:23 -07:00
Syrus
ea5affc05d Remove svm mentions in wasmer c api codebase 2019-08-05 11:49:16 -07:00
Syrus Akbary
fcb71f022f
Merge pull request #630 from wasmerio/dependabot/cargo/blake2b_simd-0.5.6
Bump blake2b_simd from 0.5.5 to 0.5.6
2019-08-05 10:57:24 -07:00
Syrus Akbary
6692978926
Merge branch 'master' into dependabot/cargo/blake2b_simd-0.5.6 2019-08-05 10:57:06 -07:00
Syrus Akbary
ea36b0aca1
Merge pull request #631 from wasmerio/dependabot/cargo/cc-1.0.38
Bump cc from 1.0.37 to 1.0.38
2019-08-05 10:56:31 -07:00
Syrus Akbary
6952da4b55
Merge pull request #628 from wasmerio/dependabot/cargo/regex-1.2.1
Bump regex from 1.2.0 to 1.2.1
2019-08-05 10:56:10 -07:00
dependabot-preview[bot]
06a7ab847b
Bump cc from 1.0.37 to 1.0.38
Bumps [cc](https://github.com/alexcrichton/cc-rs) from 1.0.37 to 1.0.38.
- [Release notes](https://github.com/alexcrichton/cc-rs/releases)
- [Commits](https://github.com/alexcrichton/cc-rs/compare/1.0.37...1.0.38)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-05 08:39:39 +00:00
dependabot-preview[bot]
50ebbc500f
Bump blake2b_simd from 0.5.5 to 0.5.6
Bumps [blake2b_simd](https://github.com/oconnor663/blake2_simd) from 0.5.5 to 0.5.6.
- [Release notes](https://github.com/oconnor663/blake2_simd/releases)
- [Commits](https://github.com/oconnor663/blake2_simd/compare/0.5.5...0.5.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-05 08:38:35 +00:00
dependabot-preview[bot]
a036a306d5
Bump regex from 1.2.0 to 1.2.1
Bumps [regex](https://github.com/rust-lang/regex) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.2.0...1.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-05 08:36:27 +00:00
bors[bot]
da0fe49ade Merge #627
627: Add check to see if crates were published to release CI step r=MarkMcCaskey a=MarkMcCaskey



Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-08-05 06:08:42 +00:00
Mark McCaskey
9d8b919bc1 Add check to see if crates were published to release CI step 2019-08-05 14:54:20 +09:00
Syrus Akbary
8dc3bffe6e
Skip middleware-llvm tests until is fixed on CI
More info of the failure: https://circleci.com/gh/wasmerio/wasmer/11663

```
cargo test --manifest-path lib/middleware-common/Cargo.toml --release --features llvm
   Compiling wasmer-llvm-backend v0.6.0 (/home/circleci/project/lib/llvm-backend)
   Compiling inkwell v0.1.0 (https://github.com/wasmerio/inkwell?branch=llvm8-0#4c5359e5)
   Compiling wasmer-middleware-common v0.6.0 (/home/circleci/project/lib/middleware-common)
    Finished release [optimized] target(s) in 14.54s
     Running target/release/deps/wasmer_middleware_common-3c263452f3b7d07e

running 2 tests
test metering::tests::test_points_reduced_after_call ... test metering::tests::test_points_reduced_after_call has been running for over 60 seconds
test metering::tests::test_traps_after_costly_call ... test metering::tests::test_traps_after_costly_call has been running for over 60 seconds
Makefile:59: recipe for target 'middleware-llvm' failed
make: *** [middleware-llvm] Terminated
Too long with no output (exceeded 10m0s)
```
2019-08-02 18:45:21 -07:00
bors[bot]
fc37b00abc Merge #623
623: Add support for (register) command in spec tests and enable importing mutable globals. r=nlewycky a=nlewycky

Enable the part of the simd spec tests that now pass.

Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-08-02 23:51:39 +00:00
Nick Lewycky
9fcb06a270 Missed a line! 2019-08-02 16:49:28 -07:00
Nick Lewycky
59ef811b46 Update readme. 2019-08-02 16:48:34 -07:00
Nick Lewycky
546969a742 These tests are fixed too. 2019-08-02 14:33:11 -07:00
Nick Lewycky
2fabb5bc20 Add support for (register) command in spec tests and enable importing mutable globals.
Enable the part of the simd spec tests that now pass.
2019-08-02 14:18:07 -07:00
Syrus Akbary
17b5082c9b
Merge pull request #621 from wasmerio/feature/add-deny-dead_code-lint
Add deny dead_code lint and fix one error
2019-08-02 13:36:53 -07:00
Brandon Fish
b358605791 One CamelCase style cleanup and allow dead code warning 2019-08-02 14:14:59 -06:00
Brandon Fish
e2e096117a Allow dead_code for existing arch specific methods 2019-08-02 14:07:10 -06:00
bors[bot]
9489af4207 Merge #616
616: runtime-c-api: create the import object separately from instance instantiation  r=bjfish a=YaronWittenstein

Creating an `import object` separately from the `wasmer` instance, let's us build the import object incrementally and support the use-case of having import functions (a.k.a `vmcalls`) implemented in 2 programming languages (Rust and Golang for example) and consumed by the same `wasmer` instance.

Co-authored-by: Yaron Wittenstein <yaron.wittenstein@gmail.com>
Co-authored-by: Brandon Fish <bjfish@users.noreply.github.com>
2019-08-02 20:03:56 +00:00
Yaron Wittenstein
2a5aaee147 Merge branch 'c-api-import_object_t' of github.com:spacemeshos/wasmer into c-api-import_object_t 2019-08-02 23:01:10 +03:00
Yaron Wittenstein
c67df1c954 Merge branch 'master' into c-api-import_object_t 2019-08-02 22:54:54 +03:00
Yaron Wittenstein
eed3b28eab comment cleanup 2019-08-02 22:54:00 +03:00
Brandon Fish
80e155c1fc
Merge branch 'master' into c-api-import_object_t 2019-08-02 13:51:25 -06:00
Brandon Fish
2f70a199e4 Add deny dead_code lint and fix one error 2019-08-01 20:46:35 -06:00
bors[bot]
315c72e0b8 Merge #620
620: clang-format the C++, also replace one 'throw()' with 'noexcept'. r=nlewycky a=nlewycky



Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-08-02 00:41:20 +00:00
Nick Lewycky
83aa9c67c7 Replace throw() with noexcept. Unlike throw(), noexcept indicates that the function does not throw.
Before C++17, throw() was equivalent to wrapping the function in a try {} catch
{ std::unexpected(); }. In C++17 throw() was made equivalent to noexcept and
in C++20 throw() was removed.
2019-08-01 17:13:23 -07:00
Nick Lewycky
ac49e57c2d Run clang-format-8 over the C++ code. No functionality change. 2019-08-01 17:12:46 -07:00
bors[bot]
a224d53c93 Merge #619
619: Fix typos. r=nlewycky a=nlewycky



Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-08-01 23:45:38 +00:00
Nick Lewycky
5fed2cef03 Fix typos. 2019-08-01 16:24:40 -07:00
bors[bot]
1138a048d8 Merge #618
618: Implement InternalEvent::Breakpoint in the llvm backend. r=nlewycky a=nlewycky

Enable now-working metering unit tests when run with the llvm backend.

Co-authored-by: Nick Lewycky <nick@wasmer.io>
Co-authored-by: nlewycky <nick@wasmer.io>
2019-08-01 20:31:27 +00:00
nlewycky
bebc3eefe4
Merge branch 'master' into features/llvm-metering 2019-08-01 13:01:10 -07:00
Nick Lewycky
536f9813dc Implement InternalEvent::Breakpoint in the llvm backend.
Enable now-working metering unit tests when run with the llvm backend.
2019-08-01 12:44:25 -07:00
Yaron Wittenstein
18c7f96188 Merge branch 'master' into c-api-import_object_t 2019-08-01 22:27:41 +03:00
Syrus Akbary
a9e3ebaa4a
Merge pull request #615 from penberg/clif-backend
clif-backend: Eliminate FunctionEnvironment construction in feed_event()
2019-08-01 12:22:25 -07:00
Brandon Fish
dfef2b6899
Merge branch 'master' into clif-backend 2019-08-01 11:59:02 -06:00
Yaron Wittenstein
f64eee894e [FIX] test-context.c imports contains now the expected mul import too 2019-08-01 19:31:33 +03:00
Yaron Wittenstein
3f4ffb0e2d Merge branch 'develop' into c-api-import_object_t 2019-08-01 18:15:21 +03:00
Pekka Enberg
869ac21f7b clif-backend: Eliminate FunctionEnvironment construction in feed_event()
The feed_event() function is called for every wasm binary instruction.
Let's optimize it by storing FunctionEnvironment object in
CraneliftFunctionCodeGenerator, rather than constructing it for every
feed_event() invocation.

This change reduces the time to run "ngix compile" benchmark by 68%:

Before:

  nginx compile           time:   [1.4152 s 1.4186 s 1.4222 s]
  Found 1 outliers among 10 measurements (10.00%)
    1 (10.00%) high mild

After:

  nginx compile           time:   [447.76 ms 448.32 ms 448.80 ms]
                          change: [-68.542% -68.440% -68.352%] (p = 0.00 < 0.05)
                          Performance has improved.

I assume some of the clone() calls are very expensive (Vec::clone(),
likely). I did see libc malloc()/free() high up in "perf top" profiles,
which are eliminted by this change.

I also looked into eliminating FunctionBuilder construction from
feed_event(). That turns out to be painful on lifetime rules because it
borrows bunch of other objects, so I am leaving it for someone who knows
the code better than I do.
2019-08-01 18:06:40 +03:00