Commit Graph

2616 Commits

Author SHA1 Message Date
15d7056972 Merge branch 'master' into feature/better-tar-install 2019-04-22 17:27:25 -07:00
fef38200a5 Fixed circle config 2019-04-22 17:25:00 -07:00
addd81da19 Improved build 2019-04-22 17:22:20 -07:00
2a1df0fdf1 Added WASI integration tests 2019-04-22 17:06:42 -07:00
f104b2c324 Merge #383
383: Hook up wasi exit code to wasmer cli r=lachlansneff a=lachlansneff

Test by running:

```
> target/release/wasmer run examples/exit.wat
> echo $?
```

should echo "7".

Fixes (at least the exit code part) of #361.

Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
2019-04-23 00:03:40 +00:00
53c576fe48 remove run_instance function 2019-04-22 16:54:58 -07:00
c8937c4f26 Update changelog 2019-04-22 16:49:40 -07:00
2038eec4ae Merge branch 'feature/wasi-return-exit-code' of github.com:wasmerio/wasmer into feature/wasi-return-exit-code 2019-04-22 16:48:47 -07:00
260c0acec6 Format wasmer.rs 2019-04-22 16:48:44 -07:00
9c825509c8 Merge branch 'master' into feature/wasi-return-exit-code 2019-04-22 16:48:24 -07:00
76f4798436 Hook up wasi exit code to wasmer cli 2019-04-22 16:45:36 -07:00
baae2b3826 Merge #382
382: reduce suggested backends to the ones compiled into wasmer r=MarkMcCaskey a=MarkMcCaskey

resolves #380 

Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <markmccaskey@users.noreply.github.com>
2019-04-22 23:15:33 +00:00
e8b2660eb7 greatly simplify logic -- thanks Lachlan! 2019-04-22 16:14:12 -07:00
b3dacbfc3c Merge branch 'master' into feature/improve-backend-error-message 2019-04-22 16:09:08 -07:00
015bf78953 update changelog 2019-04-22 16:06:22 -07:00
51cf0d1be7 reduce suggested backends to the ones compiled into wasmer 2019-04-22 16:03:04 -07:00
b7f98c8401 Merge #381
381: Hook up error propagation r=lachlansneff a=lachlansneff

You can now retrieve the error from a panicking or error-returning imported function.

Example:

```rust
#[derive(Debug)]
struct ExitCode {
    code: i32,
}

fn do_panic(_ctx: &mut Ctx) -> Result<i32, ExitCode> {
    Err(ExitCode { code: 42 })
}

// This wasm functions calls `do_panic`.
let foo: Func<(), i32> = instance.func(...)?;

let result = foo.call();

println!("result: {:?}", result);

if let Err(RuntimeError::Error { data }) = result {
    if let Ok(exit_code) = data.downcast::<ExitCode>() {
        println!("exit code: {:?}", exit_code);
    }
}
```

outputs:

```
result: Err(unknown error)
exit code: ExitCode { code: 42 }
```

Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
2019-04-22 22:55:25 +00:00
ff9de181f1 Add error propagation test 2019-04-22 15:53:21 -07:00
14325c975e Rename internal enum to make less confusing 2019-04-22 15:36:47 -07:00
aa9cd84085 Update changelog 2019-04-22 15:17:47 -07:00
706ddabf61 Hook up error propagation 2019-04-22 15:06:40 -07:00
a42b7d3815 Merge #379
379: Fix small return types. r=syrusakbary a=lachlansneff

This fixes returning integers smaller than 32bits from imported functions. Also some work on fixing returning errors from functions.

Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
Co-authored-by: Syrus <me@syrusakbary.com>
2019-04-22 19:46:35 +00:00
3729c4a8b8 Revert "Merge #370"
This reverts commit 48a8391f5d, reversing
changes made to 363b46eca7.
2019-04-22 12:10:39 -07:00
878a0e6687 Partial Revert of types “Return type normalization, and change return errors from imported functions"
This reverts commit 74b6ba4eaf.

# Conflicts:
#	lib/wasi/src/syscalls/mod.rs
2019-04-22 12:09:30 -07:00
7940aa7e42 Fix renamed variable 2019-04-22 11:57:50 -07:00
ecdcab5de9 Update singlepass to renamed enum discrimant 2019-04-22 11:47:47 -07:00
39ebca366c Update changelog 2019-04-22 11:44:31 -07:00
74b6ba4eaf Return type normalization, and change return errors from imported functions 2019-04-22 11:42:52 -07:00
85d9ca9ad2 Add NativeWasmType trait and modify WasmExternType 2019-04-22 10:35:55 -07:00
21bd55c30d Make the slice::from_raw_parts call safe 2019-04-21 12:58:48 +02:00
9e93565a49 Cleanup build warnings imports and unnecessary unsafe 2019-04-20 20:37:39 -05:00
6478500b8f Merge #371
371: Add more Debug impl for WASI types r=bjfish a=bjfish



Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
Co-authored-by: Brandon Fish <bjfish@users.noreply.github.com>
2019-04-20 22:41:46 +00:00
2516a1ee31 Merge branch 'master' into feature/wasi-more-debug 2019-04-20 14:22:59 -05:00
962c9c8596 Add more Debug impl for WASI types 2019-04-20 14:22:31 -05:00
684720ab3a Merge branch 'master' into feature/tar-install-with-wapm 2019-04-20 12:17:22 -07:00
48a8391f5d Merge #370
370: Fix WASI by using u32 everywhere instead of u16 r=syrusakbary a=syrusakbary

Long story short: we were seeing some undeterministic behavior when running wasmer with WASI on Linux.

It turned out we are doing some bad conversions from u16 to the inner type in the trampolines (or func type?), and this only showed up in certain systems.

This PR is a quick fix to get things running quickly, but we will proceed with a proper fix soon and revert this PR.

Note: the discovery of the bug was done by @bjfish, and this PR is just a very simple way to address it.

cc @lachlansneff 

Co-authored-by: Syrus <me@syrusakbary.com>
2019-04-20 18:56:20 +00:00
0aa35a675b Fix WASI by using u32 everywhere instead of u16 2019-04-20 11:47:06 -07:00
363b46eca7 Merge #368
368: fix write to flush buffer; fix warnings r=MarkMcCaskey a=MarkMcCaskey

resolves #363 

Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-04-20 00:22:07 +00:00
9256f6e60a update changelog 2019-04-19 16:48:30 -07:00
8095d70957 fix write to flush buffer; fix warnings 2019-04-19 15:57:51 -07:00
f7e4a09832 Merge #343
343: add preopened fd and fix/improve fs syscalls; fix wasi memory access r=MarkMcCaskey a=MarkMcCaskey

resolves #356 

Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
Co-authored-by: Mark McCaskey <markmccaskey@users.noreply.github.com>
2019-04-19 21:24:58 +00:00
5a575cd64d Merge branch 'master' into feature/preopen-fd-and-more 2019-04-19 14:24:30 -07:00
b4ded07313 Merge branch 'master' into feature/preopen-fd-and-more 2019-04-19 14:14:40 -07:00
f959c3f15a Merge #367
367: Add caching support to llvm backend r=lachlansneff a=lachlansneff

This changes the `CacheGen` trait a little, since it was weird.

Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
2019-04-19 21:10:14 +00:00
087a826222 fix tests on more time uh huh 2019-04-19 14:09:41 -07:00
eef2bc6a21 update changelog 2019-04-19 14:07:41 -07:00
3b9e12b248 fix test 2019-04-19 14:02:21 -07:00
c3ef1f8421 Remove commented-out code 2019-04-19 14:00:03 -07:00
65838fe148 Update changelog 2019-04-19 13:57:05 -07:00
443663aa3f Add caching support to llvm backend 2019-04-19 13:54:48 -07:00