Mark McCaskey
ddccdb92b8
More fixes for CI
2019-11-21 11:30:44 -08:00
Mark McCaskey
be217e8f8e
Update from feedback, fix CI issues, update wasi-test
2019-11-21 10:57:04 -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
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
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
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
Ivan Enderlin
cf74b68c37
Merge branch 'master' into feat-runtime-core-clos-host-function
2019-11-06 14:48:47 +01:00
Ivan Enderlin
6f84a6f15b
test(runtime-core) Remove a warning in tests.
2019-11-06 14:48:47 +01:00
Ivan Enderlin
5ccaf12b2a
doc(runtime-core) Fix inline documentations.
2019-11-06 14:48:47 +01:00
Ivan Enderlin
c4c88f8af5
fix(runtime-core) Remove undefined behavior with mem::transmute
.
...
In the `wrap` functions, we use `std::mem::transmute(&())` to get the
pointer to the value “around” `wrap` (`Fn` has a method `to_raw` which
declares a `wrap` function, which uses `transmute` to retrieve
`Fn`). This is an undefined behavior. It was working until the
`FuncCtx` is introduced. Since then, the undefined behavior was
causing an error with the Singlepass backend.
This patch stores the pointer to `Fn` in `func_env`, so that the
pointer to the user-defined host function is always predictable.
2019-11-06 14:48:46 +01:00
Ivan Enderlin
a4ba429ed0
feat(singlepass-backend) Inject FuncCtx
to the function pointer of an host function.
2019-11-06 14:48:46 +01:00
Ivan Enderlin
215e4458f0
Merge branch 'master' into feat-runtime-core-clos-host-function
2019-11-06 14:48:46 +01:00
Ivan Enderlin
a9e0e9baeb
test(runtime-core) Write more documentation.
2019-11-06 14:48:46 +01:00
Ivan Enderlin
293b71ac54
doc(runtime-core) Write more documentation.
2019-11-06 14:48:46 +01:00
Ivan Enderlin
0f82cd3c40
doc(runtime-core) Write more documentation.
2019-11-06 14:48:46 +01:00