2182 Commits

Author SHA1 Message Date
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
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.tomls 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
Brandon Fish
af12bf4f68
Merge branch 'master' into feature/deny-missing-docs-clif-backend 2019-11-12 11:43:54 -06: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
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