Commit Graph

177 Commits

Author SHA1 Message Date
cb632f3452 feat(runtime-c-api) Do nothing if instance is null in wasmer_instance_exports. 2020-01-20 15:30:00 +01:00
19627bdb8b doc(runtime-c-api) Improve documentation of wasmer_instance_exports. 2020-01-20 15:29:35 +01:00
3efd7d1232 doc(runtime-c-api) Improve documentation of wasmer_instance_call. 2020-01-20 15:29:04 +01:00
076931de91 doc(runtime-c-api) Improve documentation of wasmer_exports_destroy. 2020-01-20 15:28:30 +01:00
3022a16ec3 doc(runtime-c-api) Improve documentation of wasmer_import_export_value. 2020-01-20 15:28:13 +01:00
97c25f7862 doc(runtime-c-api) Improve documentation of wasmer_exports_t. 2020-01-20 15:27:50 +01:00
ee424bbadf doc(runtime-c-api) Improve documentation of wasmer_result_t. 2020-01-20 15:26:52 +01:00
585f5615cf fix(runtime-c-api) Fix imports, and check for null pointer. 2020-01-20 14:36:45 +01:00
77ba77446d doc(runtime-c-api) Improve documentation of wasmer_instance_context_get. 2020-01-20 14:36:11 +01:00
cd3a1064f9 chore(runtime-c-api) Move wasmer_module_import_instantiate to the module module. 2020-01-20 14:25:13 +01:00
384c501c93 doc(runtime-c-api) Improve error functions' documentations. 2020-01-20 14:23:52 +01:00
5931944a21 Add clippy error checking in lint step 2020-01-17 15:47:45 -08:00
44a80dc4a0 doc(runtime-c-api) Improve documentation of wasmer_instantiate. 2020-01-16 12:30:26 +01:00
13800872ff doc(runtime-c-api) Improve documentation of wasmer_instance_context_t. 2020-01-16 12:29:33 +01:00
88ca11628a doc(runtime-c-api) Improve documentation of wasmer_instance_t. 2020-01-16 12:29:09 +01:00
798557367a doc(runtime-c-api) Improve documentation of wasmer_validate. 2020-01-16 12:28:42 +01:00
7a16828e6e fix(runtime-c-api) Fix error message. 2020-01-15 12:50:18 +01:00
4cdf868a0b doc(runtime-c-api) Explain why code is unreachable in wasmer_trap. 2020-01-15 08:40:36 +01:00
c0b439e66a feat(runtime-c-api) Rename wasmer_import_trap to wasmer_trap. 2020-01-15 08:37:20 +01:00
b494bd860d doc(runtime-c-api) Improve wasmer_import_func_new's documentation. 2020-01-13 07:35:57 +01:00
a506411eb5 doc(runtime-c-api) Improve documentation of wasmer_import_trap. 2020-01-13 07:35:37 +01:00
8790f6dbc9 feat(runtime-c-api) Check pointers aren't null in wasmer_import_trap. 2020-01-13 07:20:06 +01:00
35459c2931 feat(runtime-c-api) Implement wasmer_import_trap.
The new `wasmer_import_trap` allows a host function to fail properly
with the Wasmer trapping API.
2020-01-10 15:13:30 +01:00
e913e8928f chore(runtime-c-api) Fix CS. 2020-01-10 15:12:56 +01:00
0274668675 doc(runtime-c-api) Fix a typo. 2020-01-07 14:21:50 +01:00
bb90cffac9 Address feedback; improve emscripten fn names in C API 2019-12-16 19:43:57 -05:00
a2b47bd591 Update changelog, clean up, fix test 2019-12-16 18:06:37 -05:00
e86b3941d0 Update Emscripten API layout; expose inner parts to to C API; add test 2019-12-16 15:45:28 -05:00
f1c95a81ab Add foundational emscripten functions and types to C API 2019-12-13 14:02:48 -08:00
4ef799f23d feat(runtime-c-api) Support WasiVersion::Latest. 2019-12-04 15:34:56 +01:00
4fc6adf9c2 chore(runtime-c-api) Remove a useless format!. 2019-12-04 15:28:38 +01:00
345511a4f9 fix(runtime-c-api) Fix From<c_uchar> for Version.
0 matches to `Unknown`, 1 matches to `Snapshot0` and 2 matches to
`Snapshot1`.
2019-12-04 15:28:37 +01:00
90f3c894c1 doc(runtime-c-api) Improve documentation of wasmer_wasi_generate_import_object_for_version. 2019-12-04 15:28:37 +01:00
0c5021484f fix(runtime-c-api) Use get_wasi_version in non-strict mode. 2019-12-04 15:28:37 +01:00
4fe8286b81 feat(runtime-c-api) Avoid undefined behavior with user-given version.
When the version has type `Version`, we expect the user to give a
valid `Version` variant. Since the `Version` is basically a `uint8_t`,
the user is able to pass everything she wants, which can create an
undefined behavior on the Rust side.

To avoid such situation, the version has now type `c_uchar` (`unsigned
char` or `uint8_t` on C side —on most platforms). Then the `From`
trait is implemented on `Version`. In case the value is unbound,
`Version::Unknown` is returned.
2019-12-04 15:28:37 +01:00
ca4a1b41a6 feat(runtime-c-api) Ability to generate ImportObject for a specific WASI version.
This patch introduces 2 new functions:

* `wasmer_wasi_generate_import_object_for_version` and
* `wasmer_wasi_get_version`.

It mimics the current API provided by `wasmer_wasi`, nothing fancy
here. It's just a regular port to C/C++.

Because `wasmer_wasi::get_wasi_version` returns an option, and in
order to simplify the C/C++ API, `wasmer_wasi_get_version` can return
`Version::Unknown` in case of an error. It's up to the user to check
the version is valid (i.e. not unknown).
2019-12-04 15:28:37 +01:00
e121c47f18 Generate C preprocessor code to hide things not on Windows 2019-11-11 14:47:25 -08:00
8d95e637f2 Add probable fix of memory leak in trampoline code 2019-11-01 17:38:43 -07:00
cf5b3cc09e Merge #914
914: Fix bug in getting a Memory from export in C API r=Hywan a=MarkMcCaskey

I believe this fixes the non-deterministic crashing on OSX in `go-ext-wasm`

Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-10-30 11:34:20 +00:00
1e4fa78e11 Fix bug in getting a Memory from export in C API 2019-10-29 15:52:42 -07:00
bc9b92c323 Add null checks to new destructors in C API 2019-10-29 15:18:45 -07:00
a104d08c04 Update ImportObject C API to use iterators 2019-10-29 14:55:14 -07:00
2a532b8ce5 Add tests for C API import_object and WASI updates 2019-10-25 14:24:22 -07:00
80cfeb590e Clean up comments
add headers too
2019-10-24 11:51:35 -07:00
c3ff8eb540 fix(runtime-c-api) Replace unsafe code by safe code. 2019-10-11 09:26:05 +02:00
01c209fe96 feat(runtime-c-api) Move the wasi module into its own file. 2019-10-11 09:19:46 +02:00
bd8e864656 Add functions import object to get import fns and free them 2019-10-10 16:07:56 -07:00
51f619a132 Change pointer that's not modified to be const in C API 2019-10-10 11:22:45 -07:00
913354adb3 Add function to get export from ns/name via ImportObject to C API 2019-10-09 17:29:27 -07:00
bfb9d3849c Fix merge 2019-10-03 11:58:06 -07:00