41 Commits

Author SHA1 Message Date
losfair
32f9aee6fe Cargo fmt 2019-05-14 16:04:08 +08:00
losfair
db9705f00c Merge remote-tracking branch 'origin/master' into feature/remote-code-load 2019-05-14 15:46:15 +08:00
Syrus
8218e550fc Improved docs and fixed few typos 2019-05-13 11:18:57 -07:00
Heyang Zhou
0bbd6e6970 Fix function offset. 2019-05-07 08:25:46 -07:00
Heyang Zhou
a590d7cd07 Tables 2019-05-04 09:56:52 -07:00
losfair
14bfd75ac9 Code loader framework. 2019-05-03 00:23:41 +08:00
Brandon Fish
389c6a015d Remove unused function memory offset addr 2019-04-24 02:00:07 -05:00
Lachlan Sneff
706ddabf61 Hook up error propagation 2019-04-22 15:06:40 -07:00
Lachlan Sneff
051d435423 Warnings and unused code cleanup 2019-04-12 10:27:14 -07:00
Lachlan Sneff
d8c6f76846 Redesign the interface between the runtime and the backends.
This removes the ProtectedCaller and FuncResolver traits, simplifying call implementations and improving dynamic call throughput.
2019-04-11 18:01:54 -07:00
bors[bot]
870faf9838 Merge #341
341: feat(runtime-core) `Instance.exports` takes `&self` instead of `&mut self` r=lachlansneff a=Hywan

There is no reason for `exports` to take a mutable reference. This patch rewrites the `Instance.export` signature a little bit.

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-04-10 19:22:12 +00:00
Ivan Enderlin
20297d1751 feat(runtime-core) Instance.exports takes &self instead of &mut self.
There is no reason for `exports` to take a mutable reference.
2019-04-10 12:17:16 -07:00
Lachlan Sneff
c212ba3619 Add implementations for typed func errors to cranelift and llvm 2019-04-09 15:53:01 -07:00
Lachlan Sneff
5e1a67d835 Initial typed func rewrite 2019-04-09 12:48:41 -07:00
Lachlan Sneff
7b0992e44f Instance now pulls state from the ImportObject 2019-03-28 11:56:31 -07:00
Mark McCaskey
5e39a7b3d9 rewrite extending imports 2019-03-22 17:11:30 -07:00
Lachlan Sneff
7ef2c0dece Fix execute after free issue with llvm (and presumably cranelift?) 2019-03-04 14:41:56 -08:00
Lachlan Sneff
3717c5720d Get control flow (at least according to the llvm verifier) working.
Next up:
- Importing vm intrinsics.
2019-03-01 15:48:43 -08:00
Lachlan Sneff
327e3a4a1a Implement many wasm instructions 2019-02-09 15:53:40 -08:00
Lachlan Sneff
aa90a33501 Make module info store FuncSig, not Arc<FuncSig> 2019-02-08 14:19:58 -08:00
Lachlan Sneff
1886b3d3c1
Naive short circuiting implementation for user panics and results. (#167)
* Add panic and result catching

* exit process on panic and user runtime error

* Complete initial implementation
2019-02-08 13:08:03 -08:00
Lachlan Sneff
e147983ece fix 2019-02-07 10:45:48 -08:00
Lachlan Sneff
8fe9b7eac2
Add caching. (#134)
* Allow a module to have a different signature registry than the process-specific

* Add core ability to build compiled code caches

* Remove timing printouts

* Serialize/Deserialize memories to reduce copies

* Work more on api

* Relocate local functions relatively before external functions

* Fix incorrect definition in test

* merge errors caused by merge

* Fix emscripten compile

* Fix review comments
2019-02-06 16:26:45 -08:00
Lachlan Sneff
00db5410c5 Change memory access api again 2019-02-04 23:07:58 -08:00
Lachlan Sneff
563cda7ba2 Merge branch 'fix/emscripten-translate' of github.com:wasmerio/wasmer into fix/emscripten-translate 2019-02-04 15:08:10 -08:00
Lachlan Sneff
7fce447276 Change memory api 2019-02-04 15:07:32 -08:00
Mackenzie Clark
5f753f727c
Merge branch 'master' into fix/emscripten-translate 2019-02-04 15:05:43 -08:00
Mackenzie Clark
e688b374a6
fix some typos (#136) 2019-02-04 10:24:44 -08:00
Lachlan Sneff
dcc75b98ba Fix some tests 2019-02-02 16:02:28 -08:00
Lachlan Sneff
ccd43df767 Instantiate takes reference 2019-02-02 15:58:33 -08:00
Lachlan Sneff
eba66f3b33 Add typed functions and weird type parameter things 2019-02-02 15:28:50 -08:00
Lachlan Sneff
19242a413f Get table imports working 2019-01-29 10:16:39 -08:00
Lachlan Sneff
98305c8731 Add new global import api 2019-01-28 11:55:44 -08:00
Lachlan Sneff
e4686e67c4 Add importable memories and dynamic memories 2019-01-25 15:28:54 -08:00
Lachlan Sneff
ab25125bba Change error discriminant name 2019-01-23 16:51:34 -08:00
Lachlan Sneff
0aa1687ca3 Add context and context_mut methods to Instance 2019-01-23 15:58:28 -08:00
Lachlan Sneff
147b214965 Fix doc tests 2019-01-23 15:36:13 -08:00
Lachlan Sneff
bc2e527bb2 Add func method to Instance 2019-01-23 15:30:35 -08:00
Lachlan Sneff
ab65477d1f
Refine the runtime api and document the exposed items (#115)
* private module, remove unused method, docs on compile_with

* refine runtime api and document exposed items

* Fix integration test build

* Fix lint
2019-01-23 12:34:15 -08:00
Lachlan Sneff
38b0fbf3c5
Generate trampolines to call exported functions instead of using libffi (#108)
* remove codegen.rs

* Add export trampolines and remove libffi

* Remove unused extern crates
2019-01-22 15:00:27 -08:00
Brandon Fish
74875ed554 Library restructure (#104)
* Move wasmer-runtime to wasmer-runtime-core

* Add the runtime library

* Fix issue with macros using wasmer_runtime, fmt

* Make default compiler dependency optional

* Add instantiate and validate functions
2019-01-22 11:02:06 -08:00