Commit Graph

3500 Commits

Author SHA1 Message Date
losfair
a057296618 (S32, Imm64, GPR) 2019-10-17 23:45:58 +08:00
losfair
3f35a74b84 Two more mov variants. 2019-10-17 23:40:44 +08:00
losfair
4df7973639 Add mov variants. 2019-10-17 23:34:24 +08:00
losfair
00242cdd7f Fix LEA simulation on aarch64. 2019-10-17 23:00:50 +08:00
losfair
d325635629 Increment aarch64 virtual stack size to 1MB. 2019-10-17 23:00:32 +08:00
losfair
3de0c7763f Skip inline non-instruction data. 2019-10-15 22:12:08 +08:00
losfair
81d538ade2 Fix disp < 0 case. 2019-10-15 22:00:33 +08:00
losfair
ee88c459e5 Allow arbitrary size of disp. 2019-10-15 21:55:04 +08:00
losfair
e5f7dc8274 Print the last frame in block trace output. 2019-10-14 20:23:43 +08:00
losfair
2e532fa66d Preserve fault.ip when calling middleware. 2019-10-14 20:23:27 +08:00
losfair
a525907c60 Emit state information for internal breakpoints. 2019-10-14 20:23:10 +08:00
losfair
ba7e2b70ed Add block-trace flag to CLI. 2019-10-13 20:51:48 +08:00
losfair
b0b0983eb8 Allow accessing execution state in middleware breakpoint handlers. 2019-10-13 20:51:39 +08:00
losfair
128b006bf7 Add a BlockTrace middleware. 2019-10-13 20:51:03 +08:00
losfair
5499a69ddc Run cargo fmt on everything. 2019-10-13 20:02:47 +08:00
losfair
c18bdd52cc Fix inline breakpoints on macOS. 2019-10-13 20:02:28 +08:00
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
losfair
8ee4b7f7b0 Replace brk with undefined instruction. 2019-10-10 22:08:52 +08: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
losfair
e0e7d58313 Make state mapping work on non-x86 architectures. 2019-10-07 23:00:37 +08:00
losfair
80d6c4cbc0 Implement get_fault_info for aarch64. 2019-10-06 18:27:35 +08:00
losfair
b304317682 More mov variants. 2019-09-30 01:01:15 +08:00
losfair
89d8b5a41c Fixes for aarch64. 2019-09-28 17:31:10 +08:00
losfair
3dadbc15c9 Integer subset done. 2019-09-23 22:30:08 +08:00
losfair
a124d87d0f Fix Operator::MemorySize. 2019-09-19 01:10:23 +08:00
losfair
5f8b289751 movzx/movsx 2019-09-19 01:04:20 +08:00
losfair
8a91f801b9 Fix return from homomorphic host redirection trampoline. 2019-09-18 21:47:31 +08:00
losfair
72b6123def Fix memory grow 2019-09-18 02:38:35 +08:00
losfair
e40600533e Add missing emit_mov variants. 2019-09-18 02:30:45 +08:00
losfair
97b75d0124 Ensure callee-saved registers are properly preserved. 2019-09-18 02:21:35 +08:00
losfair
b57aba4ae7 Add homomorphic host redirection abstraction for vm->host calls. 2019-09-18 02:14:13 +08:00
losfair
574e4c477f Print return value from pure WASM binary. 2019-09-17 00:54:34 +08:00
losfair
d8b313e3fd Fix emit_lea. 2019-09-17 00:49:21 +08:00
losfair
05557fc9ad Bump dynasm to v0.5.1 2019-09-16 23:46:10 +08:00
losfair
96163a07a6 Temporarily disable all lints in runtime-core. 2019-09-15 18:33:53 +08:00
losfair
2af69f6710 Fixed compilation on aarch64. 2019-09-15 18:32:02 +08:00
losfair
9b77677e4b Relax constraints a bit to compile on aarch64. 2019-09-15 18:23:42 +08:00
losfair
d3227f830c More instructions & aarch64 trampolines. 2019-09-15 17:57:40 +08:00
losfair
ce7c903c23 Add impl for more instructions for aarch64 translator. 2019-09-11 01:13:52 +08:00
losfair
4210715070 AArch64 translation module. 2019-09-07 01:32:21 +08:00
bors[bot]
20a0afa6a5
Merge #756
756: feat(runtime-c-api) Allow to call `wasmer_export_func_call` with null inputs and a 0 arity r=syrusakbary a=Hywan

Fix #753 

This PR allows to call `wasmer_export_func_call` with inputs set to NULL, and an arity of 0. It avoids to create an empty inputs array. So basically:

```c
wasmer_export_func_call(exported_function, NULL, 0, …, …);
```

instead of:

```c
wasmer_value_t inputs = {};
wasmer_export_func_call(exported_function, inputs, 0, …, …);
```

This PR also updates the test suite for exports. Instead of just the famous `sum` function, we now test more functions, so that all Wasm types are covered, including void functions.

Finally, this PR updates the `wasmer_export_func_call` signature to forbid negative arities.

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-09-06 11:56:45 +00:00
Ivan Enderlin
1f1ecb7e00 test(runtime-c-api) Use calloc and simplify code. 2019-09-06 10:20:36 +02:00
Ivan Enderlin
a67ce539ef test: Fix CS. 2019-09-05 15:10:09 +02:00