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
21ea2465c0
Catch panicking tests
2019-08-02 11:36:38 -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
bors[bot]
bd3be45fcd
Merge #602
...
602: C api extract instance context from instance r=bjfish a=YaronWittenstein
Here is an example of usage:
c9a9d56bd0/crates/svm-wasmer-c-api/examples/counter.c (L132)
Co-authored-by: Yaron Wittenstein <yaron.wittenstein@gmail.com>
2019-08-01 14:27:48 +00:00
Yaron Wittenstein
524585942a
deleting test-context binary
2019-08-01 17:24:51 +03:00
Yaron Wittenstein
09d704d053
Merge branch 'master' into c-api-extract-instance_context-from-instance
2019-08-01 14:08:47 +03:00
Yaron Wittenstein
f73180f45e
wasmer-c-api:
...
* adding `wasmer_import_object_new` and `wasmer_import_object_extend`
* adding test file `test-module-import-instantiate.c`
2019-08-01 14:06:25 +03:00
bors[bot]
93032c7360
Merge #609
...
609: Update dependencies r=syrusakbary a=syrusakbary
This PR does:
* Update dependencies (to explicitly use only one version of a package, in all the places we use it)
* Remove explicit dependency on `hashbrown` since it's already adopted as the default algorithm for `HashMap`
* Small fixes on code to use latest versions
Co-authored-by: Syrus <me@syrusakbary.com>
2019-08-01 08:30:08 +00:00
Syrus
70a767e204
Improved exported memory tests
2019-08-01 01:28:11 -07:00
Syrus
2c6fbcba1f
Improved runtime_c_api_tests
2019-08-01 01:27:36 -07:00
Syrus
052ad1381d
Use ordered IndexMap for exports in runtime-core
2019-08-01 01:27:21 -07:00
Yaron Wittenstein
ab76755ade
runtime-c-api:
...
* import.rs - adding `import_object_t` and `wasmer_import_object_destroy`
* instance.rs - adding `wasmer_module_import_instantiate`
2019-08-01 10:48:03 +03:00
Mark McCaskey
a12d0ada1a
add wasi::fd_pread test
2019-08-01 16:38:34 +09:00
Syrus
676bccff3c
Tryin gto make c_api_tests verbose mitigates the flaky error
...
Each time `make capi` is run, there is a flaky error:
```
Running target/release/deps/runtime_c_api_tests-3df0f74fcea1252d
running 1 test
test test_c_api ... FAILED
failures:
---- test_c_api stdout ----
Running command: `cmake` arg: Some(".")
output:
status: 0
stdout:
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/syrusakbary/Development/wasmer/lib/runtime-c-api/tests
stderr:
Running command: `make` arg: Some("-Wdev -Werror=dev")
output:
status: 0
stdout:
[ 7%] Built target test-tables
[ 15%] Built target test-module-exports
[ 23%] Built target test-module-imports
[ 30%] Built target test-globals
[ 38%] Built target test-imports
[ 46%] Built target test-module
[ 53%] Built target test-module-serialize
[ 61%] Built target test-memory
[ 69%] Built target test-validate
[ 76%] Built target test-import-function
[ 84%] Built target test-instantiate
[ 92%] Built target test-exports
[100%] Built target test-exported-memory
stderr:
Running command: `make` arg: Some("test")
output:
status: 2
stdout:
Running tests...
Test project /Users/syrusakbary/Development/wasmer/lib/runtime-c-api/tests
Start 1: test-exported-memory
1/13 Test #1 : test-exported-memory .............Child aborted***Exception: 0.00 sec
Start 2: test-exports
2/13 Test #2 : test-exports ..................... Passed 0.01 sec
Start 3: test-globals
3/13 Test #3 : test-globals ..................... Passed 0.00 sec
Start 4: test-import-function
4/13 Test #4 : test-import-function ............. Passed 0.01 sec
Start 5: test-imports
5/13 Test #5 : test-imports ..................... Passed 0.01 sec
Start 6: test-instantiate
6/13 Test #6 : test-instantiate ................. Passed 0.01 sec
Start 7: test-memory
7/13 Test #7 : test-memory ...................... Passed 0.00 sec
Start 8: test-module
8/13 Test #8 : test-module ...................... Passed 0.01 sec
Start 9: test-module-exports
9/13 Test #9 : test-module-exports .............. Passed 0.01 sec
Start 10: test-module-imports
10/13 Test #10 : test-module-imports .............. Passed 0.01 sec
Start 11: test-module-serialize
11/13 Test #11 : test-module-serialize ............ Passed 0.01 sec
Start 12: test-tables
12/13 Test #12 : test-tables ...................... Passed 0.00 sec
Start 13: test-validate
13/13 Test #13 : test-validate .................... Passed 0.00 sec
92% tests passed, 1 tests failed out of 13
Total Test time (real) = 0.08 sec
The following tests FAILED:
1 - test-exported-memory (Child aborted)
stderr:
Errors while running CTest
make[1]: *** [test] Error 8
thread 'test_c_api' panicked at 'Command failed with exit status: ExitStatus(ExitStatus(512))', lib/runtime-c-api/tests/runtime_c_api_tests.rs:43:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
```
2019-08-01 00:22:52 -07:00
Syrus
0dfa1f68a8
Formatted code
2019-07-31 23:51:12 -07:00
Syrus
7d89f9cc9a
Updated changelog
2019-07-31 23:46:59 -07:00
Syrus
ebce7d0371
Updated dependencies
2019-07-31 23:42:54 -07:00
Syrus
a6461c3b14
Removed explicit hashbrown dependency
2019-07-31 23:18:38 -07:00
Syrus
6245daaa84
Update dependencies to latest versions
2019-07-31 23:04:03 -07:00
Mark McCaskey
d24c4a9c1a
Merge branch 'feature/more-wasi-syscalls' of github.com:wasmerio/wasmer into feature/more-wasi-syscalls
2019-08-01 14:58:59 +09:00
Mark McCaskey
e6f188286b
Implement wasi::fd_pread
2019-08-01 14:58:17 +09:00
Yaron Wittenstein
3a84288fd9
Merge branch 'master' into c-api-extract-instance_context-from-instance
2019-08-01 08:54:52 +03:00
Yaron Wittenstein
dd91a8208a
changes after PR review https://github.com/wasmerio/wasmer/pull/602#pullrequestreview-269368270
2019-08-01 08:48:20 +03:00
Mark McCaskey
61d72a179b
implement updating times in wasi::fd_filestat_set_times
2019-08-01 14:06:28 +09:00
Mark McCaskey
bca1ffc8d6
Merge branch 'master' into feature/more-wasi-syscalls
2019-07-31 21:41:19 -07:00
Mark McCaskey
a824d8d4d8
Implement wasi::{fd_allocation, fd_filestat_set_size}
2019-08-01 13:34:42 +09:00
bors[bot]
2b6e58962b
Merge #606
...
606: Cleanup Wasmer r=syrusakbary a=syrusakbary
This PR moves a few things around trying to make Wasmer more compelling to use:
* Two less directories on the root (`fuzz` is moved to the `lib/` folder, `media` is moved to `src/installer` folder)
* Improved README
* Moved `ARCHITECTURE.md` into the `docs` folder.
Co-authored-by: Syrus <me@syrusakbary.com>
2019-08-01 04:25:30 +00:00