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
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
nlewycky
dc437bb4e7
Fix typo in comment.
2019-11-05 11:31:14 -08:00
bors[bot]
c07e6058f9
Merge #929
...
929: Update __wasi_rights_t and __wasi_signal_t with published changes r=MarkMcCaskey a=MarkMcCaskey
Follow up to #926 ; fixes everything else listed at https://github.com/WebAssembly/WASI/pull/135
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-11-05 18:24:43 +00:00
bors[bot]
5f9670fc19
Merge #931
...
931: Build Metadata using the current Context. r=nlewycky a=nlewycky
Fixes #927 . Reverts #928 .
Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-11-05 00:27:52 +00:00
Nick Lewycky
1d8f2b767d
Build Metadata using the current Context.
...
Fixes #927 . Reverts #928 .
2019-11-04 15:27:38 -08:00
Mark McCaskey
ef5faccb76
Update __wasi_rights_t and __wasi_signal_t with published changes
2019-11-04 13:45:19 -08:00
bors[bot]
bbcccafc54
Merge #926 #928
...
926: Fix values of __wasi_advice_t r=nlewycky a=MarkMcCaskey
Issue identified in https://github.com/WebAssembly/WASI/issues/132 ;
928: Add workaround for #927 . r=MarkMcCaskey a=nlewycky
# Description
Add `--test-threads 1` to workaround #927 .
Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-11-04 19:20:34 +00:00
Mark McCaskey
aaa0160c95
Fix values of __wasi_advice_t
2019-11-04 10:48:42 -08:00
bors[bot]
69cc2f60bb
Merge #920
...
920: Export WasmPtr from wasmer_runtime r=MarkMcCaskey a=MarkMcCaskey
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-11-04 18:46:13 +00:00
Nick Lewycky
c0c7661c65
Merge branch 'master' of github.com:wasmerio/wasmer into feature/llvm-tbaa
2019-11-01 17:53:52 -07:00
Nick Lewycky
132757ee9d
Fix leak. Only create one NamedMDNode for each name.
2019-11-01 17:49:45 -07:00
Mark McCaskey
8d95e637f2
Add probable fix of memory leak in trampoline code
2019-11-01 17:38:43 -07:00
bors[bot]
d8888c9459
Merge #911
...
911: Don't emit bounds checks when the offset is known at compile time to be less than the minimum memory size. r=nlewycky a=nlewycky
Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-11-01 19:53:17 +00:00
Nick Lewycky
20270411d9
When the const memory access is not larger than the minimum, use a runtime check.
...
The memory may have grown.
2019-11-01 12:49:54 -07:00
Nick Lewycky
ef4b3c3428
Improve some TBAA label names, particular for memory.
...
Memory can't change between static and dynamic, so use that in the TBAA label
name.
Distinguish between local and imported memory, table and globals.
2019-10-31 12:40:32 -07:00
nlewycky
0e665c4001
Merge branch 'master' into feature/llvm-tbaa
2019-10-31 11:55:31 -07:00
Nick Lewycky
0ba686ffc6
Improve wording a little.
2019-10-31 11:50:33 -07:00
Nick Lewycky
88427c9696
Add some comments.
2019-10-31 11:48:52 -07:00
Ivan Enderlin
2703d48098
Merge branch 'master' into feat-runtime-core-host-function-without-vmctx
2019-10-31 10:59:16 +01:00
bors[bot]
fb0615dc02
Merge #915
...
915: fix(runtime-core) Share the definition of `Trampoline` across all the backends r=Hywan a=Hywan
Extracted from https://github.com/wasmerio/wasmer/pull/882 .
This patch updates all the backends to use the definition of
`Trampoline` as defined in the `wasmer_runtime_core::typed_func`
module. That way, there is no copy of that type, and as such, it is
easier to avoid regression (a simple `cargo check` does the job).
This patch also formats the `use` statements in the updated files.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-10-31 09:13:42 +00:00
Nick Lewycky
d10d54a416
Add TBAA to atomic ops.
2019-10-30 16:39:39 -07:00
Nick Lewycky
15ce8bfda7
Label the loads in intrinsics.rs, most of which are the initial accesses off the context.
...
Move tbaa_label to intrinsics.rs. Move TBAA pass to first in the list, it doesn't get invalidated. Add TBAA labels for internal fields.
2019-10-30 16:18:36 -07:00
Mark McCaskey
25bcadbf74
Export WasmPtr from wasmer_runtime
2019-10-30 16:09:48 -07:00
Nick Lewycky
74eaec968e
Remove all *_tbaa fields from LLVMModuleCodeGenerator and LLVMFunctionCodeGenerator.
2019-10-30 14:05:11 -07:00
Nick Lewycky
e7d1742c63
Update module to be held by Rc<RefCell<>> so that we can pass it to LLVMFunctionCodeGenerator.
...
Use that to generate distinct TBAA labels for distinct local variables.
2019-10-30 13:11:29 -07:00
Ivan Enderlin
6a1d490a30
doc(runtimecore) Explain ExternalFunctionKind
with more details.
2019-10-30 19:34:04 +01:00
Ivan Enderlin
7eef49be12
test(runtime-core) Test host functions without a vm::Ctx
argument.
2019-10-30 19:34:04 +01:00
Ivan Enderlin
95e1b85c56
feat(runtime-core) Allow host functions without an explicit vm::Ctx
argument.
...
This patch allows host functions to get a signature without an
explicit `vm::Ctx` argument.
It is for Rust only. The C API receives a function pointer and has no
clue whether a `vm::Ctx` argument is present or not, so it assumes it
is always declared.
From the backend point of view, the pointer to `vm::Ctx` is always
inserted in the stack, but it is not used by the function when the
argument is absent.
2019-10-30 19:34:04 +01:00
Ivan Enderlin
bd9d4d9cc8
test(runtime-core) Add tests for the Func
structure.
2019-10-30 19:34:04 +01:00
Ivan Enderlin
77e01f01bd
chore(runtime-core) Use vm::Ctx
to access it.
...
Just to be consistent with the rest of the code.
2019-10-30 19:34:04 +01:00
Nick Lewycky
f77d9bfe32
Initial implementation of TBAA for the LLVM backend.
2019-10-30 10:29:51 -07:00