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