losfair
a7577dfcef
Try further reducing preallocated stack size.
2019-11-20 00:37:38 +08:00
bors[bot]
e8e460ec60
Merge #977
...
977: fix(runtime-core) Remove unnecessary implementation of `WasmTypeList` r=Hywan a=Hywan
The unit tests `test_func_arity_*` covers all possibilities, from 0 to
12. Removing this specific implementation of `WasmTypeList` for `(A,)`
doesn't break the test cases.
Also, the `impl_traits!` macro already implement `WasmTypeList` for
`(A,)` with `impl_traits!([transparent] S1, A)`. It's not clear why
`rustc` doesn't detect that though.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-11-19 14:07:37 +00:00
Ivan Enderlin
dbefa165dc
Merge branch 'master' into fix-runtime-core-clean-up-typed_func
2019-11-19 14:35:11 +01:00
Ivan Enderlin
b856e111b6
Merge branch 'master' into test-runtime-core-typed_func
2019-11-19 14:34:53 +01:00
bors[bot]
8ffd380006
Merge #973
...
973: Add sign extension spec tests; add sign extension to singlepass r=nlewycky a=MarkMcCaskey
Adds missing spectests from official repo, implements instructions for singlepass
# Review
- [ ] Add a short description of the the change to the CHANGELOG.md file
Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <5770194+markmccaskey@users.noreply.github.com>
2019-11-18 22:16:49 +00:00
Mark McCaskey
8a096a09e4
Remove extra register use in sign extension instructions
2019-11-18 11:47:58 -08:00
bors[bot]
e568c4a374
Merge #972
...
972: Prepare for 0.10.2 release r=MarkMcCaskey a=MarkMcCaskey
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-11-18 19:44:33 +00:00
Mark McCaskey
344132cc89
Merge branch 'master' into feature/singlepass-sign-extension
2019-11-18 11:38:12 -08:00
Mark McCaskey
8b6a7b77fc
Clean up from feedback
2019-11-18 11:36:49 -08:00
losfair
8ebf8986f0
Reduce stack size.
2019-11-19 03:15:12 +08:00
losfair
2776daedfa
Fix entry with more than 5/6 arguments.
2019-11-19 03:04:07 +08:00
losfair
ddbdb3e585
Ignore extra arguments.
2019-11-19 02:46:31 +08:00
losfair
06a7e5424b
Inline entry trampolines.
2019-11-19 02:39:51 +08:00
Mark McCaskey
2cbc748188
Revert "Update Rust version to 1.39.0."
2019-11-18 09:59:07 -08:00
losfair
d7308c361d
Fix call_indirect on imported functions.
2019-11-19 01:25:01 +08:00
losfair
23f03f555b
Fix compilation failure in tiering.rs.
2019-11-18 23:10:49 +08:00
Ivan Enderlin
f6cb6ce286
fix(runtime-core) Remove a warning for unused_parens
.
...
The behavior of `unused_parens` has changed since Rust 1.39. A warning
is then raised. This patch fixes that.
2019-11-18 12:44:40 +01:00
Ivan Enderlin
85a53e8e1f
test(runtime-core) Test closures in Func::new
.
2019-11-18 12:44:00 +01:00
Ivan Enderlin
4e42fa1e48
fix(runtime-core) Remove unnecessary implementation of WasmTypeList
.
...
The unit tests `test_func_arity_*` covers all possibilities, from 0 to
12. Removing this specific implementation of `WasmTypeList` for `(A,)`
doesn't break the test cases.
Also, the `impl_traits!` macro already implement `WasmTypeList` for
`(A,)` with `impl_traits!([transparent] S1, A)`. It's not clear why
`rustc` doesn't detect that though.
2019-11-18 12:22:17 +01:00
losfair
1eed6ce8f8
Fix CONSTRUCT_STACK_AND_CALL_WASM for aarch64.
2019-11-18 02:06:31 +08:00
losfair
5d2ee4fcc8
Fix floating point comparision involving NaNs.
2019-11-18 01:39:44 +08:00
losfair
cbaa94a7fa
Fix movsx(S32, S64).
2019-11-18 01:08:39 +08:00
losfair
08beb99baa
Fix popcnt.
2019-11-17 05:15:10 +08:00
losfair
021a75244e
Reformat code for rust 1.39.
2019-11-17 04:39:39 +08:00
losfair
1db6425cd5
Merge remote-tracking branch 'origin/master' into feature/singlepass-aarch64
2019-11-17 04:36:22 +08:00
Mark McCaskey
7631aee4f4
Add sign extension spec tests; add sign extension to singlepass
2019-11-15 21:54:34 -08:00
anb
3b2d751c55
Enable compilation for specific target
...
By exposing the target information through `CompilerConfig`,
compiler(only LLVM at the moment) could create a machine with
different CPU feature flags other than current host, which makes it
capable to "cross compile" to some degree.
Update #959
2019-11-15 18:51:59 -08:00
Mark McCaskey
cebcb4c927
Prepare for 0.10.2 release
2019-11-15 14:55:53 -08:00
Nick Lewycky
ebe8da7bd3
When accessing memory, use byte aligned accesses.
...
LLVM's instcombine will attempt to bump the alignment when it can prove that it's safe to do so.
Fixes #969 .
2019-11-15 14:47:53 -08:00
bors[bot]
4a2eaa4143
Merge #966
...
966: Add deny missing docs to runtime lib r=bjfish a=bjfish
<!--
Prior to submitting a PR, review the CONTRIBUTING.md document for recommendations on how to test:
https://github.com/wasmerio/wasmer/blob/master/CONTRIBUTING.md#pull-requests
-->
# Description
<!--
Provide details regarding the change including motivation,
links to related issues, and the context of the PR.
-->
Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-11-14 18:16:03 +00:00
losfair
342974effd
Comment out failing test.
2019-11-15 00:23:10 +08:00
losfair
a9c89eb1a8
Merge remote-tracking branch 'origin/master' into feature/singlepass-aarch64
2019-11-14 23:46:15 +08:00
Ivan Enderlin
074a8f9747
Merge branch 'fix-runtime-c-api-header-preprocessor-clang' of github.com:Hywan/wasmer into fix-runtime-c-api-header-preprocessor-clang
2019-11-14 14:46:09 +01:00
Ivan Enderlin
c43a7c78d0
Merge branch 'master' into fix-runtime-c-api-header-preprocessor-clang
2019-11-14 14:45:27 +01:00
Ivan Enderlin
987b0765c0
chore(runtime-c-api) Update header files.
2019-11-14 14:37:55 +01:00
Ivan Enderlin
42b02bee71
fix(runtime-c-api) Write macros at column 0.
2019-11-14 14:37:06 +01:00
Brandon Fish
929bff9df8
Add deny missing docs to runtime lib
2019-11-13 22:59:21 -06:00
bors[bot]
fff16c08d0
Merge #965
...
965: Add categories and keywords to `Cargo.toml`s r=MarkMcCaskey a=MarkMcCaskey
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-11-13 23:47:56 +00:00
Mark McCaskey
9127eaf825
Add categories and keywords to Cargo.toml
s
2019-11-13 15:46:09 -08:00
Ivan Enderlin
c4dffd6f59
doc(runtime-core) Fix typos.
2019-11-13 15:55:45 +01:00
Ivan Enderlin
7b809a765f
doc(runtime-core) Improve documentation of func!
.
...
This patch explains that `func!` can consume closures.
2019-11-13 15:54:41 +01:00
Ivan Enderlin
82e4d8e6cc
feat(runtime-core) func!
supports closures.
...
This patch allows to write:
```rs
func!(|…| -> … { … })
```
2019-11-13 15:54:09 +01:00
Ivan Enderlin
4e4663cc98
Merge branch 'master' into fix-runtime-c-api-header-preprocessor-clang
2019-11-13 15:53:01 +01:00
Ivan Enderlin
be9d7f2e6e
chore(runtime-c-api) Update header files.
2019-11-13 15:29:33 +01:00
Ivan Enderlin
b081d17ab0
feat(runtime-c-api) Add support for clang in WASMER_H_MACROS
.
2019-11-13 15:28:57 +01:00
Ivan Enderlin
645519c29c
fix(runtime-c-api) Use #if defined
instead of #ifdef
.
2019-11-13 15:28:04 +01:00
Ivan Enderlin
8f20a28ab1
Merge branch 'master' into feat-runtime-core-field-offset
2019-11-13 13:22:41 +01:00
losfair
605ada7ad7
Run cargo fmt.
2019-11-13 14:53:34 +08:00
losfair
08a1dd3e8c
Merge master and add documentation.
2019-11-13 14:52:22 +08:00
losfair
e2956e7b1a
Run cargo fmt
2019-11-13 14:34:04 +08:00
losfair
47f1e2a4ef
Fix parameter loading.
2019-11-13 14:18:21 +08:00
losfair
c552514fd2
Disable NaN canonicalizing on aarch64.
2019-11-13 11:35:44 +08:00
Mark McCaskey
064ffd3938
Merge branch 'master' into feature/add-support-for-new-wasi
2019-11-12 17:04:55 -08:00
Mark McCaskey
2b2a0628f7
Update from feedback, improve docs on new wasi fns
2019-11-12 17:02:07 -08:00
Mark McCaskey
f1e5cd39d8
Add support for new WASI snapshot, backwards compat too
2019-11-12 13:01:03 -08:00
Brandon Fish
af12bf4f68
Merge branch 'master' into feature/deny-missing-docs-clif-backend
2019-11-12 11:43:54 -06:00
losfair
f1339b4033
Fix known_registers size.
2019-11-13 01:00:27 +08:00
Ivan Enderlin
a1e8a8f0db
fix(runtime-core) Same bug with field-offset
as before.
...
It will be fixed in a following PR.
2019-11-12 15:17:36 +01:00
Ivan Enderlin
0775d496d3
feat(runtime-core) Replace the field-offset
crate by a custom offset_of!
macro.
...
The `field-offset` crate is unmaintained. When using its `offset_of!`
macro on a struct with a field of type `std::ptr::NonNull`, in release
mode, it generates a sigill.
This patch removes the `field-offset` crate, and implements a custom
`offset_of!` macro.
2019-11-12 15:12:31 +01:00
Ivan Enderlin
89859a9ab5
Merge branch 'master' into feat-runtime-core-clos-host-function
2019-11-12 14:36:33 +01:00
Ivan Enderlin
0de7f4fd0b
test(runtime-core) offset_of!
fails with a struct containing NonNull
types.
...
It fails only in release mode. That's a bug from the `field-offset`
crate. This patch is a temporary fix.
2019-11-12 14:34:55 +01:00
Brandon Fish
91b5059506
Deny missing docs in the clif backend crate
2019-11-11 20:05:04 -06:00
Mark McCaskey
69950d9e5f
Prepare for 0.10.1 release
2019-11-11 16:22:37 -08:00
Ivan Enderlin
22abd8efdc
doc(runtime-core) Add missing doc on vm::FuncCtx
.
2019-11-12 01:10:32 +01:00
Ivan Enderlin
cf33bf8b20
Merge branch 'master' into feat-runtime-core-clos-host-function
2019-11-12 00:58:24 +01:00
Ivan Enderlin
95706160ee
Merge branch 'master' into feat-runtime-core-clos-host-function
2019-11-12 00:55:40 +01:00
Ivan Enderlin
bb81614be4
feat(llvm-backend) Update ImportedFunc
structure.
...
`vm::ImportedFunc` in `runtime-core` has changed. Update LLVM accordingly.
2019-11-12 00:52:14 +01:00
Ivan Enderlin
06c6b3c8e8
feat(runtime-core) More ABI compatible definition of Func
and FuncEnv
.
2019-11-12 00:52:14 +01:00
Ivan Enderlin
11f34a9285
feat(clif-backend,singlepass-backend) Feed imported functions with FuncCtx.vmctx
.
2019-11-12 00:51:57 +01:00
Ivan Enderlin
98e4ef066a
feat(runtime-core) Feed imported functions with vm::Ctx
again.
...
… and look for the associated `vm::FuncCtx`. This way, we don't break
the rule: “all functions receive a vmctx pointer as first argument.”.
2019-11-12 00:50:25 +01:00
Mark McCaskey
e121c47f18
Generate C preprocessor code to hide things not on Windows
2019-11-11 14:47:25 -08:00
Mark McCaskey
0a216c0779
Prepare for 0.10.0 release
2019-11-11 12:13:53 -08:00
bors[bot]
25ebbaae3d
Merge #923
...
923: Add probable fix of memory leak in trampoline code r=MarkMcCaskey a=MarkMcCaskey
might be what's needed for #810 ; but despite my best efforts I could not get asan working on osx, so I did not test it.
By my count this accounts for 40 bytes, so there may be another issue
edit: unless Rust is optimizing out turning a zero-sized type into a Box, in which case, this should account for 48 bytes
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-11-11 18:57:12 +00:00
bors[bot]
8233f4cae4
Merge #941
...
941: Emit direct calls for local functions. r=nlewycky a=nlewycky
Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-11-11 17:52:10 +00:00
Brandon Fish
a74acb7a8a
Add missing rustdoc for macro debug
2019-11-10 16:28:33 -06:00
Brandon Fish
ea3b6fa6d7
Add missing rustdocs for Windows code
2019-11-10 16:03:43 -06:00
Brandon Fish
82ec5e970a
Add additional rustdocs for missing docs found during CI
2019-11-10 15:16:07 -06:00
Brandon Fish
2d00b2589e
Update with PR review suggestions
2019-11-10 14:37:36 -06:00
Brandon Fish
1f9316b5ae
Update Protect enum with suggestions
2019-11-10 14:31:36 -06:00
Brandon Fish
328ab0a93b
Remove macro identifiers which don't work in rustdoc comments
2019-11-10 13:43:39 -06:00
Brandon Fish
aad390d09d
Deny missing docs in runtime core and add missing docs
2019-11-10 13:13:18 -06:00
losfair
03c5614203
Rerun cargo fmt
2019-11-11 02:00:16 +08:00
losfair
03a9d1ad60
Cargo fmt
2019-11-11 01:43:16 +08:00
losfair
7d5699c19d
Add missing instructions for aarch64.
2019-11-11 01:43:01 +08:00
losfair
899fbed35d
Merge master.
2019-11-11 01:42:43 +08:00
Mark McCaskey
adc9f3d479
Explicitly delete temp file in fd_append test
2019-11-08 16:33:08 -08:00
Nick Lewycky
ed6ce4b9b4
Don't create functions for imports, we still call those indirectly.
2019-11-08 14:44:59 -08:00
Nick Lewycky
2957b6abd8
Emit direct calls for local functions, but not for imports.
2019-11-08 14:44:50 -08:00
Syrus Akbary
3341528f71
Merge branch 'master' into fix/wasi-append
2019-11-08 14:21:24 -08:00
Nick Lewycky
674a70fa05
Create function declarations before starting the body of the first function.
2019-11-08 13:13:58 -08:00
Mark McCaskey
a94fabf56e
Update supported Rust version to 1.38
2019-11-08 11:40:53 -08:00
Mark McCaskey
64783423ea
Fix WASI append bug, add test
2019-11-08 11:17:04 -08:00
Nick Lewycky
dccaa3a285
Apply TBAA to the correct instruction.
...
Another instance of the bug in PR #933 .
2019-11-07 12:42:29 -08:00
Ivan Enderlin
ba87af5b1a
feat(runtime-core) Ability for an export function to get a func env.
2019-11-07 20:44:17 +01:00
Ivan Enderlin
2e05104d45
fix(runtime-core) Introduce Context::ExternalWithEnv
.
...
Host functions use `Context::External` with a `*mut vm::FuncCtx`
pointer, casted to `*mut vm::Ctx`. It creates a conflict with exports
that also use `Context::External`.
This patch introduces `Context::ExternalWithEnv` to create a specific
path in the code for an external context with `*mut vm::FuncEnv`.
This patch fixes all the `linking.wast` tests in the spectests.
2019-11-07 14:32:19 +01:00
Ivan Enderlin
dfaad35f8d
fix(spectests) Remove a warning.
2019-11-07 14:31:43 +01:00
Nick Lewycky
203efd0c06
Apply TBAA to the correct instruction.
...
Caught by LLVM verifier complaining about !tbaa on a getelementptr.
2019-11-06 23:25:39 -08:00
losfair
50c30ab212
runtime-core: Support cross-compilation.
2019-11-07 01:30:45 +08:00
losfair
001213716e
Add fneg.
2019-11-07 01:30:27 +08:00
losfair
6135a004a4
Add itruncf/fconverti fast path.
2019-11-07 01:11:25 +08:00