Commit Graph

107 Commits

Author SHA1 Message Date
Brandon Fish
a832a4c787
Merge branch 'master' into wasmer-c-api-error-visibility 2019-07-31 19:58:23 -06:00
Yaron Wittenstein
784e65d587 making wasmer_byte_array fields public 2019-07-29 17:24:43 +03:00
Yaron Wittenstein
8408260edd wasmer-c-api: adding #[derive(Debug)] for wasmer_result_t (so that we can do assert_eq!) 2019-07-29 17:10:17 +03:00
Yaron Wittenstein
10fc660aad wasmer_byte_array visibility revert (see PR: "wasmer-c-api-changes: making wasmer_byte_array fields public #589") 2019-07-29 13:41:28 +03:00
Yaron Wittenstein
f04d552361 wasmer-c-api:
* error.rs - changing `update_last_error` visibility to `pub`.
* error.rs - changing `CApiError` `msg` field visibility to `pub`.
2019-07-25 15:46:57 +03:00
Yaron Wittenstein
6cc31d3b49 lib.rs - making wasmer_byte_array fields public 2019-07-25 11:42:47 +03:00
Nick Lewycky
18307bb79c Improve panic/unreachable/unimplemented usage. Refactor a little. 2019-07-22 12:15:56 -07:00
Nick Lewycky
f4af4e387d Stub out support for V128 in the C API for now. 2019-07-10 13:54:36 -07:00
Ivan Enderlin
04c9d25194
Merge branch 'master' into fix-runtime-c-api-warnings 2019-06-14 10:07:53 +02:00
Ivan Enderlin
63ec73aacc fix(runtime-c-api) Remove deprecated types from libc.
Since https://github.com/rust-lang/libc/pull/1379, fixed width integer
type aliases are deprecated. Thus, this patch uses Rust types instead
of libc aliases.
2019-06-12 12:10:49 +02:00
Ivan Enderlin
81d8e4ee2e feat(runtime-c-api) Improve error message when compiling a module. 2019-06-12 11:35:29 +02:00
losfair
f4df568e41 Naming fixes and documentation for trampoline API. 2019-06-05 01:38:35 +08:00
losfair
f1b27d5774 Cargo fmt 2019-06-05 01:26:35 +08:00
losfair
669f76025c Add callinfo trampoline into the C API. 2019-06-05 01:25:37 +08:00
losfair
0a44add31c Fix clippy errors. 2019-06-03 15:31:42 -07:00
losfair
d70cb9695e Add trampoline-related functions to C API. 2019-06-03 15:31:42 -07:00
Ivan Enderlin
90676b5c5b feat(runtime-c-api) wasmer_instantiate raises the source error.
Instead of returning only “error instanting”, `wasmer_instantiate` can
return the real error message.
2019-05-24 14:24:00 +02:00
Ivan Enderlin
c92230e18e fix(runtime-c-api) Lengths cannot be negative.
This patch prevents receiving negative length in various places.
2019-05-22 16:44:03 +02:00
Brandon Fish
89f3998b49
Merge branch 'master' into feature/fix-default_compiler-compilation 2019-05-14 18:22:44 -05:00
Brandon Fish
bef9f1244a Return impl Compiler from default_compiler to fix compilation with features 2019-05-14 18:19:58 -05:00
Ivan Enderlin
f04e77323b fix(runtime-c-api) Update wasmer_export_func_params_arity signature.
The `returns_len` argument type of `wasmer_export_func_returns_params`
must be `uint32_t` to match the `wasmer_export_func_returns_arity` results,
so that casts are not required.
2019-05-14 16:18:41 +02:00
Ivan Enderlin
91006bab53 fix(runtime-c-api) Update wasmer_export_func_params_arity signature.
The `params_len` argument type of `wasmer_export_func_params_arity`
must be `uint32_t` to match the `wasmer_export_func_*_arity` results,
so that casts are not required.
2019-05-14 16:15:36 +02:00
Ivan Enderlin
d3c75a38fa fix(runtime-c-api) wasmer_instance_call types matches wasmer_export_func_*_arity.
The `wasmer_export_func_params_arity` and
`wasmer_export_func_returns_arity` functions store the arity in a
`uint32_t`. The `wasmer_instance_call` expects `c_int`. There is a
type mismatch here. It's not annoying in C or C++, but in some other
languages that have bindings to C/C++, it can imply useless casting.

This patch changes `wasmer_instance_call` to expect `uint32_t` for
`params_len` and `results_len` to match the
`wasmer_export_func_*_arity` functions.
2019-05-14 11:46:43 +02:00
Syrus
19eba19603 Merge branch 'master' into doc-runtime-c-api
# Conflicts:
#	lib/runtime-c-api/src/lib.rs
2019-05-13 15:55:20 -07:00
Ivan Enderlin
b050144898 Merge branch 'master' into fix-runtime-c-api-error-length 2019-05-13 10:59:11 +02:00
Ivan Enderlin
bedd305b06 doc(runtime-c-api) Fix inline comment. 2019-05-13 10:52:43 +02:00
Brandon Fish
2aefa731a6 Add deny for unreachable patterns and unused unsafe 2019-05-12 00:33:02 -05:00
Brandon Fish
85158ac22a Add some initial deny for unused_imports and unused_variables
Additional unused variable fix on unix

Remove unused import on unix

Remove unused windows import
2019-05-11 09:23:25 -05:00
Ivan Enderlin
7d2721ef7a fix(runtime-c-api) wasmer_last_error_message returns the length + 1.
Returning the error message's length + 1 mimics the
`wasmer_last_error_length` function that counts the trailing null
byte.
2019-05-10 16:00:13 +02:00
Ivan Enderlin
1d555301f7 feat(runtime-c-api) Check buffer size before creating the slice.
It's safer to check the buffer size is large enough to hold the error
message before creating the slice from raw parts.

Also, this patch remove the need for `last_error`, simplifying the
code a little bit. The `length` variable is casted to `usize` once.
2019-05-10 15:55:02 +02:00
Ivan Enderlin
1c063090c5 doc(runtime-c-api) Add short module descriptions. 2019-03-29 16:35:35 +01:00
Ivan Enderlin
8ee0f16c8a fix(runtime-c-api) Remove last warnings. 2019-03-29 15:56:08 +01:00
Ivan Enderlin
849af62911 feat(runtime-c-api) Finish to extract last pieces of code. 2019-03-29 15:52:41 +01:00
Ivan Enderlin
361ff81db7 feat(runtime-c-api) Extract the import module. 2019-03-29 15:50:16 +01:00
Ivan Enderlin
9c4696eb5b feat(runtime-c-api) Extract the export module. 2019-03-29 15:38:12 +01:00
Ivan Enderlin
f46be814da feat(runtime-c-api) Extract the instance module. 2019-03-29 15:14:05 +01:00
Ivan Enderlin
d06d6b7ac8 feat(runtime-c-api) Extract the global module. 2019-03-29 15:05:17 +01:00
Ivan Enderlin
8bdb458ea7 feat(runtime-c-api) Extract the table module. 2019-03-29 15:02:50 +01:00
Ivan Enderlin
4239975240 feat(runtime-c-api) Move wasmer_validate into the module module. 2019-03-29 14:59:02 +01:00
Ivan Enderlin
55c010688c feat(runtime-c-api) Extract the memory module. 2019-03-29 14:57:08 +01:00
Ivan Enderlin
168aa8031f feat(runtime-c-api) Extract the module module. 2019-03-29 14:51:35 +01:00
Ivan Enderlin
96324977b5 feat(runtime-c-api) Extract the error module. 2019-03-29 14:41:39 +01:00
Ivan Enderlin
49c01f6093 feat(runtime-c-api) Extract the value module. 2019-03-29 14:40:26 +01:00
Ivan Enderlin
6fca475564 feat(runtime-c-api) Implement the wasmer_export_to_memory function.
This new function returns a `wasmer_memory_t` from a
`wasmer_export_t`.
2019-03-27 10:44:47 +01:00
Ivan Enderlin
57a82fa5cf fix(runtime-c-api) wasmer_serialized_module_from_bytes accepts bytes + length instead of wasmer_byte_array. 2019-03-19 16:24:59 +01:00
Ivan Enderlin
46edd20725 feat(runtime-c-api) Add the wasmer_serialized_module_from_bytes function.
This function is required to transform a `wasmer_byte_array` into a
`wasmer_serialized_module_t`. This is the complementary function of
`wasmer_serialized_module_bytes`.
2019-03-19 10:51:43 +01:00
Ivan Enderlin
5e31a1b6d1 feat(runtime-c-api) Introduce the wasmer_serialized_module_t struct type.
The `wasmer_module_serialize` function now computes a
`wasmer_serialized_module_t` value. The `wasmer_module_deserialize`
function takes this value as an input. Same for
`wasmer_serialized_module_destroy`.

The new function `wasmer_serialized_module_bytes` allows to read the
bytes inside the `wasmer_serialized_mdule_t` structure.
2019-03-19 10:04:31 +01:00
Ivan Enderlin
f049e9b0b3 fix(runtime-c-api) Remove explicity drop.
When the value goes out-of-scope, `drop` is called utomatically.
2019-03-18 16:09:02 +01:00
Ivan Enderlin
6605a02316 feat(runtime-c-api) Add the wasmer_module_serialization_destroy function. 2019-03-18 16:05:04 +01:00
Ivan Enderlin
aac5c88b58 doc(runtime-c-api) Update the documentation of wasmer_module_deserialize. 2019-03-15 12:18:52 +01:00