Commit Graph

2814 Commits

Author SHA1 Message Date
862a4c5448 Merge pull request #814 from confio/fix-linux-image-link-error
Fix issues with testing/linking singlepass in runtime-c-api
2019-09-20 16:33:30 -07:00
bf396ec76d Remove patch version in deps when not necessary 2019-09-20 16:11:09 -07:00
7f2c532594 Allow dead code in emscripten WasmPtr 2019-09-20 13:19:31 -07:00
882a77ccf9 Remove null pointer checks generally, re-add them in Emscripten 2019-09-20 12:02:12 -07:00
7deed3160b cargo fmt 2019-09-20 18:59:36 +02:00
ca409f78c5 fix spectest 2019-09-20 18:54:05 +02:00
aea18f6250 test(interface-types) Test calling a void exported function. 2019-09-20 14:59:18 +02:00
8557e83ce6 feat(interface-types) Better error message when calling an exported function failed. 2019-09-20 14:55:37 +02:00
56afb4da63 feat(interface-types) Check signature of the exported function to call. 2019-09-20 14:31:15 +02:00
b7b37d2e99 feat(interface-types) The interpreter stack contains Wasm values. 2019-09-20 14:07:56 +02:00
2237e628ab chore(interface-types) Fix clippy warnings. 2019-09-20 12:02:11 +02:00
39a817817b feat(interface-types) Stack supports Default. 2019-09-20 11:55:19 +02:00
9d4c983206 feat(interface-types) Implement CallExport executable instruction.
It requires to create the `wasm::Export` trait, plus the `wasm::Type`
and the `wasm::Value` enums.
2019-09-20 11:37:38 +02:00
62e1f7867b feat(interface-types) Add an abstract Wasm instance and a runtime to the interpreter. 2019-09-20 00:06:15 +02:00
c63345029e feat(interface-types) Continue. 2019-09-19 23:05:17 +02:00
0790ebff0c Merge #803
803: Add method to call function at index on Ctx r=MarkMcCaskey a=MarkMcCaskey

For #638 and #670

```Rust
fn call_guest_fn(ctx: &mut Ctx, guest_fn: u32) -> u32 {
    println!("{}", guest_fn);

    let guest_fn_typed = unsafe { std::mem::transmute(guest_fn) };

    let result = ctx.call_with_table_index(guest_fn_typed, &[]).unwrap();
    println!("  -> {:?}", result);

    0
}
```
is what this looks like from the Host side

See `examples/callback.rs` for an example that doesn't require `transmute`


# Review

- [x] Create a short description of the the change in the CHANGELOG.md file


Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <markmccaskey@users.noreply.github.com>
2019-09-19 20:55:09 +00:00
9a49fb59e0 Merge branch 'master' into fix-test-typo 2019-09-19 22:15:32 +02:00
dd1a4a6c10 Merge #805
805: Replace panic! & unimplemented! in runtime-code and llvm-backend r=nlewycky a=pventuzelo

# Description

Replace `unimplemented!` by already used `CodegenError` in `lib/llvm-backend/src/code.rs`
Replace `unimplemented!` by `Err` in `lib/llvm-backend/src/trampolines.rs`
Replace `panic!` by already used `BinaryReaderError` in `lib/runtime-core/src/parse.rs`

# Review

- [ ] Create a short description of the the change in the CHANGELOG.md file


Co-authored-by: Patrick Ventuzelo <ventuzelo.patrick@gmail.com>
2019-09-19 19:20:04 +00:00
8d0edc61df Merge master 2019-09-19 11:16:14 +02:00
a9d8b22fe7 Merge branch 'master' into feature/call-function-at-index-on-just-ctx 2019-09-18 16:46:08 -07:00
ccd369ff0c Add example, rename Ctx fn, make things pub(crate), misc changes 2019-09-18 16:43:47 -07:00
5741a2cf70 Implement function lookups using the table 2019-09-18 16:06:46 -07:00
2f3c37fbd5 feat(interface-types) Continue. 2019-09-19 00:25:28 +02:00
8ae255b51a Fix issues with testing/linking singlepass in runtime-c-api 2019-09-19 00:19:17 +02:00
dc3c72ea19 feat(interface-types) Draft instruction interpreter. 2019-09-19 00:18:36 +02:00
e8a918e2e5 %lld -> %ld fixes cargo test compile error 2019-09-18 23:25:35 +02:00
a124d87d0f Fix Operator::MemorySize. 2019-09-19 01:10:23 +08:00
5f8b289751 movzx/movsx 2019-09-19 01:04:20 +08:00
fc9389d932 feat(interface-types) Encode Interfaces to WAT. 2019-09-18 18:02:05 +02:00
6ec35c8bdc chore(interface-types) Bump to 0.7.0. 2019-09-18 17:14:57 +02:00
480fe0fb9b chore(interface-types) Update to Wasmer 0.7.0. 2019-09-18 17:14:12 +02:00
bd3a888452 feat(interface-types) Add new instructions. 2019-09-18 17:12:42 +02:00
6279b3e915 feat(interface-types) Continue the WAT encoder. 2019-09-18 17:12:42 +02:00
40613d3d48 feat(interface-types) Draft the WAT encoder. 2019-09-18 17:12:42 +02:00
4ba9aace64 fix(interface-types) get-field #1 argument is of type InterfaceType. 2019-09-18 17:12:42 +02:00
a7ffffc8b4 feat(interface-types) Move TryFrom from the ast to the binary module. 2019-09-18 17:12:42 +02:00
5a8a2b90ed fix(interface-types) Fix visibility of various symbols. 2019-09-18 17:12:42 +02:00
24ac7a6c41 test(interface-types) Add test cases for higher-level parsers. 2019-09-18 17:12:42 +02:00
dc254e0845 test(interface-types) Add test case for “unit” parsers. 2019-09-18 17:12:42 +02:00
1c1b74baa1 feat(interface-types) Split into multiple files. 2019-09-18 17:12:42 +02:00
45ba77c5e3 feat(interface-types) Continue. 2019-09-18 17:12:42 +02:00
7ca546e5c5 feat(interface-types) Continue. 2019-09-18 17:12:41 +02:00
b3af77c92d feat(wasmer-interface-types) Draft. 2019-09-18 17:12:41 +02:00
8a91f801b9 Fix return from homomorphic host redirection trampoline. 2019-09-18 21:47:31 +08:00
315b87c718 check index before accessing imports.globals 2019-09-18 10:28:49 +02:00
9c205e05a2 Add comments explaining the unsafe impls and simplify the code, too 2019-09-17 18:35:12 -07:00
83c3909b00 Implement it for memory and make Instance Send 2019-09-17 14:58:26 -07:00
9e9343878d Implement Send for everything except Memory 2019-09-17 11:45:13 -07:00
72b6123def Fix memory grow 2019-09-18 02:38:35 +08:00
e40600533e Add missing emit_mov variants. 2019-09-18 02:30:45 +08:00