940: Update supported Rust version to 1.38 r=MarkMcCaskey a=MarkMcCaskey
Bump stable version to latest release - 1
Co-authored-by: Mark McCaskey <mark@wasmer.io>
935: Apply TBAA to the correct instruction. r=nlewycky a=nlewycky
Another instance of the bug in PR #933.
Co-authored-by: Nick Lewycky <nick@wasmer.io>
933: Apply TBAA to the correct instruction. r=syrusakbary a=nlewycky
Caught by LLVM verifier complaining about !tbaa on a getelementptr.
Co-authored-by: Nick Lewycky <nick@wasmer.io>
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.
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.
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>
921: Apply TBAA metadata in the LLVM backend. r=nlewycky a=nlewycky
# Description
Inform LLVM that the pointers to memory, globals, locals, etc., are distinct.
# Review
- [x] Add a short description of the the change to the CHANGELOG.md file
Co-authored-by: Nick Lewycky <nick@wasmer.io>
Co-authored-by: nlewycky <nick@wasmer.io>