Commit Graph

242 Commits

Author SHA1 Message Date
5e2976ca7d feat(compiler): Update wasmparser 2024-09-06 14:49:51 +02:00
4ea7827926 deps: Upgrade wasmparser to 0.121.0 2024-01-31 16:52:41 +01:00
e62d38a168 Happy clippy 2023-09-29 10:32:44 +02:00
5180db261d Started migration to LLVM15, build fine but tests not passings yet 2023-09-28 17:28:20 +02:00
4e8294a08b More lints 2023-05-29 21:15:29 +08:00
f8c0910c33 Update wasmparser to v0.95 (#3682)
* Update wasmparser to v0.95

* Update lib/compiler/src/translator/module.rs

Co-authored-by: Syrus Akbary <me@syrusakbary.com>

---------

Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2023-03-15 11:15:58 +01:00
ee58d7c2b2 Revert "Update wasmparser to v0.91"
This reverts commit 87232623de.
2023-03-15 01:46:26 +01:00
87232623de Update wasmparser to v0.91 2023-03-14 20:39:38 +01:00
b1a94df631 bump inkwell to 0.1.1 (#3582)
* Revert "Revert "bump inkwell to 0.1.0""

* Updated Inkwell to 0.1.1

---------

Co-authored-by: ptitSeb <sebastien.chev@gmail.com>
2023-02-14 16:45:09 +01:00
f0374ce478 Revert "bump inkwell to 0.1.0" 2023-02-01 16:40:32 +01:00
e6f39e74b0 bump inkwell to 0.1.0 2023-01-26 14:34:47 +03:30
12ce309292 Fixed Alignment check for Atomic access in LLVM compiler (for #3163) 2022-11-22 14:38:25 +01:00
6ed8e4832e Added Wait / Notify opcode to LLVM compiler (for #3157) 2022-11-22 14:38:25 +01:00
14ee38a24e compiler: move Symbol, SymbolRegistry to wasmer-types 2022-08-02 15:45:28 +03:00
b1f1939bf7 Move wasmer_compiler/{section,relocation}.rs to wasmer_types 2022-06-16 16:57:45 +03:00
feee4e3587 Move wasmer_compiler errors to wasmer_types error module 2022-06-16 16:57:45 +03:00
5339f7cdae Fix clippy lints
Fixes: #2926
2022-06-09 16:05:53 +02:00
3ad9552e2e Update wasmparser to 0.83 2022-04-06 16:23:32 +01:00
2b104a8ecc Merge #2677
2677: Support 32-bit memories with 65536 pages r=ptitSeb a=Amanieu

Fixes #2187

Co-authored-by: Amanieu d'Antras <amanieu@gmail.com>
2021-11-10 15:49:43 +00:00
6a0b381763 Support 32-bit memories with 65536 pages
Fixes #2187
2021-11-10 14:49:32 +00:00
2b7669d346 fix(compiler) Fix BrTable on llvm compiler when non default is jumpting on loop_body 2021-11-09 11:44:47 +01:00
190d670eb9 fix linter 2021-11-05 09:59:58 +01:00
7ccd6af929 update(compiler) switched upstream Inkwell (for #2645) 2021-11-05 09:54:47 +01:00
98481f51fe Move ModuleInfo to wasmer-types 2021-07-16 15:42:39 -07:00
bb73126880 Review 2021-05-31 11:15:30 +02:00
e5e51b9f07 Cleaning some bits 2021-05-28 18:31:36 +02:00
69cf276dfe Make the code compile with latest Inkwell changes 2021-05-28 18:14:06 +02:00
6a99268895 feat(llvm): Make NaN canonicalization configurable
compiler-llvm now uses the experimental.constrained intrinsics to ensure
correct behavior on FP operations when full-canonicalization is
disabled.

This patch requires TheDan64/inkwell#247
2021-05-28 11:40:10 +02:00
37be884403 Clean up F32x4DemoteF64x2Zero op in compiler llvm 2021-05-13 08:20:00 -07:00
f8b67c743a Remove REVIEW request comments 2021-05-12 10:14:58 -07:00
1082fe1692 Clean up LLVM SIMD changes 2021-05-12 08:10:54 -07:00
88d2ac9626 Fix bug in I32x4TruncSatF64x2SZero
We need to use LEF64, not LEF32, when dealing with f64s
2021-05-11 14:47:44 -07:00
20297858ed Implement I16x8Q15MulrSatS in compiler LLVM 2021-05-11 14:37:59 -07:00
da86e69a45 Implement all but 2 new SIMD ops in compiler LLVM 2021-05-11 11:14:25 -07:00
2f5f9d9e48 Implement most of the rest of the new SIMD in llvm 2021-05-11 09:49:48 -07:00
17c27f1d15 Implement new SIMD instructions in compiler LLVM 2021-05-07 11:21:13 -07:00
d699e61083 Implement bulk memory instructions in compiler-llvm 2021-05-06 09:07:51 -07:00
06407e327f Remove goblin, use object. 2021-05-03 16:23:48 -07:00
20758ea8af Update wasmparser to 0.77 2021-04-29 09:22:14 -07:00
c634cdcc2e Add TypedSelect support to Singlepass + LLVM
Missed this in the reftypes PR
2021-04-28 10:03:07 -07:00
9be59f809f Use FunctionBinaryReader instead of Middleware 2021-04-26 16:40:54 -07:00
8149453ff5 Merge branch 'master' into feature/reference-types 2021-03-31 08:42:26 -07:00
74a0550101 Fix bug in i64.rotr X 0 in compiler-llvm, add wasmer wast tests 2021-03-26 09:59:46 -07:00
2a541e072b Merge branch 'master' into feature/reference-types 2021-03-16 12:28:05 -07:00
cc27bb2216 Fix some verifier errors in the 64-bit computations. 2021-03-01 15:50:47 -08:00
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
40f40bb7d4 RefNull may return any reference type. 2021-03-01 13:40:04 -08:00
3c6168d0bb Split funcref and externref into separate LLVM types, add anyref_ty. 2021-03-01 13:22:56 -08:00
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
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