Commit Graph

6495 Commits

Author SHA1 Message Date
Syrus Akbary
e711311aa9 Merge pull request #47 from wasmerio/feat-wasm-common-wasm-min-pages
feat(wasm-common) Add `WASM_MIN_PAGES`, and expose other `WASM_*` constants
2020-05-22 09:51:22 -07:00
losfair
8ec1ecf50d Use a single location per function/trap combination as the condition trap destination. 2020-05-23 00:44:00 +08:00
Nick Lewycky
300c684742 Emit stack probes in LLVM. 2020-05-22 09:42:58 -07:00
Ivan Enderlin
e7036376c8 feat(compiler) Compute custom sections. 2020-05-22 15:51:45 +02:00
Ivan Enderlin
03768911b7 feat(runtime) Add the ModuleInfo::custom_sections field. 2020-05-22 15:51:08 +02:00
Ivan Enderlin
540e453cd1 feat(wasm-common) Expose the WASM_* units. 2020-05-22 14:24:10 +02:00
Ivan Enderlin
f1ec212d02 feat(wasm-common) Add WASM_MIN_PAGES.
Also, makes the other constants public.
2020-05-22 14:23:47 +02:00
Syrus Akbary
3a96e8c2d3 Merge pull request #43 from wasmerio/engine-refactor
Engine refactor
2020-05-21 18:16:38 -07:00
Syrus
262551ac02 Simplified signature code a bit 2020-05-21 17:27:21 -07:00
nlewycky
4cc3b5fc1e Merge pull request #44 from wasmerio/llvm-object-file
Refactor compiler-llvm loading object files.
2020-05-21 15:13:51 -07:00
Nick Lewycky
b97a7cb2fc Implement missing error handling.
Expand acronym in comment.
2020-05-21 14:30:45 -07:00
Syrus
e92064b844 Improve frame info registration 2020-05-21 13:56:13 -07:00
Nick Lewycky
4d791d3e55 Rename mem_buf_slice to contents.
The callers are slicing a memory buffer, but that's not relevant to this function's API.
2020-05-21 13:56:05 -07:00
Syrus
b39ebdf77a Make data initializers be a reference rather than a box 2020-05-21 13:53:58 -07:00
Nick Lewycky
c02cd76623 Refactor trampoline generation to use load_object_file. 2020-05-21 13:53:48 -07:00
Nick Lewycky
3764e7b9f8 Change load_object_file to take a RelocationTarget instead of a LocalFunctionIndex.
This removes its last connection to the implementation details of having a wasm_module, which we don't want to have to rely on when building trampolines.

There currently isn't a RelocationTarget for a trampoline function that refers to itself (none of been observed to done so yet), so we make the RelocationTarget optional.
2020-05-21 13:40:08 -07:00
Nick Lewycky
02f7e58c01 Change load_object_file to take a callback that converts symbol names into relocation targets.
This change means that load_object_file no longer needs a ModuleInfo, which trampoline generation doesn't have.
2020-05-21 13:32:03 -07:00
Nick Lewycky
a3a4a74596 Plain refactor the ELF loading to its own file. NFC. 2020-05-21 12:18:22 -07:00
Syrus Akbary
0cebe692f3 Update lib/engine-jit/src/artifact.rs
Co-authored-by: nlewycky <nick@wasmer.io>
2020-05-21 11:55:09 -07:00
Syrus Akbary
74ddb9bc12 Merge pull request #38 from wasmerio/feature/resolver-chaining
Add resolver chaining and recursive resolving
2020-05-20 23:14:39 -07:00
Syrus
6340db246e Improved docs and Artifact organization 2020-05-20 23:00:20 -07:00
Syrus
6a706f151e Improved export signatures 2020-05-20 22:39:25 -07:00
Syrus
7be1b167f9 Make lint happy 2020-05-20 21:52:35 -07:00
Syrus
b8e78ee819 Try to move deserialization to the artifact 2020-05-20 21:32:04 -07:00
Syrus
3d6ff89da0 Simplified serialization 2020-05-20 21:06:12 -07:00
Syrus
2c66e2ac3c Simplify instantiation 2020-05-20 20:23:17 -07:00
Syrus
931e9cdb0a Make instantiation depend on the engine 2020-05-20 20:06:02 -07:00
Syrus
a5812394df Fixed lint issues 2020-05-20 19:46:54 -07:00
Syrus
22700a60fb Make Artifact instantiation commont between engines 2020-05-20 19:42:34 -07:00
Syrus
4babc0c2ee Refactored finish instantiation to Artifact 2020-05-20 19:16:48 -07:00
Syrus
4314c6455e Use common features 2020-05-20 19:06:31 -07:00
Syrus
f79418e851 Make data initializers common 2020-05-20 19:03:53 -07:00
Syrus
0885b4be8e Register frame info on module creation 2020-05-20 18:56:28 -07:00
Syrus
ff88aa1d14 Simplified engine instantiation signatures 2020-05-20 18:23:29 -07:00
Syrus
3dd637b21f First iteration of the dummy engine 2020-05-20 18:05:27 -07:00
nlewycky
cf3cd9b8e0 Merge pull request #42 from wasmerio/llvm-clippy
Remove #![allow(unused_imports, dead_code)] and fix resulting issues.
2020-05-20 18:04:01 -07:00
Nick Lewycky
11cfe08919 Factor common string out to a constant. 2020-05-20 17:42:30 -07:00
Mark McCaskey
62c3bd5a4b Add really basic examples for chained resolvers 2020-05-20 17:42:20 -07:00
Nick Lewycky
a47a3068f4 Remove #![allow(unused_imports, dead_code)] and fix resulting issues.
Fix nearly-all issues found by clippy too.
2020-05-20 17:18:23 -07:00
Mark McCaskey
ba6b35ae05 Fix up import object tests 2020-05-20 17:09:05 -07:00
Mark McCaskey
a321f73988 Get 2 C API tests using ImportObject::extend working 2020-05-20 16:35:26 -07:00
nlewycky
df2a45899a Merge pull request #41 from wasmerio/llvm-remove-cpp-code
Remove the C++ code.
2020-05-20 16:06:58 -07:00
Nick Lewycky
dde6bc5269 Remove the C++ code.
This is replaced in reborn by the engines.
2020-05-20 15:41:11 -07:00
Mark McCaskey
6b617895b0 Add resolver chaining and recursive resolving 2020-05-20 14:49:30 -07:00
nlewycky
2c9ba69767 Merge pull request #40 from wasmerio/llvm-fcg-methods
Turn free functions into methods on LLVMFunctionCodeGenerator.
2020-05-20 14:45:09 -07:00
Syrus Akbary
8d3c9530db Merge pull request #37 from wasmerio/misc-improvements
Misc improvements
2020-05-20 14:26:32 -07:00
Nick Lewycky
c522e01165 Remove redundant close-and-reopen of impl block.
Move trap_if_misaligned up so it can join the impl block above it.
2020-05-20 14:18:34 -07:00
Nick Lewycky
1a22b5414e The 'name' parameter was always "". Remove them. 2020-05-20 14:15:24 -07:00
Nick Lewycky
f2c781b3b2 Turn splat_vector into a method. 2020-05-20 14:12:00 -07:00
Nick Lewycky
9eb1392988 Turn apply_pending_canonicalization into a method. 2020-05-20 14:05:14 -07:00