Commit Graph

402 Commits

Author SHA1 Message Date
Mark McCaskey
f8b67c743a Remove REVIEW request comments 2021-05-12 10:14:58 -07:00
Mark McCaskey
1082fe1692 Clean up LLVM SIMD changes 2021-05-12 08:10:54 -07:00
Mark McCaskey
88d2ac9626 Fix bug in I32x4TruncSatF64x2SZero
We need to use LEF64, not LEF32, when dealing with f64s
2021-05-11 14:47:44 -07:00
Mark McCaskey
20297858ed Implement I16x8Q15MulrSatS in compiler LLVM 2021-05-11 14:37:59 -07:00
Mark McCaskey
da86e69a45 Implement all but 2 new SIMD ops in compiler LLVM 2021-05-11 11:14:25 -07:00
Mark McCaskey
2f5f9d9e48 Implement most of the rest of the new SIMD in llvm 2021-05-11 09:49:48 -07:00
Mark McCaskey
17c27f1d15 Implement new SIMD instructions in compiler LLVM 2021-05-07 11:21:13 -07:00
Mark McCaskey
d699e61083 Implement bulk memory instructions in compiler-llvm 2021-05-06 09:07:51 -07:00
Nick Lewycky
41561a45d8 Move back to object 0.23.
There's nothing wrong with 0.24 but we have a dependency on 0.23 through 'backtrace' which is used by wasmer-engine, and we'd like to only have one copy.
2021-05-03 17:03:30 -07:00
Nick Lewycky
18732e4b65 cargo fmt 2021-05-03 16:45:03 -07:00
Nick Lewycky
3339b76414 Use symbolic name instead of number for relocation. 2021-05-03 16:39:49 -07:00
Nick Lewycky
bab4e53c58 Remove commented-out implementation of ElfSectionIndex. 2021-05-03 16:25:27 -07:00
Nick Lewycky
06407e327f Remove goblin, use object. 2021-05-03 16:23:48 -07:00
Mark McCaskey
20758ea8af Update wasmparser to 0.77 2021-04-29 09:22:14 -07:00
Mark McCaskey
c634cdcc2e Add TypedSelect support to Singlepass + LLVM
Missed this in the reftypes PR
2021-04-28 10:03:07 -07:00
Syrus Akbary
cb66b5293d Improved middleware logic 2021-04-27 14:00:25 -07:00
Syrus Akbary
2df5854e37 Make compilers to take non-mutable inputs 2021-04-26 21:14:23 -07:00
Syrus Akbary
ae20af8426 Add middleware accessor in compiler 2021-04-26 16:52:31 -07:00
Syrus Akbary
9be59f809f Use FunctionBinaryReader instead of Middleware 2021-04-26 16:40:54 -07:00
k-nasa
40ee361586 fix favicon 2021-04-24 15:34:44 +09:00
Mark McCaskey
8149453ff5 Merge branch 'master' into feature/reference-types 2021-03-31 08:42:26 -07:00
Mark McCaskey
74a0550101 Fix bug in i64.rotr X 0 in compiler-llvm, add wasmer wast tests 2021-03-26 09:59:46 -07:00
François Garillot
b832de05df Simplifies a few pattern-matches
... which have a direct combinator equivalent on Option / Result.

Tool-aided by [comby-rust](https://github.com/huitseeker/comby-rust).
2021-03-24 07:18:26 -07:00
Mark McCaskey
ef60f08740 Merge branch 'master' into feature/reference-types 2021-03-23 09:42:34 -07:00
Ivan Enderlin
e1e2f03c7c fix: Rename lib/wasmer-types/ to lib/types/. 2021-03-23 17:36:58 +01:00
Ivan Enderlin
4b752ed498 chore: Use loupe 0.1.0. 2021-03-23 11:18:31 +01:00
Ivan Enderlin
2afed4d813 feat: Use latest version of loupe. 2021-03-22 11:43:46 +01:00
Ivan Enderlin
026520998c feat: Start implementing loupe::MemoryUsage on wasmer::Store. 2021-03-22 11:42:28 +01:00
Mark McCaskey
94374e4e98 Update is_sret in compiler-llvm for aarch64 2021-03-17 13:25:18 -07:00
Mark McCaskey
9e4801da79 Fix up llvm code linking to new VM symbol names 2021-03-17 12:35:35 -07:00
Mark McCaskey
2a541e072b Merge branch 'master' into feature/reference-types 2021-03-16 12:28:05 -07:00
Syrus Akbary
392f50a1af Update dependencies. Use Clap 3.0.0-beta2 instead of StructOpt 2021-03-03 21:47:49 -08:00
Nick Lewycky
cc27bb2216 Fix some verifier errors in the 64-bit computations. 2021-03-01 15:50:47 -08:00
Nick Lewycky
c422fdeba2 Correct implementation of shift and rotate.
The existing implementations worked on x86-64 when instructions were emitted, but relied on UB per the LLVM IR. Add a test which checks the behaviour when the inputs are constants, so that the LLVM IR constant folder can see and exploit the UB.
2021-03-01 15:00:18 -08:00
Nick Lewycky
40f40bb7d4 RefNull may return any reference type. 2021-03-01 13:40:04 -08:00
Nick Lewycky
3c6168d0bb Split funcref and externref into separate LLVM types, add anyref_ty. 2021-03-01 13:22:56 -08:00
Nick Lewycky
7d9dd4d349 Correct the type of vmctx on these functions. 2021-03-01 12:17:38 -08:00
Nick Lewycky
b14afa1342 Implement all reference types instructions in compiler-llvm.
Remove spectest ignores for reference types tests on llvm.

Extend llvm ABIs to pass externref and funcref.

Expose all libcalls through the Libcalls enum.

Add support for all libcalls to llvm object_file.rs, even libcalls that we aren't using.

Add missing no_mangle to libcalls.
Change 'memory' to 'memory32' in libcalls in preparation for the memory64 proposal.
Remove 'local' from 'wasmer_local_memory_copy' in libcalls to fit naming convention.
Add mangling of externref and funcref for llvm-debug-dir.
Mark 'wasmer_func_ref' readonly.
2021-03-01 11:53:12 -08:00
Nick Lewycky
1e777f9a85 Move the test that a table index is in bounds to a point before we deref it.
This fixes the type of trap produced.
2021-02-24 11:19:19 -08:00
dependabot[bot]
3bc00dfbaf chore(deps): bump goblin from 0.2.3 to 0.3.4
Bumps [goblin](https://github.com/m4b/goblin) from 0.2.3 to 0.3.4.
- [Release notes](https://github.com/m4b/goblin/releases)
- [Changelog](https://github.com/m4b/goblin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/m4b/goblin/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-12 13:53:24 +00:00
Mark McCaskey
6e3f835db8 Merge branch 'master' into feature/reference-types 2021-02-10 06:36:36 -08:00
Mark McCaskey
0a17424368 Update wasmparser and core spectests 2021-02-09 11:57:54 -08:00
Mark McCaskey
6cfcc92d52 Implement further for compiler-cranelift; add ExternRef 2021-02-08 12:49:15 -08:00
Nick Lewycky
9e1cec01be Prepare for 1.0.2 release 2021-02-04 19:44:49 -08:00
Mark McCaskey
ecf891e0ac Add extra layer of indirection for funcref, update tables
This is still a WIP, cranelift is passing spectests but singlepass has 3
failures and LLVM is not implemented correctly
2021-02-03 07:47:25 -08:00
Nick Lewycky
6192143102 NFC. This utility function moved to inkwell. 2021-02-02 12:03:10 -08:00
Nick Lewycky
d247dc088d Bump to llvm 11! 2021-02-01 10:04:34 -08:00
Nick Lewycky
e436788ee3 Update to latest inkwell. 2021-02-01 10:03:32 -08:00
Nick Lewycky
657d3a52dd Add dereferenceable attribute to the vmctx pointer. 2021-01-27 11:08:13 -08:00
Nick Lewycky
a79a8ed79c Refactor duplicate code for vmctx attributes. 2021-01-26 11:17:13 -08:00