Takeshi Yoneda
c16735db52
wazevo(amd64): alignment for Fmax/min ( #2084 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-21 09:10:50 +09:00
Takeshi Yoneda
08998eda2d
wazevo(regalloc): spill the unused values with high priority ( #2082 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-20 16:22:09 +09:00
Takeshi Yoneda
9c0c7c4a02
wazevo(frontend): missing listener.After call in br_if target ( #2078 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-20 11:36:40 +09:00
Takeshi Yoneda
ccf60cb7a9
Enables amd64 backend for optimizing compiler in experimental pkg ( #2071 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-19 10:00:13 +09:00
Takeshi Yoneda
47c7b5ad64
wazevo(regalloc): ensures the flag field cleared when no forest child ( #2070 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-19 09:32:41 +09:00
Takeshi Yoneda
25698af230
wazevo(amd64): fixes VIabs i64x2 ( #2062 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-16 08:20:58 +09:00
Takeshi Yoneda
74acc6fe3b
wazevo(amd64): fixes VIcmp ( #2058 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-13 15:47:23 -08:00
Takeshi Yoneda
eff9b20f3d
wazevo: redo extadd_pairwise for both arm/amd ( #2057 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-13 15:07:38 -08:00
Edoardo Vacchi
392dcf732a
fuzz: adds unaligned global f32 case ( #2040 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-11 16:06:20 -08:00
Takeshi Yoneda
f59dfcbd92
wazevo(regalloc): do not spill real registers in use ( #2037 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-10 09:36:11 -08:00
Takeshi Yoneda
b0b99d0712
wazevo(arm64): fixes return lowering for float->int order ( #2034 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-09 14:20:59 -08:00
Takeshi Yoneda
25cf3c0766
fuzz: adds a float<>int conversion case ( #2032 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-09 12:08:21 -08:00
Takeshi Yoneda
6f09968c0c
wazevo(amd64): redo idivrem ( #2017 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-05 14:29:36 -08:00
Takeshi Yoneda
4dbb2f29c7
wazevo(amd64): fixes Select, xmmCmpRmR def kind ( #2009 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-02 16:36:40 -08:00
Takeshi Yoneda
b3a85e0ab7
wazevo(amd64): fixes lowerCtz/Clz ( #2008 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-02 13:43:07 -08:00
Takeshi Yoneda
46ef0886c3
wazevo(amd64): fixes lowerExtend ( #2007 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-02 13:06:36 -08:00
Takeshi Yoneda
75045edafa
wazevo(amd64): fixes FcvtToUint ( #2006 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-02 12:43:48 -08:00
Takeshi Yoneda
5a06ee07c3
wazevo(amd64): fixes after regalloc lowering of f->i conv ( #2001 )
2024-02-01 15:49:25 -08:00
Takeshi Yoneda
7c4c10c8a5
wazevo(amd64): overhaul integer<>float conversions ( #2000 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-01 14:46:22 -08:00
Takeshi Yoneda
3c6e7fd74d
wazevo(amd64): fix lowering huge base amode, float conversions ( #1999 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2024-02-01 10:22:21 -08:00
Edoardo Vacchi
aa51c60cfb
interpreter: vectors should not be committed to memory if OOB ( #1949 )
2024-01-24 07:18:23 -08:00
Takeshi Yoneda
27624049dc
wazevo(frontend): faster non-imported global access ( #1889 )
...
Release CLI / Pre-release build (push) Has been cancelled
Release CLI / Pre-release test (macos-12) (push) Has been cancelled
Release CLI / Pre-release test (ubuntu-22.04) (push) Has been cancelled
Release CLI / Pre-release test (windows-2022) (push) Has been cancelled
Release CLI / Release (push) Has been cancelled
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-12-22 08:04:48 -08:00
Takeshi Yoneda
87a48d8eee
Introduces the new optimizing compiler (wazevo) in experimental pkg ( #1869 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-12-14 08:27:35 -08:00
Takeshi Yoneda
1afa54fee4
wazevo(regalloc): fixes phi spill logic ( #1846 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-11-24 09:43:57 +09:00
Takeshi Yoneda
374d6ff712
wazevo: implements linear reg alloc algorithm ( #1829 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-11-16 14:46:03 +09:00
Takeshi Yoneda
73d6c3b382
wazevo(arm64): fixes Vector select ( #1840 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-11-16 14:38:58 +09:00
Edoardo Vacchi
9841c5fc04
wazevo: fuzz, fix Fcopysign ( #1826 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-11-01 07:36:28 +09:00
Edoardo Vacchi
928fce854f
wazevo: fuzz, fix ssa.OpcodeInsertlane ( #1825 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-10-31 23:18:46 +01:00
Edoardo Vacchi
ec1844c6fc
wazevo: fuzz, fix f64x2.pmin ( #1824 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-10-31 14:27:44 +01:00
Edoardo Vacchi
695b49e94d
wazevo: fuzz, fix i16x8.narrow_i32x4_u ( #1820 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-10-29 08:02:08 +08:00
Edoardo Vacchi
a5d1b12385
wazevo: fuzz, fix load_splat with offset values > 12 bits ( #1817 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-10-25 17:33:57 +02:00
Edoardo Vacchi
e3e5b9942d
wazevo: fuzz, select does not return the correct value for vectors ( #1814 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-10-25 17:32:25 +02:00
Edoardo Vacchi
1748dbcfe8
wazevo: fuzz, fix load_splat ( #1810 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-10-23 09:17:37 +02:00
Takeshi Yoneda
95a240370c
wazevo(regalloc): fixes the PHI value liverange ( #1812 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-10-23 13:20:22 +09:00
Edoardo Vacchi
9264104c0b
wazevo: fuzz, fix simd shl, shr, shuffle, vbitselect ( #1797 )
2023-10-19 07:10:45 +09:00
Edoardo Vacchi
583e8772ec
wazevo: fuzz OpcodeVIcmp, OpcodeVFcmp, allTrue ( #1793 )
2023-10-18 07:09:36 +09:00
Edoardo Vacchi
a653c8a8f7
wazevo: add fuzz test cases ( #1792 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-10-17 15:54:37 +09:00
Takeshi Yoneda
088424c7e5
wazevo(frontend): fixes br_table lowering not to share arg slice ( #1777 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-10-13 09:11:05 +09:00
Edoardo Vacchi
e3d83bbc7a
wazevo: passes simd load/store spec tests ( #1766 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-10-11 08:18:07 +09:00
Takeshi Yoneda
f2921d06f6
wazevo: adds support for Select on v128 values ( #1762 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-10-06 10:09:09 +09:00
Takeshi Yoneda
86444c67a3
ci: run -race on PRs as well ( #1408 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-04-27 09:54:59 +09:00
Takeshi Yoneda
8ab1615b53
Forbids empty name module imports ( #1244 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
Co-authored-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com >
2023-03-16 12:22:37 +09:00
Takeshi Yoneda
7466f0e7bd
Holds most fields as slice of values, not ptrs in wasm.Module ( #1221 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-13 12:50:36 +09:00
Edoardo Vacchi
117474c477
refactor binary encoding to its own package ( #1187 )
...
move binary encoder to its own package
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-03-03 07:21:22 +08:00
Crypt Keeper
b758344212
API BREAK: renames InstantiateModuleFromBinary to Instantiate ( #1129 )
...
This renames `InstantiateModuleFromBinary` to `Instantiate` to both make
first time use simpler to write and also de-complicate adding a
`WithConfig` variant as requested in #1105
End users in simple case need to change their signature like so.
```diff
- mod, err := r.InstantiateModuleFromBinary(ctx, addWasm)
+ mod, err := r.Instantiate(ctx, addWasm)
```
In practice, many will not need to change their signature because they
had to use the `InstantiateModule` function in order to assign
configuration such as the module name, filesystem or use a real clock.
Instead, they had to use the more complicated chain of `CompileModule`
and `InstantiateModule` even when only assigning config. Users in this
situation can opt into the more simplified syntax below:
```go
mod, err := r.InstantiateWithConfig(ctx, addWasm,
wazero.NewModuleConfig().WithName("adder"))
```
```diff
- mod, err := r.InstantiateModuleFromBinary(ctx, addWasm)
+ mod, err := r.Instantiate(ctx, addWasm)
```
Signed-off-by: Adrian Cole <adrian@tetrate.io >
2023-02-15 14:52:17 -10:00
Takeshi Yoneda
c9155b8f2b
amd64: fixes memory.fill bug ( #1055 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-01-24 08:07:11 +09:00
Takeshi Yoneda
2df84c679c
ci: adds -skip flag to the race tests ( #1023 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-01-11 12:23:09 +09:00
Crypt Keeper
126bd9050d
Removes context parameter from instruction-scoped operations ( #923 )
...
We originally had a `context.Context` for anything that might be
traced, but it turned out to be only useful for lifecycle and host functions.
For instruction-scoped aspects like memory updates, a context parameter is too
fine-grained and also invisible in practice. For example, most users will use
the compiler engine, and its memory, global or table access will never use go's
context.
Signed-off-by: Adrian Cole <adrian@tetrate.io >
2022-12-14 16:08:07 +09:00
Takeshi Yoneda
b8adb361e8
Fixes FuncRef global initialization with imported globals ( #888 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2022-12-06 14:32:12 +09:00
Takeshi Yoneda
651f71b8ab
Merge wazero-fuzz into internal/integration_test ( #872 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2022-12-01 10:22:58 +09:00