Merge branch 'master' into fix-runtime-c-api-header-preprocessor-clang

This commit is contained in:
Ivan Enderlin
2019-11-14 14:45:27 +01:00
committed by GitHub
10 changed files with 61 additions and 3 deletions

View File

@ -5,6 +5,8 @@ description = "Wasmer runtime Cranelift compiler backend"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
repository = "https://github.com/wasmerio/wasmer" repository = "https://github.com/wasmerio/wasmer"
keywords = ["wasm", "webassembly", "compiler", "JIT", "AOT"]
categories = ["wasm"]
edition = "2018" edition = "2018"
readme = "README.md" readme = "README.md"

View File

@ -5,6 +5,8 @@ description = "Wasmer runtime emscripten implementation library"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
repository = "https://github.com/wasmerio/wasmer" repository = "https://github.com/wasmerio/wasmer"
keywords = ["wasm", "webassembly", "ABI", "emscripten", "posix"]
categories = ["wasm"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]

View File

@ -1,7 +1,11 @@
[package] [package]
name = "wasmer-llvm-backend" name = "wasmer-llvm-backend"
version = "0.10.1" version = "0.10.1"
license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
repository = "https://github.com/wasmerio/wasmer"
keywords = ["wasm", "webassembly", "compiler", "JIT", "llvm"]
categories = ["wasm"]
edition = "2018" edition = "2018"
readme = "README.md" readme = "README.md"

View File

@ -5,6 +5,8 @@ repository = "https://github.com/wasmerio/wasmer"
description = "Wasmer runtime common middlewares" description = "Wasmer runtime common middlewares"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
keywords = ["wasm", "webassembly", "middleware", "metering"]
categories = ["wasm"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]

View File

@ -5,6 +5,8 @@ description = "Wasmer C API library"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
repository = "https://github.com/wasmerio/wasmer" repository = "https://github.com/wasmerio/wasmer"
keywords = ["wasm", "webassembly", "runtime"]
categories = ["wasm"]
edition = "2018" edition = "2018"
readme = "README.md" readme = "README.md"

View File

@ -5,6 +5,8 @@ description = "Wasmer runtime core library"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
repository = "https://github.com/wasmerio/wasmer" repository = "https://github.com/wasmerio/wasmer"
keywords = ["wasm", "webassembly", "runtime"]
categories = ["wasm"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]

View File

@ -45,9 +45,47 @@ macro_rules! trace {
} }
/// Helper macro to create a new `Func` object using the provided function pointer. /// Helper macro to create a new `Func` object using the provided function pointer.
///
/// # Usage
///
/// Function pointers or closures are supported. Closures can capture
/// their environment (with `move). The first parameter is likely to
/// be of kind `vm::Ctx`, though it can be optional.
///
/// ```
/// # use wasmer_runtime_core::{imports, func};
/// # use wasmer_runtime_core::vm;
///
/// // A function that has access to `vm::Ctx`.
/// fn func_with_vmctx(_: &mut vm::Ctx, n: i32) -> i32 {
/// n
/// }
///
/// // A function that cannot access `vm::Ctx`.
/// fn func(n: i32) -> i32 {
/// n
/// }
///
/// let i = 7;
///
/// let import_object = imports! {
/// "env" => {
/// "foo" => func!(func_with_vmctx),
/// "bar" => func!(func),
/// // A closure with a captured environment, and an access to `vm::Ctx`.
/// "baz" => func!(move |_: &mut vm::Ctx, n: i32| -> i32 {
/// n + i
/// }),
/// // A closure without a captured environment, and no access to `vm::Ctx`.
/// "qux" => func!(|n: i32| -> i32 {
/// n
/// }),
/// },
/// };
/// ```
#[macro_export] #[macro_export]
macro_rules! func { macro_rules! func {
($func:path) => {{ ($func:expr) => {{
$crate::Func::new($func) $crate::Func::new($func)
}}; }};
} }
@ -56,12 +94,12 @@ macro_rules! func {
/// ///
/// [`ImportObject`]: struct.ImportObject.html /// [`ImportObject`]: struct.ImportObject.html
/// ///
/// # Note: /// # Note
/// The `import` macro currently only supports /// The `import` macro currently only supports
/// importing functions. /// importing functions.
/// ///
/// ///
/// # Usage: /// # Usage
/// ``` /// ```
/// # use wasmer_runtime_core::{imports, func}; /// # use wasmer_runtime_core::{imports, func};
/// # use wasmer_runtime_core::vm::Ctx; /// # use wasmer_runtime_core::vm::Ctx;

View File

@ -5,6 +5,8 @@ description = "Wasmer runtime library"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
repository = "https://github.com/wasmerio/wasmer" repository = "https://github.com/wasmerio/wasmer"
keywords = ["wasm", "webassembly", "runtime", "sandbox", "secure"]
categories = ["wasm", "api-bindings"]
edition = "2018" edition = "2018"
readme = "README.md" readme = "README.md"

View File

@ -5,6 +5,8 @@ repository = "https://github.com/wasmerio/wasmer"
description = "Wasmer runtime single pass compiler backend" description = "Wasmer runtime single pass compiler backend"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
keywords = ["wasm", "webassembly", "compiler", "JIT", "AOT"]
categories = ["wasm"]
edition = "2018" edition = "2018"
readme = "README.md" readme = "README.md"

View File

@ -5,6 +5,8 @@ description = "Wasmer runtime WASI implementation library"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
repository = "https://github.com/wasmerio/wasmer" repository = "https://github.com/wasmerio/wasmer"
keywords = ["wasm", "webassembly", "wasi", "sandbox", "ABI"]
categories = ["wasm"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]