8 Commits

Author SHA1 Message Date
Valery Antopol
13cf85ba36
feat!: move to async execution (#396)
* wip

* WIP

* WIP

* compiles, async mrepl works

* add Send

* Updating marine-js

* FuncGetter compiles

* wow it compiles

* marine-js compiles but does not work

* marine-js tests almost pass

* marine-runtime and marine-core tests pass

* fmt

* epoch interruption works in mrepl

* WIP: switching from async_trait to box_future

* move from async_trait to BoxFuture

* self-review fixes

* self-review fixes

* merge memory limits

* pr fixes

* pr fixes

* pr fixes

* pr fixes

* update cargo lock

* use published interface-types

* remove patch deps

* fix factory and make AppService generic

* fix marine-js

* try locking deps

* add debug prints to workflow

* fix workflow

* update workflow

* make marine-js bindings patcher update all __wbg_adapter_* functions

* remove debug prints from workflows

* self-review fixes

* self-review fixes

* self-review fixes

* final fixes

* fix mrepl

* fix pr comments, fmt and clippy

* fix Cargo.toml and Cargo.lock after merge

* test fixes after merge

* update rust toolchain to match one in no

* fixes for nox integration

* reexport MError

* update js bindings

* fix warning

* fmt
2024-04-11 00:34:34 +04:00
Valery Antopol
f54ca715a3
feat!: rework wasi mapped dirs handing, relax restrictions (#421)
* add config field to allow absolute wasi paths

* remove config field

* use current dir as default workind_dir

* fix

* remove /tmp /local logic as well as preopened_files

* fix greeting example

* fix greeting example

* fix greeting example

* remove unused var

* return import
2024-02-22 19:33:28 +04:00
Valery Antopol
662a49204f
feat!: add memory limiting (#391)
* memory limits iteration 1

* correct counting

* update to wasmtime 13.0.0

* wip stats recording

* adding memory limit tests

* fix build

* fix build

* fix build

* fix tests

* add configs

* update Cargo.lock

* self-review fixes

* self-review fixes, cleanup

* fix tests build

* fix tests, remove wee_alloc form lockfile

* fix build

* format tests

* pr fixes

* make tests more robust

* pr fixes

* Add OOM check into marine-runtime

* Use new error variant in tests

* add handy error message

* fix error msg

* fix tests

* check for OOM more precisely

* improve readability

* add "inifinity" memory limit, make memory limit mandatory, stop persisting allocation rejects

* add forgotten allocation stats clear

* pr fixes

* pr fixes

* use bytesize in tests
2023-12-13 19:51:58 +03:00
Valery Antopol
a94494b042
feat!: propagate errors from linked modules (#388)
* propagate errors

* pregare for merge

* support new interface in js backend

* use wasmer-it from crates.io

* fix marine-js tests + update aquavm version for tests
2023-11-03 17:43:14 +03:00
Valery Antopol
a61ddfc404
feat(marine-js)!: replace old marine-js with common marine-runtime + backend traits impl for JS (#332)
* add js wasm backend crate + blank trait impls

* make wasmtime a default feature for runtime and core

* WIP: mock WASI, greeting almost works

* WIP: added @wasmer/wasi, moved some stuff to JsStore, implementing Caller

* finalize Caller

* remove old code

* changing js API + fmt

* update wasm-bindgen generated and patched code

* update call_module to throw error, fix non-logging tests

* add multi-module test + update js api

* fix last element getting

* refactor interface + pass envs

* get rid of make_*_result

* small refactor

* support passing log function

* get rid of some todos

* use String instead of Vec<u8> for wasi envs

* use Strings for wasi envs in marine js

* little fix

* self-review fixes, import ordering

* self-review fixes, import ordering

* make clippy happy + fmt

* self-review fixes

* self-review fixes

* self-review fixes

* revert example artifact change

* pr fixes

* add __wbg_adapter_N updating code

* add all-types test

* fix build

* update marine_js.js

* Fix I64 handling

* pr fixes

* fix import order

* add copyrights

* Add comments, slightly beautify code

* fmt

* make clippy happy

* update js interface

* split function interface, improve naming

* update Cargo.lock

* update to new wasm-backend traits

* wip

* js glue code update

* improve comment

* use typed index collection

* Add more comments

* Add more comments

* Fix warnings

* pr fixes

* pr fixes
2023-07-25 19:49:55 +03:00
Valery Antopol
0f9979ae11
feat(wasm-backend)!: split Function trait, improve naming (#347)
split function interface, improve naming
2023-07-25 18:23:54 +03:00
Valery Antopol
aeae703229
feat(wasm-backend, app-service)!: use String for wasi env vars + require Clone for Function trait (#333)
* use String instead of Vec<u8> for wasi envs

* require Clone for Function trait

* fmt

* pr fixes
2023-06-14 17:47:14 +03:00
Valery Antopol
d3a773df4f
feat!: decouple wasmer from Marine, replace it with generic backend interface (#219) 2023-03-15 00:43:51 +03:00