Takeshi Yoneda
ccb527a93d
fuzz: make it possible to fuzz wazevo ( #1689 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-09-07 09:37:19 +09:00
Takeshi Yoneda
30e1b58e6a
tests: update test dependencies ( #1684 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-09-05 07:55:11 +09:00
Takeshi Yoneda
f5adeffde8
wazevo: adds test harness for v2 spectests ( #1683 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-09-05 07:39:45 +09:00
Takeshi Yoneda
f96f097b39
wazevo: pass memory_grow.wast ( #1656 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-08-24 10:51:28 +09:00
Takeshi Yoneda
967d8df56d
Sets up spectest infra for wazevo ( #1647 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-08-22 13:50:40 +09:00
Edoardo Vacchi
76dce033d3
Upgrade floor Go version to 1.19 everywhere. ( #1622 )
2023-08-10 06:09:16 +09:00
Nuno Cruces
90f58bce75
compiler: fix compiledModule leak ( #1608 )
...
Signed-off-by: Nuno Cruces <ncruces@users.noreply.github.com >
Co-authored-by: Achille Roussel <achille.roussel@gmail.com >
2023-08-02 09:14:49 +08:00
Crypt Keeper
b361183927
deps: updates 3rd party libs to latest ( #1576 )
...
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: Adrian Cole <adrian@tetrate.io >
2023-07-11 10:29:38 +08:00
Takeshi Yoneda
102308d9d1
fuzz: pass rss_limit_mb flag to avoid OOM ( #1530 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-06-20 08:40:54 +10:00
Crypt Keeper
1e0f88bc14
deps: upgrades to TinyGo v0.28.1 ( #1512 )
...
Signed-off-by: Adrian Cole <adrian@tetrate.io >
2023-06-12 14:21:00 +10:00
Takeshi Yoneda
1e075f0d84
vs: fixes wasmedge version ( #1507 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-06-07 10:47:19 +10:00
Crypt Keeper
e31856d360
updates external tool versions ( #1498 )
...
Signed-off-by: Adrian Cole <adrian@tetrate.io >
2023-06-02 15:53:29 +08:00
Crypt Keeper
51d0271755
removes wasmer-go from vs benchmarks ( #1499 )
...
Signed-off-by: Adrian Cole <adrian@tetrate.io >
2023-06-01 19:09:03 +08:00
Takeshi Yoneda
4aca6fbd0e
Updates Spectest to the latest (May 23, 2023) ( #1490 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-05-23 15:09:36 +10:00
Takeshi Yoneda
50723a0fd2
Refactors spectest harness ( #1489 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-05-23 09:59:49 +10:00
Anuraag Agrawal
714368bcea
Remove threads support ( #1487 )
...
Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com >
2023-05-22 12:18:36 +10:00
Crypt Keeper
8c7e0caead
updates benchmark library versions ( #1486 )
...
Signed-off-by: Adrian Cole <adrian@tetrate.io >
2023-05-20 06:41:02 +02:00
Anuraag Agrawal
90eba1b81c
Require max size for shared memory ( #1473 )
...
Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com >
2023-05-16 16:14:13 +08:00
Anuraag Agrawal
bc96257575
Implement WebAssembly threads proposal with interpreter ( #1460 )
...
Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com >
2023-05-16 12:22:17 +08:00
Takeshi Yoneda
80452a94c3
Bulk lazy initialization of FunctionDefinitions ( #1425 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
Co-authored-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-05-12 08:02:40 +10:00
Nuno Cruces
6503e82d3c
Follow unsafe rules. ( #1449 )
...
Signed-off-by: Nuno Cruces <ncruces@users.noreply.github.com >
2023-05-09 15:34:08 +01:00
Luca Burgazzoli
b2c11d8dfd
examples(allocation): free memory after unmarshalling a result from the guest ( #1390 )
...
Signed-off-by: Luca Burgazzoli <lburgazzoli@gmail.com >
2023-05-03 07:01:05 +08:00
Nuno Cruces
77e8d72d67
api: adds CallWithStack to avoid allocations ( #1407 )
...
Signed-off-by: Nuno Cruces <ncruces@users.noreply.github.com >
2023-05-01 08:52:40 +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
d33ecd0e3a
cache: fixes consistency with CloseOnContextDone and listeners ( #1381 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-04-19 15:00:46 +09:00
Takeshi Yoneda
df8586e58b
interpreter: reduces allocations in lowerIR ( #1343 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-04-06 15:04:39 +09:00
Takeshi Yoneda
0f7b691555
bench: do not call _start in concurrent instantiation ( #1302 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-29 12:21:05 +09:00
Takeshi Yoneda
fa722dd9e3
Implements api.Function directly over engine specific callEngine ( #1297 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-28 16:49:35 +09:00
Takeshi Yoneda
0857336746
Removes wasm.FunctionInstance type ( #1294 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-28 14:43:44 +09:00
Takeshi Yoneda
cd606bde04
Refactors NewModuleEngine and NewCallEngine ( #1291 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-27 09:40:55 +09:00
Takeshi Yoneda
a4226906cf
Deletes wasm.CallCtx ( #1280 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-24 17:00:43 -07:00
Crypt Keeper
451c792ee8
Avoids returning ExitError on exit code zero, and optimizes for no allocations ( #1284 )
...
Fixes #1283
Signed-off-by: Adrian Cole <adrian@tetrate.io >
2023-03-24 16:42:30 +01:00
Achille
4eba21372c
Support registering multiple instances of anonymous modules ( #1259 )
...
Signed-off-by: Achille Roussel <achille.roussel@gmail.com >
Signed-off-by: Clifton Kaznocha <ckaznocha@users.noreply.github.com >
Co-authored-by: Clifton Kaznocha <ckaznocha@users.noreply.github.com >
2023-03-23 18:27:19 +01:00
Takeshi Yoneda
cd1110c088
Avoids allocation of exports map per instance ( #1275 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-23 16:37:56 +09:00
Takeshi Yoneda
cd05a22df2
Reduces allocations during instantiation ( #1267 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-22 18:55:58 +09:00
Crypt Keeper
03ab5a97ad
Removes partially completed fstest ( #1247 )
...
Before, we didn't have a suite of tests for our filesystem used by ABI,
now we do (`sysfs`). Moreover, we are testing stdlibs and wasi-testsuite
on commit. We don't need this fstest anymore.
Signed-off-by: Adrian Cole <adrian@tetrate.io >
2023-03-17 09:34:39 +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
e17a85146a
Holds wasm.Code as values on wasm.Module ( #1243 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-15 14:45:54 +09:00
Takeshi Yoneda
350e81e632
Holds function types as values, not ptrs in wasm.Module ( #1227 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-15 13:45:52 +09:00
Takeshi Yoneda
aba4ede088
Removes usage of host functions with Wasm optocdes ( #1241 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-15 13:42:53 +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
Takeshi Yoneda
24e4d5dfa0
Generates typeIDs at compilation time ( #1218 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-10 13:46:08 +09:00
Takeshi Yoneda
ad968dc3fe
Pass correct api.Module to host functions ( #1213 )
...
Fixes #1211
Previously, host functions are getting api.Module for the "originating" module,
which is the module for api.Function currently invoked, except that the api.Module
is modified by withMemory with the caller's memory instance, therefore there
haven't been no problem for most cases. The only issues were the methods
besides Memory() of api.Module, and this commit fixes them.
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-08 15:05:48 +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
Takeshi Yoneda
599e01b65a
fuzz: update README instructions ( #1175 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-02-28 09:13:16 +09:00
Edoardo Vacchi
94743cc21e
Set Memory.Max to min(user-memory-limit, sys-memory-limit) on load ( #1165 )
...
Updated `newMemorySizer()` to return the updated value, but also
ensure that an invalid `max` still throws an error (invalid module).
- Minor cleanup to use the `memorySizer` type instead of the full
func signature for clarity
- Added a wat+wasm under `internal/integration_test/vs/testdata/`
simply because that's where the other cache-related testdata was.
Closes #1153 .
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-02-25 07:31:23 +08:00
Clifton Kaznocha
ecb5b1ad03
Close and return immediately if the context is already canceled ( #1158 )
...
Signed-off-by: Clifton Kaznocha <ckaznocha@users.noreply.github.com >
Co-authored-by: Clifton Kaznocha <ckaznocha@users.noreply.github.com >
2023-02-24 09:58:07 +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
92e0a488b6
Support context Cancelation/Timeout in function executions ( #1108 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-02-10 09:39:04 +09:00
Crypt Keeper
f18bb221c4
gojs: backfills errno tests and updates links ( #1110 )
...
Signed-off-by: Adrian Cole <adrian@tetrate.io >
2023-02-09 07:38:22 -10:00