Commit Graph

4287 Commits

Author SHA1 Message Date
losfair
ad3faa0ba0 Add CallTrace CLI option. 2019-10-11 21:05:59 +08:00
losfair
36f95fc660 Support emitting inline breakpoints in singlepass. 2019-10-11 21:05:42 +08:00
losfair
94f97109ff Include backend metadata in tiering module. 2019-10-11 21:05:17 +08:00
losfair
db59127f71 Inline breakpoint support in core. 2019-10-11 21:04:53 +08:00
losfair
2e1fb7abca Update call_trace middleware to include a counter. 2019-10-11 21:04:09 +08:00
Ivan Enderlin
c3ff8eb540 fix(runtime-c-api) Replace unsafe code by safe code. 2019-10-11 09:26:05 +02:00
Ivan Enderlin
01c209fe96 feat(runtime-c-api) Move the wasi module into its own file. 2019-10-11 09:19:46 +02:00
Mark McCaskey
bd8e864656 Add functions import object to get import fns and free them 2019-10-10 16:07:56 -07:00
Mark McCaskey
51f619a132 Change pointer that's not modified to be const in C API 2019-10-10 11:22:45 -07:00
losfair
8ee4b7f7b0 Replace brk with undefined instruction. 2019-10-10 22:08:52 +08:00
Yaron Wittenstein
420bfa570e
Merge branch 'master' into deterministic 2019-10-10 15:55:35 +03:00
Mark McCaskey
913354adb3 Add function to get export from ns/name via ImportObject to C API 2019-10-09 17:29:27 -07:00
bors[bot]
2695093a03
Merge #863
863: Rewrite Min/Max to handle all cases correctly. Fixes 545 spectest failures. r=nlewycky a=nlewycky

# Description
The llvm backend was not quite following the Wasm spec for {F32,F64,F32x4xF64x2}{Min,Max}. We used the `@llvm.minnum` and `@llvm.maxnum` intrinsics which don't handle the corner cases the same. When we tried to use `@llvm.minimum` and `@llvm.maximum` which do, we get an internal error from the x86 backend. I was hoping that crash would go away with the upgrade to LLVM 9, but it does not.

Reimplement these operations using plain LLVM instructions.

# Review

- [x] Add a short description of the the change to the CHANGELOG.md file


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-09 22:24:07 +00:00
bors[bot]
88f126a00b
Merge #870
870: Fix unused value warning due to inkwell API change. NFC. r=nlewycky a=nlewycky

# Description
Fix unused value warning due to inkwell API change. No functionality change.

Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-08 23:56:10 +00:00
bors[bot]
e6693612f8
Merge #872
872: Pass llvm debug flags to the llvm backend. r=nlewycky a=nlewycky

This was accidentally removed in 124ad73e8a .

Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-08 19:30:46 +00:00
Nick Lewycky
0567845ead cargo fmt 2019-10-08 11:29:03 -07:00
Nick Lewycky
c61cbf6c0b Add a comment. 2019-10-08 11:25:10 -07:00
Nick Lewycky
ebd71672e0 Pass llvm debug flags to the llvm backend.
This was accidentally removed in 124ad73e8a .
2019-10-08 11:23:18 -07:00
losfair
3778352d39 Update a few examples. 2019-10-08 23:01:03 +08:00
losfair
bd06aa02ba x 2019-10-08 19:07:38 +08:00
losfair
c337999c5c x 2019-10-08 18:43:39 +08:00
losfair
b5bb3fa764 Move {push,pop}_code_version to caller side for non-mananged execution. 2019-10-08 18:41:22 +08:00
Nick Lewycky
afddbb2b2a Remove unused value warning due to inkwell API change. NFC. 2019-10-07 17:16:52 -07:00
bors[bot]
8f734c5b04
Merge #869
869: Remove exclusions for tests that appear to be passing right now. r=nlewycky a=nlewycky

# Description
Remove exclusions for tests that appear to be passing right now.

Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-08 00:13:56 +00:00
Nick Lewycky
9cdfb48d0c The i1 argument is actually named "is_zero_undef" which we want to be false.
Fixes the test failures that showed up on mac.
2019-10-07 17:11:59 -07:00
Nick Lewycky
158db4cee1 Remove exclusions for tests that appear to be passing right now. 2019-10-07 15:11:45 -07:00
bors[bot]
f6df1e577a
Merge #868
868: Replace "be the i32 type" with "be an i32" in error messages. r=nlewycky a=nlewycky

# Description
Adjust wording in error messages.


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-07 20:33:27 +00:00
Yaron Wittenstein
3489bfb9b9 renamed feature flag deterministic to deterministic-execution 2019-10-07 23:07:20 +03:00
Yaron Wittenstein
899099f325 Cargo.toml - removing deterministic feature flag 2019-10-07 22:58:46 +03:00
Yaron Wittenstein
7ce5ec4df9 fixes to PR comments 2019-10-07 22:34:32 +03:00
Nick Lewycky
4d99963640 Replace "be the i32 type" with "be an i32" in error messages. 2019-10-07 12:11:10 -07:00
losfair
e0e7d58313 Make state mapping work on non-x86 architectures. 2019-10-07 23:00:37 +08:00
Yaron Wittenstein
6ca5812798 When deterministic feature will be enabled (turned-off by default) it'll guarantee deterministic
execution of wasm programs across different hardware/circumstances.
This is very useful for Blockchain projects having wasm smart-contracts

This is critical for Blockchain projects that require execution to be deterministic
in order to reach a consensus of the state transition of each smart-contract transaction.
2019-10-07 16:58:58 +03:00
Patrick Ventuzelo
ed615c4878 fix build error docs 2019-10-07 12:56:55 +02:00
losfair
80d6c4cbc0 Implement get_fault_info for aarch64. 2019-10-06 18:27:35 +08:00
Nick Lewycky
749691ca2a Add a comment explaining why we don't use the intrinsics for these. 2019-10-04 11:50:11 -07:00
Nick Lewycky
da0cfb8fc2 Add changelog entry. 2019-10-04 11:36:38 -07:00
Nick Lewycky
1a7f00f0af Rewrite Min/Max to handle all cases correctly.
Fixes 545 spectest failures.
2019-10-03 18:19:12 -07:00
Mark McCaskey
bfb9d3849c Fix merge 2019-10-03 11:58:06 -07:00
Mark McCaskey
689bdd08a1 Merge branch 'master' into feature/wasi-in-c-api 2019-10-03 11:56:37 -07:00
Mark McCaskey
70b55b801d Check argument pointers for null to WASI calls 2019-10-03 10:50:07 -07:00
Patrick Ventuzelo
ba1b55d6c8 add changelog entry 2019-10-03 11:34:40 +02:00
Patrick Ventuzelo
4b3880c88b add details when calling unimplemented! 2019-10-03 11:26:54 +02:00
Syrus Akbary
c8e9530805
Merge pull request #860 from wasmerio/MarkMcCaskey-patch-1
Remove incorrect duplicate entry
2019-10-02 19:29:56 -07:00
bors[bot]
1a4206605c
Merge #831
831: Add support for atomic operations, excluding wait and notify, to singlepass. r=nlewycky a=nlewycky

# Description
Adds support for atomic operations, excluding wait and notify, to singlepass. Enable with `--enable-threads`.

# Review

- [x] Add a short description of the the change to the CHANGELOG.md file


Co-authored-by: Nick Lewycky <nick@wasmer.io>
Co-authored-by: nlewycky <nick@wasmer.io>
2019-10-03 00:36:56 +00:00
nlewycky
f63c706abc
Merge branch 'master' into feature/singlepass-atomicops 2019-10-02 16:46:59 -07:00
Mark McCaskey
5859074597
Remove incorrect duplicate entry 2019-10-02 16:36:57 -07:00
Nick Lewycky
ab76c2357f Delete dead (commented out) code. NFC. 2019-10-02 16:31:11 -07:00
Nick Lewycky
8e63d54fdb cargo fmt 2019-10-02 16:31:11 -07:00
Nick Lewycky
83b678bc36 Give this function a better name. 2019-10-02 16:31:11 -07:00