Brandon Fish
0bf33662d1
Add missing LLVM imported memory functions
2019-08-13 20:07:55 -06:00
Brandon Fish
137ac206af
Return compile error (llvm) for setting immutable global
2019-08-13 17:59:04 -06:00
Brandon Fish
de8fe32dbe
Add memory validation
2019-08-13 13:04:13 -06:00
Mark McCaskey
09b056cc40
Add wip wasi::poll_oneoff work
2019-08-13 16:59:01 +09:00
Syrus Akbary
5239cdb85a
Merge pull request #668 from wasmerio/feature/update-wabt-to-fix-names-spectests
...
Update WABT dep to fix names spectests
2019-08-13 00:13:36 -07:00
Brandon Fish
f22250d85a
Refactor func_count in parser
2019-08-12 21:36:17 -06:00
Brandon Fish
e76777ed9b
Finalize signatures & names when no function bodies
2019-08-12 20:22:54 -06:00
Brandon Fish
d695bd0c84
Update WABT dep to fixe names spectests
2019-08-12 15:35:32 -06:00
Brandon Fish
20cb7c0048
Merge branch 'master' into feature/unexclude-passing-elem-spec
2019-08-11 18:04:54 -06:00
Brandon Fish
9b4ba66e11
Add code comment explanation of validation
2019-08-11 13:59:48 -06:00
Brandon Fish
c837b56678
Unexclude passing elem spec
2019-08-11 13:52:57 -06:00
Brandon Fish
f61fc5c298
Validate all initializers before finalizing
2019-08-11 13:28:47 -06:00
Brandon Fish
38a8a0eb01
Minimize unsafe block to unsafe code
2019-08-10 17:20:27 -06:00
Brandon Fish
b7970fb982
Uncomment slow exclude test again
2019-08-10 17:11:32 -06:00
Brandon Fish
0b73776c84
Validate all memory data initializers before writing
2019-08-10 17:10:24 -06:00
Brandon Fish
228d562a3b
Re-use registered module instances in spectests
2019-08-10 15:56:25 -06:00
Brandon Fish
db5d8a5bf8
Push debug print to debug CI failure
2019-08-10 15:33:08 -06:00
Brandon Fish
4651b43078
Merge branch 'master' into feature/fix-table-init-error
2019-08-10 15:19:02 -06:00
Brandon Fish
a621b86286
Update windows excludes
2019-08-10 15:04:24 -06:00
Brandon Fish
b484ebb848
cargo fmt
2019-08-10 14:01:50 -06:00
Brandon Fish
bb8b4960b8
Remove filter which prevents initializer offset check
2019-08-10 13:59:31 -06:00
Brandon Fish
1584beebe6
Invalid table size for elems should produce link error
2019-08-10 12:13:14 -06:00
Brandon Fish
6372e0947c
Fix more bare dyn traits in runtime-c-api
2019-08-10 11:20:22 -06:00
Brandon Fish
8ec4c0e01d
Merge branch 'master' into feature/fix-namespace-table-issue
2019-08-09 14:12:25 -06:00
losfair
44f71759f6
Use Vec::with_capacity in various places.
2019-08-10 03:23:29 +08:00
losfair
9cade2b441
singlepass: Skip patchpoint.
2019-08-10 03:10:32 +08:00
losfair
d61a8bb6d2
Prevent continueing execution on unreliable stack. (LLVM register save area information is missing)
2019-08-10 03:10:12 +08:00
losfair
2e89f02191
Cargo fmt
2019-08-10 02:44:44 +08:00
losfair
b8c18215aa
Refactor tier switching code
2019-08-10 02:32:14 +08:00
Syrus Akbary
f909f7ed1f
Merge pull request #650 from wasmerio/feature/wasi-path-rename
...
implement wasi::path_rename
2019-08-09 01:09:23 -07:00
Mark McCaskey
61f1df06d1
implement wasi::path_rename
2019-08-09 15:40:04 +09:00
Brandon Fish
7f0c48b354
Add windows clif excludes
2019-08-08 21:12:36 -06:00
Brandon Fish
a7ff120dd9
Fix some spectest imports and namespace_table issue
2019-08-08 21:03:00 -06:00
Syrus
d39d4b5f6d
Remove structopt dependency from LLVM
2019-08-08 19:42:41 -07:00
bors[bot]
27d8506a46
Merge #643
...
643: Improve error reporting of IO errors, implement path_symlink r=MarkMcCaskey a=MarkMcCaskey
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-08-09 00:34:22 +00:00
Nick Lewycky
b2c4501357
Add support for backend flags. Backend flags are opaque to src/bin/wasmer.rs.
...
Use them to implement three features in the LLVM backend, getting a valid ELF object file, the post-optimization LLVM IR and the pre-optimization LLVM IR.
Presently they are also global to the backend which is not ideal.
2019-08-08 17:05:31 -07:00
bors[bot]
77fe15db31
Merge #646
...
646: Fix bare_trait_objects warnings r=bjfish a=bjfish
These appear to be coming to stable soon:
https://github.com/rust-lang/rust/blob/master/RELEASES.md#compatibility-notes
Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-08-08 23:25:07 +00:00
Brandon Fish
5a41686192
Fix bare_trait_objects warnings
2019-08-08 16:46:52 -06:00
Nick Lewycky
02f1d73f88
Reformat.
2019-08-08 13:55:44 -07:00
Nick Lewycky
c4d4a6888c
Fix a bug where we would fail to find llvm-config-M or llvm-config-M-N when llvm-sys would.
...
Update to match features in newer llvm-sys.
2019-08-08 13:46:40 -07:00
losfair
c1619026d5
Swap code lazily when tiering up from singlepass to LLVM.
...
Does not handle long-running functions, but should work at least.
2019-08-09 04:26:17 +08:00
losfair
0d604b754b
Commented out code for saving semantics of internal values.
2019-08-08 21:54:39 +08:00
Mark McCaskey
d0696a0c0e
implement wasi::path_symlink test & fix readlink test
2019-08-08 16:42:27 +09:00
Brandon Fish
55f214b3ac
Merge branch 'master' into feature/unexclude-some-passing-unlinkable
2019-08-07 23:19:40 -06:00
Brandon Fish
1c32e2a4af
Add windows specific clif failures
2019-08-07 23:10:50 -06:00
Mark McCaskey
cdfd9afccc
Improve error reporting of IO errors, begin implementation of path_symlink
2019-08-08 11:59:35 +09:00
Brandon Fish
0b0a77413e
Unexclude some now passing assert_unlinkable
2019-08-07 19:45:31 -06:00
bors[bot]
205d7081f5
Merge #640
...
640: Protect::ReadWriteExec is readable and writable. r=syrusakbary a=nlewycky
Also assert that page size is a power of two in two places we assume it is.
Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-08-08 01:36:19 +00:00
bors[bot]
321ca4e565
Merge #635
...
635: Update spectests and runner r=bjfish a=bjfish
Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
Co-authored-by: Nick Lewycky <nick@wasmer.io>
Co-authored-by: Syrus <me@syrusakbary.com>
2019-08-08 00:51:59 +00:00
Mark McCaskey
b8f8a637c1
Merge branch 'master' into feature/more-wasi-syscalls
2019-08-07 16:55:03 -07:00
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
Brandon Fish
8763d2cbde
Merge branch 'master' into feature/spectests-runner
2019-08-07 16:50:06 -06:00
Brandon Fish
5d9aa1f986
Return link error instead of assertion failure for bad data initialization
2019-08-07 15:40:42 -06:00
losfair
b113f5a24b
longjmp turns out to work on Windows. Remove custom unwinding code.
2019-08-08 03:19:19 +08:00
Mark McCaskey
ddb0b99f12
implement path_link updated unlink, fix tests, add new test
2019-08-07 16:11:38 +09:00
Mark McCaskey
6ad0be1e02
add fd_sync test
2019-08-07 12:41:35 +09:00
Mark McCaskey
dbe96bbce9
add wasi::fd_sync
2019-08-07 12:17:52 +09:00
Brandon Fish
dc8384ed22
Add windows specific excludes
2019-08-06 21:03:09 -06:00
Brandon Fish
b7236a58fc
Add support for platform star key skip exclude
2019-08-06 20:06:34 -06:00
losfair
4b1d337ebe
Custom setjmp/longjmp to avoid SEH. (will it work?)
2019-08-07 00:38:42 +08:00
losfair
b50fd31adb
Use setjmp/longjmp to handle LLVM exceptions.
2019-08-07 00:06:35 +08:00
Brandon Fish
8c13eae2b8
Allow platform specific excludes
2019-08-05 20:57:07 -06:00
Brandon Fish
a56aaeaaa3
Add additional spectest imports
2019-08-05 19:25:12 -06:00
Brandon Fish
03e1b3d8e8
Remove unnecessary println and make spectest runs nocapture
2019-08-05 18:58:51 -06:00
Brandon Fish
540520e54e
cargo fmt
2019-08-05 17:55:41 -06:00
Brandon Fish
dc94cfb7b8
Merge branch 'master' into feature/spectests-runner
2019-08-05 17:53:04 -06:00
Brandon Fish
c65abf8ff5
Delete unused commented out println
2019-08-05 17:52:44 -06:00
Brandon Fish
08eb113394
Output failures in exclude format and add all failures as excludes
2019-08-05 17:51:02 -06:00
Nick Lewycky
1d54a938f6
Fix a couple bugs testing NaNs. Add an exclusion list for LLVM min/max.
2019-08-05 15:38:03 -07:00
Syrus Akbary
07e6599a28
Merge branch 'master' into feature/instance-benchmark
2019-08-05 15:07:58 -07:00
Syrus
47456b5baa
Fixed formatting
2019-08-05 14:37:08 -07:00
Syrus
fed7c79923
Added extra assertions in Emscripten. Fixed #244
2019-08-05 14:15:36 -07:00
Syrus
ea5affc05d
Remove svm mentions in wasmer c api codebase
2019-08-05 11:49:16 -07:00
Syrus Akbary
6692978926
Merge branch 'master' into dependabot/cargo/blake2b_simd-0.5.6
2019-08-05 10:57:06 -07: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
Mark McCaskey
061d540627
Implement wasi::path_filestat_set_times
2019-08-05 15:53:42 +09:00
Mark McCaskey
6db7bd8f07
get fd_allocate test working
2019-08-05 14:01:04 +09:00
Mark McCaskey
f0eb85a919
refactor wasi state file to hide boilerplate
2019-08-05 11:59:32 +09:00
Mark McCaskey
c2e3847e9a
add check for fd_allocate, improve debug str for filestat_t
2019-08-05 11:24:06 +09:00
Mark McCaskey
8f06db45a1
format emitter with current stable Rust
2019-08-05 09:58:54 +09:00
Mark McCaskey
09acf3e581
Merge branch 'master' into feature/more-wasi-syscalls
2019-08-05 09:55:40 +09:00
Brandon Fish
43ae30985c
Cleanup test runner
2019-08-04 16:44:27 -06:00
Brandon Fish
e3d78a1343
Implement allowed failures
2019-08-04 16:13:47 -06:00
Brandon Fish
b8610e799f
Update README.md, remove old README.md, remove old spectest code
2019-08-04 15:53:48 -06:00
Brandon Fish
93233eb4b4
Implement registered modules
2019-08-04 15:36:17 -06:00
Brandon Fish
5c3edabb7c
Enable simd compile
2019-08-04 14:44:55 -06:00
Brandon Fish
665f8707dc
Implement named modules
2019-08-04 14:20:09 -06:00
Brandon Fish
8c911cb1c3
Implement action get for assert return
2019-08-04 13:37:39 -06:00
Brandon Fish
7060785d8d
Implement assert_exhaustion
2019-08-04 13:18:57 -06:00
Brandon Fish
36bcda711f
Update spectests and run by globbing wast files
2019-08-04 12:42:20 -06:00
Brandon Fish
9a33ece373
Merge branch 'master' into feature/spectests-runner
2019-08-04 11:34:22 -06:00
Brandon Fish
0583ae4846
Add system to skip wast commands to allow failures or skipping
2019-08-04 11:25:46 -06:00
Brandon Fish
f0cdb97320
Add invoke action and imports
2019-08-04 10:19:50 -06:00
Brandon Fish
7d376e18ee
Add debug line info
2019-08-03 18:07:23 -06:00
Brandon Fish
021fefcdee
Disable unlinkable spec temporarily, specs timeout
2019-08-03 17:57:34 -06:00
Brandon Fish
f46d07b5b3
Add more assertions
2019-08-03 17:31:43 -06:00
Yaron Wittenstein
8d583ad4d4
runtime-c-api: Cargo.toml - adding default-features=false
for wasmer-runtime
and wasmer-runtime-core
dependencies
2019-08-03 22:47:36 +03:00
Yaron Wittenstein
a06fa40faa
runtime-c-api: adding feature default-backend-singlepass
to Cargo.toml
2019-08-03 22:03:21 +03:00
Yaron Wittenstein
9e51c39144
Cargo.toml - configuring singlepass
feature
2019-08-03 11:54:59 +03: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
Brandon Fish
22808d1dba
Implement spectests summary report
2019-08-02 16:00:35 -06: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
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
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
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
Nick Lewycky
5fed2cef03
Fix typos.
2019-08-01 16:24:40 -07: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
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
losfair
9ed5094f86
Resolve semantics for more values.
2019-08-01 23:28:39 +08: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
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
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
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
Syrus
a83b6eccfa
Fixed middleware linting
2019-07-31 21:24:46 -07:00
Syrus
5e7a20ef94
Improved metering codebase
2019-07-31 21:20:39 -07:00
bors[bot]
33166eaf66
Merge #607
...
607: Feature/update wasmparser and clif fork deps r=MarkMcCaskey a=MarkMcCaskey
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-08-01 02:28:35 +00:00
Brandon Fish
a832a4c787
Merge branch 'master' into wasmer-c-api-error-visibility
2019-07-31 19:58:23 -06:00
Brandon Fish
d9e1609616
Merge branch 'master' into wasmer-c-api-changes
2019-07-31 19:15:39 -06:00
Mark McCaskey
20e424c11e
update wasmparser and clif-fork dependencies
2019-08-01 10:13:25 +09:00
nlewycky
54b5c642dc
Merge branch 'master' into features/llvm-metering
2019-07-31 13:13:07 -07:00
Nick Lewycky
931d556de1
Add support for internal fields.
2019-07-31 13:10:51 -07:00
Nick Lewycky
0e1fedceef
Fix build of metering_benchmark with the llvm backend.
2019-07-31 13:04:40 -07:00
Syrus
fccf68c734
Updated version to 0.6.0
2019-07-31 10:28:45 -07:00
Yaron Wittenstein
0fb7eb1e19
tests/test-context.c - destroying resources in the end
2019-07-31 14:48:22 +03:00
Yaron Wittenstein
f6b5f1ba1b
wasmer-c-api: adding asserts
to tests/test-context.c
2019-07-31 14:32:38 +03:00
Yaron Wittenstein
351977690b
adding a document for wasmer_instance_context_get
2019-07-31 14:15:16 +03:00
Yaron Wittenstein
847dd6f65e
c-api: adding wasmer_instance_context_get
(instance.rs
)
2019-07-31 14:12:25 +03:00
Mark McCaskey
7760d5a4a2
simplify example and make public get_wasi_state unsafe
2019-07-31 15:59:08 +09:00
Syrus Akbary
6a4091e78e
Merge branch 'master' into feature/no-mem-uninit
2019-07-30 22:28:56 -07:00
Mark McCaskey
0ab8a0de09
Remove all uses of mem::uninitialized for Rust 1.38
2019-07-31 13:21:20 +09:00
Mark McCaskey
b407633366
add logging to plugin example, improve swap, and add some consts
2019-07-31 12:51:55 +09:00
Mark McCaskey
c099ed54e9
Merge branch 'master' into feature/public-api-wasi-fs
2019-07-30 19:26:19 -07:00
Mark McCaskey
620a521690
clean up wasi fs public api changes
2019-07-31 09:58:39 +09:00
Syrus Akbary
0256a6eb88
Merge branch 'master' into features/llvm-windows
2019-07-30 17:38:36 -07:00
bors[bot]
7106a4f3cc
Merge #599
...
599: Fix llvm backend failures in fat spec tests and simd_binaryen spec test. r=syrusakbary a=nlewycky
Co-authored-by: Nick Lewycky <nick@wasmer.io>
Co-authored-by: nlewycky <nick@wasmer.io>
2019-07-31 00:13:23 +00:00
Syrus
97c6956d98
Added llvm in windows support to Changelog
2019-07-30 15:56:25 -07:00
nlewycky
9b815cb518
Merge branch 'master' into features/llvm
2019-07-30 15:50:55 -07:00
Nick Lewycky
c42f47da34
Adjust simd_binaryen.wast until it works with LLVM except for known issues.
...
This doesn't yet work as of this commit, we'll need to pick up a new version of wasmparser.rs too.
2019-07-30 15:47:00 -07:00
Syrus
22f8b3f3dc
Improved LLVM compilation for Unix
2019-07-30 15:32:21 -07:00
Syrus
89178732cc
Fixed unix errors
2019-07-30 15:23:03 -07:00
Syrus
180e4766fe
Merge branch 'master' into features/llvm-windows
2019-07-30 15:09:21 -07:00
Nick Lewycky
bdb1c4c44e
Fix inkwell assertion due to treating vector as float. Fix llvm backend fatal error due to missing support for fminimum/fmaximum.
2019-07-30 14:59:04 -07:00
Syrus Akbary
12f8f3d085
First working version of LLVM in Windows
2019-07-30 14:47:53 -07:00
Nick Lewycky
3e7545a278
Fix the Trunc[SU] operations, makes conversions.wast pass.
2019-07-30 12:42:25 -07:00
losfair
4f56703657
Support runtime tier switching.
2019-07-30 22:25:58 +08:00
losfair
283676af2b
Add .clone() to fix singlepass.
2019-07-30 22:25:37 +08:00
losfair
0a7f95ee06
Allow a range of instruction offsets to be used in ip lookup.
2019-07-30 22:25:15 +08:00
Mark McCaskey
741fffedb0
fix metering benchmark
2019-07-30 15:59:21 +09:00
Mark McCaskey
fba09bef1a
Add useful functions for external use of WASI filesystem
2019-07-30 14:53:42 +09:00
bors[bot]
e0e92dbb79
Merge #594
...
594: Improvement cache in Windows r=syrusakbary a=syrusakbary
Caching was disabled on Windows, but can be re-enabled easily by improving the folder cache naming.
Reason why caching was disabled on Windows: We use a very long string (64 chars) for the wasmer version (hash). But we can use the version directly (no need to hashing)
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2019-07-30 01:36:44 +00:00
Syrus Akbary
98b20d9240
Fixed Caching in Windows lint and improved code
2019-07-29 18:29:20 -07:00
Syrus Akbary
13901cc665
Improvement cache in Windows
2019-07-29 17:33:50 -07:00
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
Yaron Wittenstein
784e65d587
making wasmer_byte_array
fields public
2019-07-29 17:24:43 +03:00
Yaron Wittenstein
8408260edd
wasmer-c-api: adding #[derive(Debug)]
for wasmer_result_t
(so that we can do assert_eq!
)
2019-07-29 17:10:17 +03:00
Yaron Wittenstein
a8d2469689
wasmer-c-api: returning back pub(crate) fn inner
for export.rs
2019-07-29 13:44:56 +03:00
Yaron Wittenstein
10fc660aad
wasmer_byte_array
visibility revert (see PR: "wasmer-c-api-changes: making wasmer_byte_array
fields public
#589 ")
2019-07-29 13:41:28 +03:00
Nick Lewycky
11f66d287b
Improve NaN handling by canonicalizing NaNs before most operations.
...
Not handled here is @llvm.minnum and @llvm.maxnum which should be replaced with
@llvm.minimum and @llvm.maximum, but using those currently leads to LLVM backend
fatal errors.
2019-07-28 22:53:48 -07:00
Nick Lewycky
2f021f0e2a
LLVM srem is undefined in cases where i32.rem_s and i64.rem_s are defined.
2019-07-28 22:53:48 -07:00
Brandon Fish
8098b7e44d
Merge branch 'master' into feature/spectests-runner
2019-07-26 22:15:42 -05: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
losfair
efb5277d1d
Stack parsing now works with LLVM.
2019-07-27 02:50:49 +08: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
Brandon Fish
459837f412
Initial commit of wast spectest runner
2019-07-25 22:31:19 -05: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
d1a5cc9139
fix semver issue with clif 0.31 + new version of wasmparser
2019-07-25 10:38:20 -07:00
Yaron Wittenstein
f04d552361
wasmer-c-api:
...
* error.rs - changing `update_last_error` visibility to `pub`.
* error.rs - changing `CApiError` `msg` field visibility to `pub`.
2019-07-25 15:46:57 +03:00
Yaron Wittenstein
015616b541
export.rs - changing FuncPointer
inner
visibility to pub
2019-07-25 14:59:59 +03:00
Yaron Wittenstein
6cc31d3b49
lib.rs - making wasmer_byte_array
fields public
2019-07-25 11:42:47 +03:00
Syrus Akbary
4ada51957d
Merge branch 'master' into feature/caching-fix-and-better-default-compiler
2019-07-24 18:58:45 -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
76daa7b3fd
Improved Wasmer Backends documentation
2019-07-24 18:06:59 -07:00
Mark McCaskey
a3089a4501
fix caching for other backends, improve default compiler code
2019-07-24 17:31:59 -07:00
nlewycky
624f3459ab
Merge branch 'master' into simd
2019-07-24 14:44:52 -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
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
losfair
cc4f0e31a6
TwoHalves & trying to get cowsay to compile again
2019-07-25 02:44:28 +08: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
Mark McCaskey
ad7e3b52d3
Prepare for release of 0.5.7
2019-07-23 11:20:59 -07:00
Nick Lewycky
18307bb79c
Improve panic/unreachable/unimplemented usage. Refactor a little.
2019-07-22 12:15:56 -07:00
losfair
0133b92bec
Populating LLVM stack maps into MSM/FSM.
2019-07-23 02:55:43 +08:00
Nick Lewycky
4535274cf3
Update the loader interface for 128 bit types.
2019-07-22 11:23:41 -07:00
Nick Lewycky
f8e8b1cdea
Update to latest wasmer clif branch.
2019-07-22 10:59:27 -07:00
Yaron Wittenstein
c3ced14e46
Merge branch 'master' into ctx-drop-finalizer
2019-07-22 14:13:11 +03:00
Nick Lewycky
775c120b38
Update to newer wasmerio/wabt-rs.
2019-07-19 15:48:50 -07:00
Nick Lewycky
fc935710c7
Merge branch 'master' of github.com:wasmerio/wasmer into simd
2019-07-19 15:37:36 -07:00
Nick Lewycky
cd25356858
Fix shuffle and enable tests. Add support for new load_splat instructions.
...
Updates to wasmparser 0.34.0 and picks up a newer wasmerio/wabt.
2019-07-19 15:19:58 -07:00
Mark McCaskey
f15e90f8f3
Merge branch 'master' into feature/wasi-readlink
2019-07-19 13:36:27 -07:00
Mark McCaskey
a0672b3fa2
updates from code review
2019-07-19 13:36:05 -07:00
Mark McCaskey
328ef4e66e
use correct debug macro on Windows
2019-07-19 12:55:58 -07:00
Mark McCaskey
d74560e1d4
impl fd_close
2019-07-19 12:10:45 -07:00
Mark McCaskey
a8a0dbed91
improve abstraction impl rm syscalls, properly finish create_dir
2019-07-19 11:47:31 -07:00
Mark McCaskey
9910527b30
further improve sandbox, rework syscalls, add tests
2019-07-18 17:14:01 -07:00
Nick Lewycky
3e009c5971
Reformat.
2019-07-18 13:40:24 -07:00
Nick Lewycky
ea93b68165
Bump size of global up to 128 bits.
...
Fixes last spec test failure from the WAVM SIMD spec test.
2019-07-18 13:39:41 -07:00
Nick Lewycky
3be6a024aa
Fix bugs in V128 support based on results from testing against simd spec test.
...
These is one test failure remaining with V128 global variables.
* Fix trunc_sat. We need both the largest float that can be converted to an int
and the largest int, they are not the same number.
* Implement calling of functions that take V128 by passing in two i64's.
* Improve support for V128 in spectests. Parse binary modules with the same
features as the outer spectest. Fix compilation error involving Result in
emitted .rs file. Handle V128 in more cases when producing .rs file. Parse
the wast script with SIMD enabled.
* Adjust the WAVM spectest so that it parses with WABT and mostly passes with
wasmer. Wabt is particular about ints not having decimal places and floats
having decimal places. Wasmer does not support mutable globals or shared
memory. Tests of shuffles are disabled. Some assert_invalid tests that wabt
won't even parse are disabled.
2019-07-18 12:52:59 -07:00
nlewycky
3f3bf38d94
Fix typo in comment.
...
"Then thou must count to three. Three shall be the number of the counting and the number of the counting shall be three. Four shalt thou not count, neither shalt thou count two, excepting that thou then proceedeth to three."
2019-07-18 11:24:25 -07:00
losfair
2e030c9c4a
Parsing LLVM stackmaps.
2019-07-19 02:02:15 +08:00
Mark McCaskey
dc19bf32b9
fmt
2019-07-17 15:47:59 -07:00
Mark McCaskey
e7e1b8c7d3
get tests passing! (more tests and clean up required)
2019-07-17 15:32:47 -07:00
Mark McCaskey
65bc9a5203
massive fs rewrite; add virtual root, tests
2019-07-17 14:00:51 -07:00
losfair
a14a8e4c50
Emit stack map at critical points.
2019-07-18 02:43:04 +08:00
Ivan Enderlin
36098189b3
doc(runtime-c-api) Document and reorganize exports.rs
.
...
This patch moves all structs at the beginning of the file, and
documents them.
2019-07-17 11:01:42 +02:00
Nick Lewycky
eeac6d5d2d
Merge branch 'master' of github.com:wasmerio/wasmer into simd
2019-07-16 19:16:45 -07:00
Mark McCaskey
78702fc1a0
Merge remote-tracking branch 'origin/master' into feature/wasi-readlink
2019-07-16 13:50:56 -07:00
Mark McCaskey
cea7d5da7d
add readlink test
2019-07-16 13:49:45 -07:00
Mark McCaskey
19f544e489
update to 0.5.6
2019-07-16 13:12:21 -07:00
Mark McCaskey
dd1ddea37b
wip fs improvements
2019-07-15 17:37:11 -07:00
Syrus Akbary
193665461b
Merge branch 'master' into improve-wasi-tests
2019-07-15 12:43:21 -07:00
nlewycky
42780042ef
Fix typo in comment.
2019-07-15 10:55:26 -07:00
Mark McCaskey
affb9465d5
update rustfmt.toml to ignore and fmt
2019-07-15 10:43:30 -07:00
Mark McCaskey
53d7ecba2c
improve wasitest infra and fix fseek test
2019-07-15 10:36:12 -07:00
Mark McCaskey
122963909f
symlink code from last week
2019-07-15 09:59:07 -07:00
Yaron Wittenstein
ad10152982
* vm.rs - calling Ctx
data_finalizer
upon destruction
2019-07-15 15:14:09 +03:00
Syrus
24f1e99ead
Fixed WASI tests
2019-07-13 16:00:18 -07:00
Syrus
b0ead8fc04
Merge branch 'master' into feature/complete-fd-seek
2019-07-13 15:40:51 -07:00
Brandon Fish
ed19fd2913
Update loader-kernel feature name, fix compilation track state, cargo fmt
2019-07-12 23:02:57 -05:00
Mark McCaskey
5119f07ea3
implement wasi::readlink
2019-07-12 15:58:28 -07:00
Mark McCaskey
a608f3aad0
fix wasi test template code
2019-07-12 15:17:10 -07:00
Mark McCaskey
cbac3ed92d
finish implementation of wasi::fd_seek, fix bug in filestat
2019-07-12 15:10:16 -07:00
losfair
977fd1e25e
Fix trap offset lookup.
2019-07-13 00:17:33 +08:00
losfair
450109e2bb
Fix singlepass compilation error.
2019-07-13 00:17:21 +08:00
losfair
08cdc9a42f
Allow disabling state tracking for faster startup.
2019-07-12 23:37:40 +08:00
losfair
f327feccef
Merge remote-tracking branch 'origin/master' into fix/imul-relax
2019-07-12 23:37:01 +08:00
nlewycky
278adf678a
Merge branch 'master' into nlewycky/llvm
2019-07-11 16:48:46 -07:00
Nick Lewycky
7fb88251d4
Simplify trap_if_not_representable_as_int.
...
Fix typo in function name. Use two fcmp instructions instead of unpacking the bits of the IEEE float and using integer arithmetic to determine details about its value.
2019-07-11 16:46:37 -07:00
Nick Lewycky
7045030532
Try a new list of optimization passes.
...
A few notes:
a) the inliner doesn't help because all the calls are indirect and not even opt -O2 can figure out which functions they're actually calling.
b) aggressive instruction combining is not a super-set of the instruction combiner. Instcombine is made up of a large number (probably 10,000s) of patterns, and some particularly slow ones were taken out and moved to the aggressive instruction combiner. Aggressive instcombine *only* runs that handful of optimizations, which fired zero times on our example wasm files.
c) NewGVN is not ready for production, it has asserts that fire when building sqlite or cowsay. This is why sqlite didn't build with the llvm backend.
d) Scalar-replacement-of-aggregates (sroa) is a strict superset of promote-memory-to-registers (mem2reg), and you probably want sroa because it's usually faster. It also fires 10,000s more times than mem2reg on lua.wasm.
e) Aggressive-dead-code-elimination was only deleting as much regular dead-code-elimination, but is slower because it depends on a postdominator tree (PDT) analysis that. Other passes don't need PDT so we'll have to build it for just this one pass (as opposed to regular dominator-tree which is reused by many passes). I've replaced this with bit-tracking dead-code-elimination which deletes more code than dce/adce.
2019-07-11 14:48:07 -07:00
losfair
c186e0244e
Fix compile error on imul
.
2019-07-11 20:26:20 +08:00
Johan Andersson
b41040cc59
Update to nix 0.14.
...
Instead of using a mix of nix 0.12 & 0.13
2019-07-11 12:28:56 +02:00
bors[bot]
0c4a8f77d2
Merge #543 #544
...
543: update version numbers to 0.5.5 r=MarkMcCaskey a=MarkMcCaskey
544: Use bitcast instead of alloca+load+ptrcast+store sequence. r=MarkMcCaskey a=nlewycky
Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <markmccaskey@users.noreply.github.com>
Co-authored-by: Nick Lewycky <nick@wasmer.io>
Co-authored-by: nlewycky <nick@wasmer.io>
2019-07-11 00:51:31 +00:00
nlewycky
3795b48401
Merge branch 'master' into llvm-cleanup
2019-07-10 16:58:27 -07:00
Mark McCaskey
7789d1b096
Merge branch 'master' into release-0.5.5
2019-07-10 16:35:00 -07:00
Nick Lewycky
7f00dc3cdb
Reformat.
2019-07-10 15:33:32 -07:00
Nick Lewycky
8faff26c31
Give float_bits bitcast instruction a name.
2019-07-10 15:31:18 -07:00
Mark McCaskey
50302d5d4e
use published forks of clif so we can publish again
2019-07-10 15:10:00 -07:00
Syrus
e980931329
Added simd spectest file
2019-07-10 14:43:54 -07:00
Syrus
a14d2b27b4
Added simd tests for llvm
2019-07-10 14:41:15 -07:00
Nick Lewycky
e4123433a1
Reformat.
2019-07-10 14:28:07 -07:00
Nick Lewycky
53907b0ab2
Update inkwell to our own copy until upstream supports LLVM 8.
...
LLVM 8 support from https://github.com/lumen/inkwell/tree/llvm8 .
2019-07-10 14:23:47 -07:00
Nick Lewycky
f4af4e387d
Stub out support for V128 in the C API for now.
2019-07-10 13:54:36 -07:00
Nick Lewycky
bb30434392
This .into_iter() call is equivalent to .iter() and will not move the array.
2019-07-10 13:54:36 -07:00
Nick Lewycky
fdc13563b8
Initial implementation of SIMD in the LLVM backend.
2019-07-10 13:54:32 -07:00
Nick Lewycky
3ba8100e98
Add V128 stubs to allow singlepass backend to build again.
2019-07-10 13:48:12 -07:00
Nick Lewycky
77afcea9dc
Add V128 stubs to allow LLVM backend to build again.
2019-07-10 13:48:12 -07:00
Nick Lewycky
df5c12cbe1
Add V128 to wasmer runtime. Unimplemented in clif-backend. Other backends don't build.
2019-07-10 13:48:12 -07:00
Nick Lewycky
0a1bdd449e
Update to @llvm.minimum/@llvm.maximum which requires LLVM 8.
...
The @llvm.minnum/@llvm.maxnum intrinsics don't produce correct (for wasm) outputs in all cases.
2019-07-10 13:48:12 -07:00
Nick Lewycky
ea83924547
Update to LLVM 8.0.
2019-07-10 13:48:12 -07:00
Nick Lewycky
b8d2aee80f
Update wabt to 0.8 release.
2019-07-10 13:48:12 -07:00
Nick Lewycky
9579b07a54
Enable SIMD support in wasmparser.
2019-07-10 13:48:12 -07:00
Nick Lewycky
acbface4be
Factor out creating wasmparser::ValidatingParserConfig to its own function.
2019-07-10 13:48:08 -07:00
nlewycky
d1f3fb2ec2
Merge branch 'master' into llvm-cleanup
2019-07-10 13:32:17 -07:00
Mark McCaskey
ad3d4a4679
rm clif submodule; fix master
2019-07-10 10:38:38 -07:00
Nick Lewycky
1e86e32d40
Use bitcast instead of alloca+load+ptrcast+store sequence.
2019-07-10 10:24:14 -07:00
Mark McCaskey
2ef7448e62
remove colons from feature names
2019-07-09 17:57:31 -07:00
Mark McCaskey
4752492974
update version numbers to 0.5.5
2019-07-09 17:43:04 -07:00
Mark McCaskey
74ce33919f
Merge branch 'master' into fix/abi-crate-deps
2019-07-09 15:31:45 -07:00
Mark McCaskey
4612b2bf9a
add cranelift as submodule to clif-backend
2019-07-09 14:30:31 -07:00
Mark McCaskey
6d494a297f
fix emscripten tests
2019-07-09 13:41:40 -07:00
Mark McCaskey
e0c285c652
fix emscripten dependencies by making separate test crate
2019-07-09 12:07:05 -07:00
Mark McCaskey
5bf491857b
fix abi crates depending on compilers
2019-07-09 11:58:03 -07:00
Mark McCaskey
30add2481e
do backend caching with a directory
2019-07-08 17:05:54 -07:00
Mark McCaskey
4407a7cf93
Add hidden flag --cache-key
to use prehashed modules for speed
2019-07-08 15:46:28 -07:00
Mark McCaskey
62798fd966
fix test
...
fix doc test
2019-07-08 13:21:34 -07:00
Mark McCaskey
9a3fd82a4b
Keep WashHash::generate function the same
2019-07-08 12:22:17 -07:00
Mark McCaskey
f45d523012
update tests to use backend as in cache key gen
2019-07-08 11:11:27 -07:00
Mark McCaskey
b746a88138
Update cache key generation to use backend compiler name too
2019-07-08 10:50:28 -07:00
Syrus
b67b051a4a
Updated emscripten with comment
2019-07-08 09:39:19 -07:00
Syrus
6f1a8995ca
Fixed emscripten windows vars format
2019-07-08 00:35:18 -07:00
Syrus
680b833e94
Move emscripten ___syscall221 to the unix implementation
2019-07-07 23:36:50 -07:00
Syrus
72a80a6122
FIxed emscripten windows issues
2019-07-07 22:50:50 -07:00
Syrus
69be61c9cb
Remove this calls in windows
2019-07-07 19:51:11 -07:00
Syrus
798ad03182
Improved formatting in unix syscalls
2019-07-07 19:35:46 -07:00
Syrus
f4e60c09c1
Squashed commit of the following:
...
commit 62d9da4e3e02251a0f61c904e826bc06cf964ff7
Author: Syrus <me@syrusakbary.com>
Date: Sun Jul 7 18:16:34 2019 -0700
Fixed syscall221
commit a8fde9148d50d89616d8a85a68110b89e3273229
Author: Syrus <me@syrusakbary.com>
Date: Sun Jul 7 18:16:04 2019 -0700
Improved ioctl use case
commit 5ad109d39838624ad84232a4c17714b885835893
Merge: 61526e2c
5cab8161
Author: Syrus <me@syrusakbary.com>
Date: Sun Jul 7 17:44:25 2019 -0700
Merge branch 'command/dash' into feature/emscripten-update
commit 5cab816193
Author: Jesús Leganés-Combarro 'piranna <piranna@gmail.com>
Date: Sat Jul 6 20:11:49 2019 +0200
Generic IOCTLs mapping
commit 5a0dc0374c
Merge: 61cfed79
9d120ed3
Author: Jesús Leganés-Combarro 'piranna <piranna@gmail.com>
Date: Sat Jul 6 17:15:02 2019 +0200
Merge remote-tracking branch 'origin/master' into command/dash
commit 61cfed7916
Author: Jesús Leganés-Combarro 'piranna <piranna@gmail.com>
Date: Sat Jul 6 13:04:04 2019 +0200
Fixed implementation for syscalls 200, 201 and 202
commit 91e26d1a0e
Author: Jesús Leganés-Combarro 'piranna <piranna@gmail.com>
Date: Sat Jul 6 13:03:26 2019 +0200
Improved debug messages
commit 53a8fbeb2a
Author: Jesús Leganés-Combarro 'piranna <piranna@gmail.com>
Date: Sat Jul 6 13:03:04 2019 +0200
[___syscall146] Move loop out of `unsafe` zone
commit d6dd3696f1
Author: Jesús Leganés-Combarro 'piranna <piranna@gmail.com>
Date: Sat Jul 6 13:01:31 2019 +0200
[___syscall140] Fixed types
commit c827a6a993
Merge: 2bc16826
5e18d04d
Author: Jesús Leganés-Combarro 'piranna <piranna@gmail.com>
Date: Sat Jul 6 12:21:33 2019 +0200
Merge remote-tracking branch 'origin/master' into command/dash
commit 2bc16826b5
Author: Jesús Leganés-Combarro 'piranna <piranna@gmail.com>
Date: Thu Jul 4 07:05:00 2019 +0200
Implement `getpgid` syscall
commit d464954f58
Author: Jesús Leganés-Combarro 'piranna <piranna@gmail.com>
Date: Thu Jul 4 07:04:36 2019 +0200
[fcntl64] Replace mock for real implementation
commit 3fe0183d85
Author: Jesús Leganés-Combarro 'piranna <piranna@gmail.com>
Date: Thu Jul 4 07:03:39 2019 +0200
[ioctl] No-of for `TIOCSPGRP` command & code clean-up
commit cc83ec9ac1
Author: Jesús Leganés-Combarro 'piranna <piranna@gmail.com>
Date: Thu Jul 4 07:02:47 2019 +0200
[___syscall5] debug messages
commit 91587c8bde
Author: Jesús Leganés-Combarro 'piranna <piranna@gmail.com>
Date: Thu Jul 4 07:02:20 2019 +0200
[___syscall57] debug messages
2019-07-07 19:35:09 -07:00
Syrus
61526e2c45
Improved code format
2019-07-07 17:10:55 -07:00
Syrus
d9eee3f35a
Added contains_key method to Namespace
2019-07-07 17:10:34 -07:00
Syrus
cb7a1f4486
Improved emscripten code based on comments
2019-07-07 17:10:13 -07:00
Syrus
9c96f01494
Fixed emscripten ns collision. Added ctime implementation
2019-07-07 15:55:52 -07:00
Syrus
d0b186b939
Added emscripten sbrk implementation
2019-07-06 22:05:45 -07:00
Syrus
d3d84cbc22
Formatted emscripten files
2019-07-06 17:46:48 -07:00
Syrus
15d1fd4bbb
Move emscripten pthread into its own module
2019-07-06 17:45:56 -07:00
Syrus
f5af920724
Added pthread_self emscripten method
2019-07-06 17:41:03 -07:00
Syrus
b1f868dc52
Enable shared memory in emscripten
2019-07-06 17:29:24 -07:00
Syrus
24e7c1b263
Updated compatibility with latest emscripten
2019-07-06 17:15:35 -07:00
Syrus Akbary
4d21d2485c
Merge branch 'master' into update-0.5.4
2019-07-06 00:53:02 -07:00
Syrus
5a2a3f65df
Trying to fix tests
2019-07-05 20:38:19 -07:00
Syrus
7a120f48d7
Fixed capi
2019-07-05 19:55:03 -07:00
Syrus
2569d3b40c
Added LLVM compiler to WASI tests
2019-07-05 19:27:33 -07:00
Syrus
b9237a9f00
Fixed WASI tests
2019-07-05 19:15:10 -07:00
Mark McCaskey
99ebb782dc
update to version 0.5.4
2019-07-05 13:35:55 -07:00
Syrus
9c2250dd41
Improved WASI path_readlink function signature
2019-07-05 03:27:13 -07:00
losfair
a3dcc0e240
Merge remote-tracking branch 'origin/master' into feature/osr
2019-07-04 23:56:45 +08:00
Mark McCaskey
535da4c34a
update to version 0.5.3 for wapm bug fix
2019-07-03 14:35:39 -07:00
losfair
02464991da
Cargo fmt
2019-07-04 01:45:54 +08:00
losfair
f32b22d571
Bkpt* -> Breakpoint*
2019-07-04 01:45:06 +08:00
losfair
7f28a4dbef
Cleanup constants and comments.
2019-07-04 01:42:11 +08:00
losfair
5c5ecfff7d
Rename alternative_stack
to fault
.
2019-07-04 01:27:19 +08:00
Mark McCaskey
83da82d844
update for release wasmer 0.5.2
2019-07-02 14:13:45 -07:00
nlewycky
edb674d84b
Merge branch 'master' into update-cranelift
2019-07-02 10:07:22 -07:00
Nick Lewycky
b8f0292c0a
Update to wasmpaser 0.32.1.
2019-07-02 10:00:19 -07:00
Nick Lewycky
75faae2912
Disable jump tables. We don't have an implementation of reloc_jt yet.
2019-07-02 09:55:46 -07:00
Mark McCaskey
d407606db4
fix issue with linux
2019-07-01 16:59:25 -07:00
Mark McCaskey
a4171892ea
move unix code to unix only location
2019-07-01 16:50:55 -07:00
Mark McCaskey
623bec001f
improve networking in emscripten
2019-07-01 16:36:30 -07:00
Nick Lewycky
adb257a40f
Reformat.
2019-07-01 16:15:13 -07:00
Nick Lewycky
9fc713f9b1
Update for new wasmparser.rs version.
2019-07-01 16:11:38 -07:00
nlewycky
35c2325571
Merge branch 'master' into update-cranelift
2019-07-01 15:30:35 -07:00
Nick Lewycky
fe38cc915b
Update to newer cranelift which also requires an update to wasmparser 0.31.0.
2019-07-01 15:27:17 -07:00
bors[bot]
fada36a72c
Merge #514
...
514: improve emscripten sockets and networking r=MarkMcCaskey a=MarkMcCaskey
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-07-01 20:29:52 +00:00
Mark McCaskey
6afc2e4fd9
fix warnings; rm dbg statements
2019-07-01 12:57:33 -07:00
Mark McCaskey
d825fe9eb2
remove unix-specific code from code windows sees
2019-07-01 11:42:50 -07:00
Mark McCaskey
01491fd986
add instance creation benchmark
2019-07-01 11:17:31 -07:00
losfair
c67405ffe5
Add workaround for singlepass miscompilation on GetLocal.
2019-07-01 21:20:35 +08:00
losfair
650f67a339
Merge remote-tracking branch 'origin/master' into feature/osr
2019-07-01 21:15:35 +08:00
losfair
adada7e751
Only print backtrace if frames are detected
2019-07-01 21:12:19 +08:00
Syrus
a2b723d37e
Added more emscripten dyncalls
2019-06-30 11:10:54 -07:00
losfair
614b3b9918
Run middlewares after begin_body
.
2019-06-30 11:50:21 +08:00
losfair
80509e3f78
Fix singlepass miscompilation.
2019-06-30 11:50:06 +08:00
Syrus
299d41cfea
Improved emscripten dyncalls
2019-06-29 17:39:01 -07:00
Mark McCaskey
4fcb3c4c83
improve emscripten sockets and networking
2019-06-28 17:14:00 -07:00
Syrus
6cc41f82c8
Fixed lseek error in Windows
2019-06-27 12:42:27 -07:00
Syrus
6aec631774
Improved lseek assignment
2019-06-27 12:37:29 -07:00
Syrus
73367ef6e9
Fixed cast alignment issue
2019-06-27 11:31:08 -07:00
Syrus
10eab1ca68
Improved code
2019-06-27 11:21:03 -07:00
Syrus
47e38f0b2a
Fixed formatting
2019-06-27 11:18:49 -07:00
Syrus
7ba646a792
Merge branch 'master' into feature/emscripten-fix-lseek
2019-06-27 11:15:22 -07:00
Syrus
dda438ebd1
Fixed lseek
2019-06-27 11:14:38 -07:00
losfair
db117d2f26
Cleanup internal logic.
2019-06-27 17:54:06 +08:00
losfair
1bd30bed4b
Implement XMM register reading on Linux.
2019-06-27 16:00:04 +08:00
losfair
967027003d
Full preemptive snapshot/resume.
2019-06-27 15:49:43 +08:00
losfair
f048dc2ff6
Cleanup & fix memory leaks.
2019-06-27 01:04:59 +08:00
losfair
63f9818cf6
Move more logic into runtime-core and add an interactive shell.
2019-06-27 00:41:07 +08:00
losfair
a792ac6a48
Wrap alternative stack functions properly.
2019-06-26 20:45:32 +08:00
losfair
183571927c
Merge remote-tracking branch 'origin/master' into feature/osr
2019-06-26 13:02:41 +08:00
losfair
f81464142a
Fix unused import error on Windows.
2019-06-26 12:56:37 +08:00
losfair
1bdf0d5ad7
Fix clippy error.
2019-06-26 12:50:34 +08:00
losfair
03e6311446
Require backend:singlepass for suspend/resume.
2019-06-26 12:46:01 +08:00
losfair
9b4343eac5
Fix compilation on Linux.
2019-06-26 12:33:50 +08:00
losfair
2373d371ae
Optimize backtraces.
2019-06-26 11:28:46 +08:00
Nick Lewycky
70247a0c6e
Simplify construction of floating point constants.
2019-06-25 16:05:22 -07:00
Nick Lewycky
55394b4f06
Void type in llvm may only be used as a function return type. You may not form a pointer to void or use it as a structure member.
...
Fixes assertion failure initializing llvm backend.
2019-06-25 16:05:22 -07:00
losfair
2730efcc6c
Cargo fmt
2019-06-26 01:39:30 +08:00
losfair
0937e53801
Fully persist program state.
2019-06-26 01:38:39 +08:00
losfair
3f2aeec9bc
Suspend & restore.
2019-06-25 20:01:56 +08:00
Syrus
d4634dfdb9
Removed unused llvm file
2019-06-25 01:40:15 -07:00
losfair
8303853227
Cargo fmt
2019-06-25 03:56:20 +08:00
losfair
fb7c3eee8a
Improve stack trace collection and rendering.
2019-06-25 03:55:33 +08:00
Mark McCaskey
09177ac3ae
update version numbers to 0.5.1, add changelog entry
2019-06-24 12:45:40 -07:00
losfair
73eb04d269
Merge remote-tracking branch 'origin/master' into feature/osr
2019-06-24 23:35:47 +08:00
Nick Lewycky
3e0a2a05e2
Fix typo in panic!
2019-06-18 15:15:49 -07:00
Nick Lewycky
e3af924391
Fix typo in comment. No functionality change.
2019-06-18 15:00:19 -07:00
Mark McCaskey
7bdfb2be51
update version numbers and changelog for 0.5.0
2019-06-17 12:56:28 -07:00
Syrus
5c64d8053f
Merge branch 'master' into command/pyodide
...
# Conflicts:
# CHANGELOG.md
2019-06-14 10:32:16 +02:00
Syrus
6467816ea8
Fixed asseertion of alignment
2019-06-14 10:27:06 +02:00
Syrus Akbary
13a2773372
Merge branch 'master' into command/pyodide
2019-06-14 10:09:53 +02:00
Ivan Enderlin
04c9d25194
Merge branch 'master' into fix-runtime-c-api-warnings
2019-06-14 10:07:53 +02:00
Syrus
95f39cedec
Fixed last linting issues
...
(hopefully)
2019-06-14 09:53:07 +02:00
Syrus
b9fa698a73
Assert alignment
2019-06-13 21:53:37 +02:00
Syrus
4059562560
Updated nightly version
2019-06-13 21:37:55 +02:00
Syrus
86b78c6b14
Fixed clippy issues
2019-06-13 21:32:05 +02:00
Syrus
7ebb90527c
Fixes remaining clippy issues
2019-06-13 21:23:41 +02:00
Syrus
675caf042c
Various lint fixes
2019-06-13 21:01:37 +02:00
Syrus
1560849e40
Fix lint errors and windows build
2019-06-13 20:46:05 +02:00
Syrus
8829e1d901
Make Python running 🎉
2019-06-13 14:05:57 +02:00
Syrus
58d75868f4
Fixed syscall220 alignment
2019-06-13 12:17:17 +02:00
Jesús Leganés-Combarro 'piranna
f12d6f8dd2
Merge branch 'command/pyodide' of github.com:wasmerio/wasmer into command/pyodide
2019-06-12 23:26:02 +02:00
Jesús Leganés-Combarro 'piranna
cc740040d2
Merge branch 'master' into command/pyodide
2019-06-12 22:52:05 +02:00
losfair
9585b89705
Fix bugs in state reading.
2019-06-12 23:54:15 +08:00
losfair
32008eba88
Read stack values based on state map.
2019-06-12 22:02:15 +08:00
Ivan Enderlin
63ec73aacc
fix(runtime-c-api) Remove deprecated types from libc.
...
Since https://github.com/rust-lang/libc/pull/1379 , fixed width integer
type aliases are deprecated. Thus, this patch uses Rust types instead
of libc aliases.
2019-06-12 12:10:49 +02:00
Ivan Enderlin
81d8e4ee2e
feat(runtime-c-api) Improve error message when compiling a module.
2019-06-12 11:35:29 +02:00
losfair
00b6bf632a
Dumping stack through import.
2019-06-12 13:38:58 +08:00
Syrus
109acd2fa3
Trying to fix ___syscall220
2019-06-12 01:01:47 +02:00
Syrus
6ce4f5dca4
Minor fixes
2019-06-12 00:13:06 +02:00
losfair
ddd0653a25
Make singlepass backend emit state mapping information.
2019-06-12 00:21:43 +08:00
Syrus
0b416e14c3
Improved syscall220 debug
2019-06-11 17:38:16 +02:00
losfair
da9bf05218
Machine state diff
2019-06-11 20:49:30 +08:00
Mark McCaskey
b36783fc50
remove duplicated code, wrap WasmPtr on wasi side
2019-06-11 11:10:42 +02:00
Mark McCaskey
7965ed2746
fix newly introduced bug in wasmptr array access
2019-06-10 13:32:33 +02:00
Jesús Leganés-Combarro 'piranna
d165763b4d
Merge branch 'master' into command/pyodide
2019-06-10 12:35:11 +02:00
Mark McCaskey
7a66a5285d
Merge branch 'master' into feature/better-memory-access-for-emscripten
2019-06-10 03:26:50 -07:00
Brandon Fish
c6786474a7
Add MiddlewareChain and StreamingCompiler to runtime
2019-06-09 23:24:10 -05:00
losfair
082b8376ae
State representation.
2019-06-09 21:21:18 +08:00
Jesús Leganés-Combarro 'piranna
5d93d9a904
Added fb
and gb
symbols
2019-06-08 19:53:21 +02:00
Jesús Leganés-Combarro 'piranna
ff21d9e95f
Merge branch 'master' into command/pyodide
2019-06-08 19:48:25 +02:00
losfair
61786a370a
Fix typo in machine
.
2019-06-08 22:56:13 +08:00
laizy
1780d57df1
add Mechine::release_locations_keep_state test
2019-06-08 22:25:20 +08:00
laizy
8105c0c16f
fix stack offset check
2019-06-08 15:03:56 +08:00
Brandon Fish
f6ecfa40cb
Merge branch 'master' into feature/metering
2019-06-06 23:33:31 -05:00
Brandon Fish
e87d507162
Add black_box to benchmarking
2019-06-06 23:30:31 -05:00
Brandon Fish
418764a15f
Add get/set gas used for benchmark
2019-06-06 23:25:11 -05:00
Syrus Akbary
98e04193af
Merge branch 'master' into feature/better-memory-access-for-emscripten
2019-06-06 18:03:55 -07:00
Mark McCaskey
811acd7e68
probably actually fix the wasi ptr array bug now
2019-06-06 16:19:15 -07:00
Mark McCaskey
d7ea46bab7
add wasmptr memory abstraction to emscripten; update wasi array access
2019-06-06 15:45:19 -07:00
Mark McCaskey
6f633cee6f
fix pointer casting lint in emscripten syscall191
2019-06-06 12:07:19 -07:00
Mark McCaskey
8df63b1b6e
fix bugs in emscripten socket syscalls
2019-06-06 11:55:05 -07:00
Jesús Leganés-Combarro 'piranna
a9bcb7d932
Merge branch 'master' into command/pyodide
2019-06-06 18:41:06 +02:00
losfair
c6cd49a370
Support getting/setting metering points and internal fields with a Ctx.
2019-06-06 14:10:57 +08:00
Brandon Fish
27eacf0c4f
Add metering benchmark
2019-06-06 00:37:04 -05:00
losfair
f5243aff5e
Cargo fmt
2019-06-05 11:52:25 +08:00
losfair
f2d8aad73a
Support checking the execution limit exceeded error.
2019-06-05 11:51:33 +08:00
losfair
0867208e0c
Implement {get,set}_points_used.
2019-06-05 02:28:19 +08:00
losfair
69944c1dc2
Fix ctx layout in LLVM.
2019-06-05 02:13:10 +08:00
losfair
66dcec91c4
Add comments for trampoline_x64
.
2019-06-05 01:59:20 +08:00
losfair
f4df568e41
Naming fixes and documentation for trampoline API.
2019-06-05 01:38:35 +08:00
losfair
f1b27d5774
Cargo fmt
2019-06-05 01:26:35 +08:00
losfair
669f76025c
Add callinfo trampoline into the C API.
2019-06-05 01:25:37 +08:00
losfair
b2869e181c
Cargo fmt
2019-06-05 01:11:54 +08:00
losfair
8a74399c6e
Add callinfo trampoline support.
2019-06-05 01:11:10 +08:00
losfair
06280e225e
Fix unused_imports error on lazy_static.
2019-06-03 15:31:42 -07:00
losfair
0a44add31c
Fix clippy errors.
2019-06-03 15:31:42 -07:00
losfair
d70cb9695e
Add trampoline-related functions to C API.
2019-06-03 15:31:42 -07:00
losfair
7808c68cb2
Cargo fmt
2019-06-03 15:31:42 -07:00
losfair
ae19e7f71b
Trampoline for calling with context.
2019-06-03 15:31:42 -07:00
Brandon Fish
66f9049a06
Reset LLVM related code to master
2019-06-02 19:36:26 -05:00
Brandon Fish
0c3109fb55
Update Makefile and test configuration
2019-06-02 15:43:02 -05:00
Brandon Fish
8fdc4f9bc2
Start documenting Metering
2019-06-02 15:42:25 -05:00
Brandon Fish
f9c8f41232
Remove points_limit and update tests
2019-06-02 13:37:51 -05:00
Brandon Fish
c020c39193
Move get/set points used to middleware
2019-06-02 13:21:00 -05:00
Brandon Fish
e533a8a7b5
Add tests for metering, add option to compiler config
2019-06-02 11:37:02 -05:00
Brandon Fish
995ecefa92
Cargo fmt
2019-06-02 09:49:21 -05:00
Brandon Fish
f029ea6231
Merge branch 'master' into feature/metering
2019-06-02 09:31:34 -05:00
Jesús Leganés-Combarro 'piranna
222b582207
Merge remote-tracking branch 'origin/master' into command/pyodide
2019-06-02 14:10:25 +02:00
Brandon Fish
3a00f779e8
Try using dependency git revision to see if it fixes CI dependency error
2019-06-01 15:29:49 -05:00
Brandon Fish
2860c4996c
Merge branch 'master' into feature/clif-cgapi
2019-06-01 12:04:20 -05:00
Brandon Fish
fd373dbf63
Add cache store, load, and execute test for cranelift and llvm
2019-06-01 11:35:26 -05:00
Brandon Fish
0567032bef
Merge branch 'master' into feature/clif-cgapi
2019-05-31 23:40:42 -05:00
losfair
c1e817b3fb
Add missing relaxed moves.
2019-05-31 19:29:28 +08:00
losfair
8019505e65
Merge remote-tracking branch 'origin/feature/clif-cgapi' into feature/metering
2019-05-31 15:40:05 +08:00
losfair
b834b4ff36
Metering for LLVM.
2019-05-31 15:36:08 +08:00
Mark McCaskey
6a9515d13d
improve wasi envvar test
2019-05-30 12:25:14 -07:00
Mark McCaskey
2a94a6933f
add envvar opt, add test, rm binaries from wasitests, clean up
2019-05-30 11:58:52 -07:00
Brandon Fish
b2e37cecfa
Merge branch 'master' into feature/clif-cgapi
2019-05-29 22:45:31 -05:00
Mark McCaskey
792ebc06fc
fix bug in wasi::environ_get, fix off by one error in env_size_get
2019-05-29 18:04:55 -07:00
Mark McCaskey
281c5ff45d
fix bugs in em mapdir, improve it for relative paths, use it more
2019-05-29 14:20:52 -07:00
Mark McCaskey
7a7aa4608a
fix emscripten regression tests
2019-05-29 11:41:29 -07:00
losfair
fd8675324c
Merge remote-tracking branch 'origin/master' into feature/metering
2019-05-29 11:16:05 +08:00
Mark McCaskey
6606a7c7b0
silence clippy on pointer alignment
2019-05-28 14:06:24 -07:00
Mark McCaskey
f8b94b7469
Merge remote-tracking branch 'origin/master' into feature/add-mapdir-for-emscripten
2019-05-28 13:48:12 -07:00
Mark McCaskey
3a4517d5d6
clean up code, verify it behaves the same as emscripten with js
2019-05-28 10:06:22 -07:00
Jesús Leganés-Combarro 'piranna
b78a8af228
Added missing functions for pyodide
...
Since Pyodide is focused on running on desktop, this pull-request lacks
Javascript runtime functions. It also sorted alphabetically some functions
2019-05-28 09:39:49 +02:00
Syrus
fe3db46173
Fixed time ptr
2019-05-27 12:47:15 -07:00
Syrus
12299cdbf0
Merge branch 'master' into feature/jq
2019-05-27 12:13:19 -07:00
Syrus
6fd6ad92fa
Trying to fix timegm
2019-05-27 12:09:04 -07:00
Brandon Fish
921e95035f
Cleanup expect messages used for debugging
2019-05-26 22:50:23 -05:00
Brandon Fish
00707ea849
Cleanup cranelift validation
2019-05-26 22:44:37 -05:00
Brandon Fish
3f0cafce5c
Remove old Cranelift compiler code
2019-05-26 22:32:11 -05:00
Brandon Fish
bf1cfc2578
Re-enable deny warnings in clif backend
2019-05-26 22:17:49 -05:00
Brandon Fish
f42ca84480
Add calling convention to function signatures
2019-05-26 14:44:17 -05:00
Brandon Fish
cc4b1871d0
Fix get global type
2019-05-26 14:15:30 -05:00
Brandon Fish
8069cdac16
Merge branch 'master' into feature/clif-cgapi
2019-05-26 12:04:45 -05:00
Brandon Fish
6ca311f92d
Fix compilation errors and warnings
2019-05-26 11:13:37 -05:00
Brandon Fish
5da0c4766a
Update to Arc<RwLock<ModuleInfo>> for interior mutability
2019-05-25 19:30:44 -05:00
Brandon Fish
d440776bc0
Update lifetime of function builder references
2019-05-25 18:06:41 -05:00
Mark McCaskey
fc15bc58f6
add mapdir for emscripten; implement getdents, etc.
2019-05-24 18:00:07 -07:00
Johan Andersson
8018453266
Update wasmparser 0.29.2 -> 0.30.0
2019-05-24 23:18:08 +02:00
Syrus
dd30595358
Trying to fix issues
2019-05-24 13:30:41 -07:00
Syrus
dd9c5774f3
Separate fpathconf from pathconf
2019-05-24 12:15:52 -07:00
Syrus
c7dceba0d8
Improved formatting
2019-05-24 12:09:00 -07:00
Syrus
e0895aadf1
Merge branch 'master' into feature/jq
2019-05-24 12:08:28 -07:00
Syrus Akbary
4dab51f620
Merge branch 'master' into feat-runtime-error
2019-05-24 11:18:50 -07:00
Syrus
02a92562f6
Removed zbox requirement
2019-05-24 10:13:08 -07:00
Ivan Enderlin
90676b5c5b
feat(runtime-c-api) wasmer_instantiate
raises the source error.
...
Instead of returning only “error instanting”, `wasmer_instantiate` can
return the real error message.
2019-05-24 14:24:00 +02:00
Brandon Fish
9f2e068ff4
Implement conversion of signatures into clif signatures
2019-05-23 20:04:55 -05:00
Syrus Akbary
dc6092edd5
Merge branch 'master' into feature/jq
2019-05-23 09:50:02 -07:00
losfair
68a8800f99
Temporarily use the original zbox.
2019-05-23 20:28:57 +08:00
losfair
9919dd73c8
Merge remote-tracking branch 'origin/master' into feature/metering
2019-05-23 20:18:11 +08:00
losfair
dcf52ef1a7
Cargo fmt
2019-05-23 20:10:34 +08:00
losfair
cf58305889
Dynamically allocate internal fields.
2019-05-23 20:10:17 +08:00
Brandon Fish
a713043360
Update translate_operator op argument
2019-05-22 23:46:38 -05:00
Mark McCaskey
dc3ac156a4
add test, update changelog
2019-05-22 15:57:12 -07:00
Mark McCaskey
b7abc44648
Prevent parent directory from being opened without being preopened wasi
2019-05-22 15:30:38 -07:00
Brandon Fish
5d3f6ea167
Fixing lifetime issues in clif codegen refactor
2019-05-22 17:21:16 -05:00
Ivan Enderlin
11f1bbaf9a
chore(runtime-c-api) Update C/C++ header files.
2019-05-22 16:45:59 +02:00
Ivan Enderlin
c92230e18e
fix(runtime-c-api) Lengths cannot be negative.
...
This patch prevents receiving negative length in various places.
2019-05-22 16:44:03 +02:00
Brandon Fish
04d6ccc95c
Pass module info to FCG as Arc
2019-05-21 23:44:31 -05:00
Syrus
f79ff8b542
Merge branch 'master' into feature/jq
2019-05-21 17:15:12 -07:00
bors[bot]
32c2ad1916
Merge #447
...
447: add trace macro for more verbose debug statements r=MarkMcCaskey a=MarkMcCaskey
The next step is to implement these in terms of `log`
Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <markmccaskey@users.noreply.github.com>
2019-05-21 19:28:34 +00:00
Mark McCaskey
3bedf6218c
Merge branch 'master' into feature/trace-macro
2019-05-21 11:44:50 -07:00
bors[bot]
699d65bddb
Merge #459
...
459: add realtime and monotonic clock support for wasi on windows r=MarkMcCaskey a=MarkMcCaskey
resolves #455
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-05-21 18:36:08 +00:00
bors[bot]
7b9e289f68
Merge #456
...
456: Command/openssl r=syrusakbary a=piranna
Mocks for missing functions needed by `openssl` command.
Co-authored-by: Jesús Leganés-Combarro 'piranna <piranna@gmail.com>
2019-05-21 18:23:59 +00:00
Mark McCaskey
deb00c886c
change to depend on winapi only on windows
2019-05-21 11:23:24 -07:00
Mark McCaskey
8857e6d320
move check with debug build higher in CI, fix bug in debug macro
2019-05-21 11:15:13 -07:00
Mark McCaskey
e989a86d33
properly handle bad input on windows clocks
2019-05-21 10:55:54 -07:00
Mark McCaskey
2a30fc3f1b
wrap call in unsafe, unconditionally depend on winapi
2019-05-21 10:41:40 -07:00
Mark McCaskey
736bddfe17
debug log error in windows clock, conditionally pull in winapi
2019-05-21 10:35:51 -07:00
Mark McCaskey
08b4b639f4
add realtime and monotonic clock support for wasi on windows
2019-05-21 10:24:06 -07:00
Jesús Leganés-Combarro 'piranna
490b94b814
Fix linting
2019-05-21 19:12:35 +02:00
Mark McCaskey
6b81ec0aa7
add mapdir regression test; add testfs; add arg passing system
2019-05-20 17:43:50 -07:00
Mark McCaskey
7cc967e709
flip order of args in mapdir
2019-05-20 16:46:08 -07:00
Mark McCaskey
be4dd453c2
clean up and fix bugs
2019-05-20 16:39:02 -07:00
Mark McCaskey
97a2237255
Merge branch 'master' into feature/map-dir
2019-05-20 15:23:13 -07:00
Mark McCaskey
f2001fea50
fix file creation ts for WASI Linux
2019-05-20 15:02:22 -07:00
Mark McCaskey
d7d17bd647
add expect to call entrypoint in wasi tests
2019-05-20 13:55:29 -07:00
Jesús Leganés-Combarro 'piranna
34e16d4a84
Move ucontext
related functions to their own namespace
2019-05-20 22:54:58 +02:00
Mark McCaskey
7a4b47d651
update compiled tests
2019-05-20 13:28:31 -07:00
Mark McCaskey
2c5f72805e
fix WASI clock bugs
2019-05-20 11:01:28 -07:00
Mark McCaskey
8a177363f4
fix file metadata wasi test
2019-05-20 09:24:55 -07:00
Brandon Fish
5db575e8ef
Fix clif_signatures in function codegen
2019-05-19 15:22:02 -05:00
Brandon Fish
db669f7eb7
Fix more codegen compilation issues
2019-05-19 15:01:25 -05:00
Jesús Leganés-Combarro 'piranna
8995060f9b
Mocks for _getcontext
, _makecontext
, _setcontext
and _swapcontext
2019-05-19 20:53:24 +02:00
Jesús Leganés-Combarro 'piranna
f8cfb04e29
_alarm()
2019-05-19 20:24:49 +02:00
Jesús Leganés-Combarro 'piranna
2eb5ca1e48
_gai_strerror()
2019-05-19 20:16:00 +02:00
Brandon Fish
d547beda72
Fix self.info compilation error in MCG.finalize
2019-05-19 13:05:35 -05:00
Jesús Leganés-Combarro 'piranna
7690febe77
getnameinfo()
2019-05-19 19:37:57 +02:00
Jesús Leganés-Combarro 'piranna
ad8178bb2a
[pthread] rwlock_destroy()
, rwlock_init()
and rwlock_wrlock()
2019-05-19 19:16:04 +02:00
Brandon Fish
e34e625009
Implement MCG.next_function in other backends
2019-05-19 11:45:16 -05:00
Brandon Fish
47479b547f
Implement MCG.{finalize, from_cache}
2019-05-19 10:53:33 -05:00
Brandon Fish
6d5dd5ff21
Implement more function codegen
2019-05-19 00:27:39 -05:00
Brandon Fish
2d10306c87
Add copyright notice
2019-05-18 16:32:22 -05:00
Brandon Fish
74a758d39e
Add progress on next_event
2019-05-18 16:31:08 -05:00
Syrus
8f345dc284
Updated imports required for jq. Added get_str method in VarArgs
2019-05-18 12:38:22 -07:00
Mark McCaskey
4b03abafcc
Merge branch 'master' into feature/map-dir
2019-05-17 16:24:26 -07:00
Mark McCaskey
4760840a77
move stdout capture from runtime core to dev-utils
2019-05-17 15:48:30 -07:00
Mark McCaskey
542e47ff82
add more wasi tests
2019-05-17 15:31:02 -07:00
Mark McCaskey
b3b5716dbb
add files in runtime_Core
2019-05-17 13:31:41 -07:00
Mark McCaskey
ec9c5360ef
move stdio capture into runtime_core; rm emscripten dep in wasi
2019-05-17 13:30:10 -07:00
Mark McCaskey
b9bb310215
add wasi regression test system
2019-05-17 12:09:31 -07:00
Mark McCaskey
f9beef276d
implement map-dir for WASI; fix bug in path_open
2019-05-16 17:35:13 -07:00
Syrus
4ddffb8285
Update libraries versions to 0.4.2
2019-05-16 14:39:13 -07:00
losfair
6aec1c4b5f
Use INTERNALS_SIZE
2019-05-17 01:33:33 +08:00
losfair
8e0d71b2bc
Fix missing internals
in test.
2019-05-17 01:32:41 +08:00
losfair
b830f10fa0
Update metering data on return
2019-05-17 01:20:09 +08:00
losfair
14fcd78b30
Update bin/wasmer and run cargo fmt.
2019-05-17 01:15:05 +08:00
losfair
e7297b9465
Update singlepass backend to support metering.
2019-05-17 01:11:22 +08:00
losfair
7e79dd2cfe
Metering middleware.
2019-05-17 01:10:45 +08:00
losfair
6aa87a0bbf
Add the internals
field and necessary structures for metering.
2019-05-17 01:10:21 +08:00
losfair
100039afd6
Merge remote-tracking branch 'origin/master' into feature/remote-code-load
2019-05-16 09:28:02 +08:00
losfair
b28992932e
Rename wasmer-kernel-net
to kernel-net
.
2019-05-16 09:22:40 +08:00
Mark McCaskey
83deae80dc
update changelog; clean up
2019-05-15 15:16:52 -07:00
Mark McCaskey
b2752735db
avoid opening files when not needed in WASI, check for write permissions
2019-05-15 15:11:29 -07:00
Mark McCaskey
a9f643f774
add trace macro for more verbose debug statements
2019-05-15 11:46:17 -07:00
Syrus
3bbf7753cb
Renamed kwasm-net to wasmer-kernel-net
2019-05-15 10:34:56 -07:00
Mark McCaskey
ace7a19a7b
apply base path update to wasi::path_filestat_get
2019-05-15 10:25:31 -07:00
losfair
a1a58d4a50
Merge remote-tracking branch 'origin/master' into feature/remote-code-load
2019-05-15 21:44:11 +08:00
losfair
d72abf3203
Rename kwasm-loader
to wasmer-kernel-loader
.
2019-05-15 21:43:19 +08:00
Brandon Fish
ac3fafae9a
Merge branch 'master' into feature/clif-cgapi
2019-05-14 23:01:28 -05:00
bors[bot]
03671ab5ac
Merge #442
...
442: Fix/misc wasi fs issues r=MarkMcCaskey a=MarkMcCaskey
resolves #434
Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <markmccaskey@users.noreply.github.com>
2019-05-15 00:40:50 +00:00
Mark McCaskey
216d09b7c7
Merge branch 'fix/misc-wasi-fs-issues' of github.com:wasmerio/wasmer into fix/misc-wasi-fs-issues
2019-05-14 17:40:09 -07:00
Mark McCaskey
c402c0350c
return EIO if internal data structures are corrupt
2019-05-14 17:39:19 -07:00
Mark McCaskey
593255021d
Merge branch 'master' into fix/misc-wasi-fs-issues
2019-05-14 16:42:42 -07:00
Mark McCaskey
87d9940a23
implement readdir!
2019-05-14 16:33:54 -07:00
Brandon Fish
89f3998b49
Merge branch 'master' into feature/fix-default_compiler-compilation
2019-05-14 18:22:44 -05:00
Brandon Fish
bef9f1244a
Return impl Compiler from default_compiler to fix compilation with features
2019-05-14 18:19:58 -05:00
Mark McCaskey
3bf550055f
rm from entry in fd_renumber -- thanks Brandon!
2019-05-14 15:10:01 -07:00
Mark McCaskey
84ea25241a
fix opening directories in path_open
2019-05-14 15:08:45 -07:00
Mark McCaskey
5114d42237
fix borrowing warning on nightly
2019-05-14 14:05:41 -07:00
Ivan Enderlin
8bd9bbb508
chore(runtime-c-api) Update C/C++ header files.
2019-05-14 16:19:32 +02:00
Ivan Enderlin
f04e77323b
fix(runtime-c-api) Update wasmer_export_func_params_arity
signature.
...
The `returns_len` argument type of `wasmer_export_func_returns_params`
must be `uint32_t` to match the `wasmer_export_func_returns_arity` results,
so that casts are not required.
2019-05-14 16:18:41 +02:00
Ivan Enderlin
53661385ed
chore(runtime-c-api) Update C/C++ header files.
2019-05-14 16:17:13 +02:00
Ivan Enderlin
91006bab53
fix(runtime-c-api) Update wasmer_export_func_params_arity
signature.
...
The `params_len` argument type of `wasmer_export_func_params_arity`
must be `uint32_t` to match the `wasmer_export_func_*_arity` results,
so that casts are not required.
2019-05-14 16:15:36 +02:00
losfair
fac4c452c6
Fix LLVM backend.
2019-05-14 18:49:02 +08:00
Ivan Enderlin
2b250c30f3
chore(runtime-c-api) Regenerate C/C++ header files.
2019-05-14 11:50:10 +02:00
Ivan Enderlin
f68379a6df
test(runtime-c-api) Use *_arity
variables when calling wasmer_export_func_call
.
2019-05-14 11:49:40 +02:00
Ivan Enderlin
d3c75a38fa
fix(runtime-c-api) wasmer_instance_call
types matches wasmer_export_func_*_arity
.
...
The `wasmer_export_func_params_arity` and
`wasmer_export_func_returns_arity` functions store the arity in a
`uint32_t`. The `wasmer_instance_call` expects `c_int`. There is a
type mismatch here. It's not annoying in C or C++, but in some other
languages that have bindings to C/C++, it can imply useless casting.
This patch changes `wasmer_instance_call` to expect `uint32_t` for
`params_len` and `results_len` to match the
`wasmer_export_func_*_arity` functions.
2019-05-14 11:46:43 +02:00
losfair
d641909c63
Fix clippy error
2019-05-14 17:13:17 +08:00
losfair
ee09209bfb
Fix clippy error.
2019-05-14 16:59:18 +08:00
losfair
d60e2377c1
Only compile kwasm-net for wasm32-wasi.
2019-05-14 16:45:26 +08:00
losfair
1e7a928d64
Add comments.
2019-05-14 16:13:42 +08:00
losfair
32f9aee6fe
Cargo fmt
2019-05-14 16:04:08 +08:00
losfair
722ea39877
Cleanup loader code.
2019-05-14 16:02:27 +08:00
losfair
2a160c74ad
Fix wasmer-runtime-core dependency version.
2019-05-14 15:47:19 +08:00
losfair
db9705f00c
Merge remote-tracking branch 'origin/master' into feature/remote-code-load
2019-05-14 15:46:15 +08:00
Heyang Zhou
2963b0a2eb
Make schedule()
faster.
2019-05-14 00:04:32 -07:00
Syrus
19eba19603
Merge branch 'master' into doc-runtime-c-api
...
# Conflicts:
# lib/runtime-c-api/src/lib.rs
2019-05-13 15:55:20 -07:00
Syrus
8218e550fc
Improved docs and fixed few typos
2019-05-13 11:18:57 -07:00
Syrus
5a6cb96714
Merge branch 'master' into docs/better-runtime-docs
...
# Conflicts:
# lib/runtime-core/src/vm.rs
2019-05-13 11:08:00 -07:00
Heyang Zhou
884a7e1713
kwasm-net fixes and optimizations.
2019-05-13 10:15:03 -07:00
Heyang Zhou
3bcdfb4263
Asynchronous networking extension.
2019-05-13 06:14:28 -07:00
Heyang Zhou
af1ac9af96
Improve performance of memory access.
2019-05-13 05:11:08 -07:00
Ivan Enderlin
b050144898
Merge branch 'master' into fix-runtime-c-api-error-length
2019-05-13 10:59:11 +02:00
Ivan Enderlin
8c8586faaa
test(runtime-c-api) Assert returned value from wasmer_last_error_message
.
2019-05-13 10:52:55 +02:00
Ivan Enderlin
bedd305b06
doc(runtime-c-api) Fix inline comment.
2019-05-13 10:52:43 +02:00
Brandon Fish
7315cd1100
Add some basic partial implementation of Cranelift codegen
2019-05-12 19:16:01 -05:00
bors[bot]
b2227314a7
Merge #436
...
436: Add deny for unreachable patterns and unused unsafe r=syrusakbary a=bjfish
Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-05-12 22:16:44 +00:00
Brandon Fish
d9cd4fc3e0
Add scaffold to use new code generator API for Cranelift
2019-05-12 11:05:26 -05:00
Brandon Fish
2aefa731a6
Add deny for unreachable patterns and unused unsafe
2019-05-12 00:33:02 -05:00
Brandon Fish
a96d5cb975
Fix f32/f64 conversion, add tests, and rename conversion method
2019-05-11 19:26:17 -05:00
Brandon Fish
85158ac22a
Add some initial deny for unused_imports and unused_variables
...
Additional unused variable fix on unix
Remove unused import on unix
Remove unused windows import
2019-05-11 09:23:25 -05:00
Mark McCaskey
02f3349cb1
clean up, update changelog
2019-05-10 10:58:06 -07:00
Mark McCaskey
a527154c62
major improvements to wasi fs calls; include explanation in unimpl!s
2019-05-10 10:54:36 -07:00
Ivan Enderlin
7d2721ef7a
fix(runtime-c-api) wasmer_last_error_message
returns the length + 1.
...
Returning the error message's length + 1 mimics the
`wasmer_last_error_length` function that counts the trailing null
byte.
2019-05-10 16:00:13 +02:00
Ivan Enderlin
1d555301f7
feat(runtime-c-api) Check buffer size before creating the slice.
...
It's safer to check the buffer size is large enough to hold the error
message before creating the slice from raw parts.
Also, this patch remove the need for `last_error`, simplifying the
code a little bit. The `length` variable is casted to `usize` once.
2019-05-10 15:55:02 +02:00
Mark McCaskey
1f99ef8377
implement some FS operations for rsign2
2019-05-09 16:01:36 -07:00
Brandon Fish
080220c6a7
Merge branch 'master' into feature/llvm-cgapi
2019-05-08 17:33:06 -07:00
Heyang Zhou
620a6ddd85
Disable memory bound checking for kernel loader.
2019-05-08 10:25:29 -07:00
Johan Andersson
36a78a23b6
Fix Windows crash on caching compiled artifact.
...
Memory clone function wasn't able to write to new reserved memory object.
Changed so allocating Memory objects with protection flag allocates commited memory.
2019-05-08 15:59:00 +02:00
Brandon Fish
54095fcd67
Clean up commented out code in LLVM codegen
2019-05-07 22:53:48 -05:00
Heyang Zhou
0bbd6e6970
Fix function offset.
2019-05-07 08:25:46 -07:00
losfair
e53d5a91ca
Remove transmutes.
2019-05-07 19:20:18 +08:00
Brandon Fish
9c0cbc9775
Remove previous LLVM parser code
2019-05-06 23:41:31 -05:00
Brandon Fish
87a94657d0
Merge branch 'master' into feature/llvm-cgapi
2019-05-06 22:39:20 -05:00
Mark McCaskey
e5dc94c7d6
update version number to 0.4.1
2019-05-06 18:02:39 -07:00
Mark McCaskey
e40b4a2c39
fix debug code
2019-05-06 14:58:44 -07:00
bors[bot]
94e6c7318f
Merge #424
...
424: Update emscripten to run JSC r=syrusakbary a=MarkMcCaskey
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-05-06 21:19:27 +00:00
Mark McCaskey
91d01d1c05
clean up warnings
2019-05-06 14:17:23 -07:00
Mark McCaskey
ab184aceea
Update emscripten to run JSC
2019-05-06 14:05:04 -07:00
bors[bot]
704c783b54
Merge #414
...
414: Exception logging (win32): Handle error codes correctly, add some more strings r=syrusakbary a=hrydgard
Ran into a situation with an unknown exception from Cranelift (will probably report that one separately). Turns out the signum was "1" though which does not seem to correspond to any of the Windows error codes, except possibly STATUS_GUARD_PAGE which is 0x80000001, but only if we lost the top bit somewhere.
On Windows, exceptions seemed to be trapped by callProtected, which is implemented here: cade9a666f/lib/win-exception-handler/exception_handling/exception_handling.c
. It did not seem to correctly store and retrieve the exception code, instead always returning 1: ```longjmp(jmpBuf, 1);```
So I fixed it. And now the log output looks like this:
```
unhandled trap at 1560d5e7bab - code #c0000005: segmentation violation
```
Co-authored-by: Henrik Rydgård <henrik.rydgard@embark-studios.com>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
Co-authored-by: Mackenzie Clark <mackenzie.a.z.c@gmail.com>
2019-05-06 19:54:21 +00:00
Pekka Enberg
089aab296d
codegen: Remove unused LoadError import
...
Rustc complains that:
warning: unused import: `parse::LoadError`
--> lib/runtime-core/src/codegen.rs:7:5
|
7 | parse::LoadError,
| ^^^^^^^^^^^^^^^^
|
2019-05-06 20:42:35 +03:00
Heyang Zhou
0895dc60c2
Check param count.
2019-05-06 09:19:56 -07:00
Heyang Zhou
b343fd40bc
Pass in param count for import functions in kernel loader.
2019-05-06 08:28:12 -07:00
Mackenzie Clark
10b4a08ca6
Merge branch 'master' into improve-exception-logging
2019-05-06 08:09:24 -07:00
Heyang Zhou
61510f8116
Enforce runtime memory and stack bound check when using kernel loader.
2019-05-06 07:15:30 -07:00
Brandon Fish
0926a5020e
Implement caching for parser refactor
2019-05-05 20:11:47 -05:00
Syrus
8f345e9e8c
Fixed ioctl in Unix. Fixed provied main arguments
2019-05-05 13:55:40 -07:00
Syrus
789af39f9e
Improved ioctl calls
2019-05-05 12:31:31 -07:00
Brandon Fish
4770277b15
Remove parser refactor commented out code, unused imports and fields
2019-05-05 14:28:40 -05:00
Syrus
f076c04b76
Moved from println to debug the emscripten entrypoint statement
2019-05-05 12:14:25 -07:00
Syrus
341766dee5
Fixed format
2019-05-05 12:09:55 -07:00
Syrus
2ba680ad2f
Improved rename function
2019-05-05 12:09:27 -07:00