Ivan Enderlin
e7036376c8
feat(compiler) Compute custom sections.
2020-05-22 15:51:45 +02:00
Syrus
b6eb44e46e
Merge branch 'master' into singlepass
...
# Conflicts:
# lib/compiler-singlepass/src/compiler.rs
# lib/compiler-singlepass/src/config.rs
# lib/compiler/src/function.rs
2020-05-20 11:37:19 -07:00
Nick Lewycky
6995f2a7c7
Fix the build.
...
Use crate::lib::std instead of crate::std.
Add 'borrow' to crate::lib.
HashMap doesn't appear in crate::lib at all, and only place it's used is lib/compiler/src/translator which has other plain std:: uses, so don't try to no_std that file.
2020-05-20 11:06:43 -07:00
losfair
32461a6938
Resolve review comments.
2020-05-21 00:53:41 +08:00
Ivan Enderlin
25f3cc53bc
Merge pull request #32 from Hywan/fix-compiler-no-default-features
...
fix(compiler) Fix features
2020-05-20 14:26:35 +02:00
Syrus
12b353ca7d
Merge branch 'master' into singlepass
...
# Conflicts:
# Cargo.lock
# Cargo.toml
# lib/compiler/src/section.rs
2020-05-19 20:01:43 -07:00
Syrus
09e057338a
Renamed Module to ModuleInfo
2020-05-19 18:47:50 -07:00
Syrus
ae8dcfcb27
Make PIC optional for compilers
2020-05-19 16:56:56 -07:00
Ivan Enderlin
f9ae55d5d0
fix(compiler) std and core are mutually exclusive features.
2020-05-19 09:44:18 +02:00
Ivan Enderlin
40eea02af6
fix(compiler) Make it compile with no_std + core.
2020-05-19 09:36:25 +02:00
Ivan Enderlin
63f5cd5302
fix(compiler) Make it compile with or without std.
2020-05-19 09:24:16 +02:00
Syrus
f3bb2241f0
Fixed linting issues
2020-05-18 17:41:25 -07:00
Syrus
88b4533832
Merge branch 'master' into native-engine
...
# Conflicts:
# Cargo.lock
# lib/api/src/externals.rs
# lib/compiler/src/relocation.rs
# lib/engine-jit/src/link.rs
# lib/engine/src/engine.rs
2020-05-18 17:26:49 -07:00
Syrus
f715a74e00
Fixed linting
2020-05-18 15:21:03 -07:00
Syrus
ace11e6476
Merge branch 'master' into singlepass
...
# Conflicts:
# lib/compiler-singlepass/src/codegen_x64.rs
# lib/compiler-singlepass/src/common_decl.rs
# lib/compiler-singlepass/src/emitter_x64.rs
# lib/compiler-singlepass/src/lib.rs
# lib/compiler-singlepass/src/machine.rs
# lib/engine-jit/src/engine.rs
# lib/engine-jit/src/serialize.rs
2020-05-18 15:16:45 -07:00
Syrus Akbary
3c4b8a9777
Merge pull request #29 from Hywan/doc-compiler-fix-links
...
doc(compiler) Fix links and merge `allow` directives
2020-05-18 13:13:33 -07:00
Syrus Akbary
9981a51f8f
Merge pull request #23 from wasmerio/host-trampolines
...
Improved trampolines adding support for Dynamic functions
2020-05-18 13:12:37 -07:00
Ivan Enderlin
e70ed0303d
fix(compiler) Fix compilation errors when serde is absent.
2020-05-18 21:13:05 +02:00
Ivan Enderlin
c0af03583b
doc(compiler) Fix links and merge allow directives.
2020-05-18 20:51:42 +02:00
Ivan Enderlin
f682b79d52
Merge pull request #28 from Hywan/feat-compiler-check
...
fix(compiler) Declare the `wasmparser` module if `translator` feature is enabled
2020-05-18 20:30:09 +02:00
Ivan Enderlin
3833a68e89
fix(compiler) Declare the wasmparser module if translator feature is enabled.
2020-05-18 20:26:58 +02:00
losfair
da7fa9e518
Merge remote-tracking branch 'origin/master' into singlepass
2020-05-19 00:53:37 +08:00
Nick Lewycky
fce8e32cf6
Don't make SectionBody's internal Vec public.
...
Add a new method to create a new section body. Remove unused methods. Improve implementation of is_empty().
2020-05-18 09:08:33 -07:00
Nick Lewycky
ea05e16b6d
Parse relocations that apply to custom relocations.
...
This rewrites the whole relocation parsing to work properly.
* we no longer use LocalRelocation and simply assign a new SectionIndex as new sections are encountered.
* we no longer use string matching to determine what function applies relocations to what, instead we use the field in the elf section header that tells us
* we no longer merge sections, each section from every function is preserved as an independent custom section in the module.
* we now discover any new sections that need to be pulled in recursively as we parse each section
* many error cases are either handled, or report CompileErrors.
2020-05-18 09:08:33 -07:00
Syrus
5dfa9faafb
Improve compiler names for trampoline functions
2020-05-17 20:32:42 -07:00
Syrus
5f8f7a5dc1
Merge branch 'master' into host-trampolines
2020-05-15 20:07:40 -07:00
losfair
9f698fa6ce
Allocate executable custom sections.
2020-05-16 01:01:15 +08:00
Syrus
f38720337f
Reverse trampoline static generation now works! 🎉
2020-05-14 19:28:36 -07:00
Nick Lewycky
3dded8e39b
Add support for linking custom section relocations in engine-jit.
2020-05-14 13:56:00 -07:00
Nick Lewycky
9a0c2a76a3
Add a list of relocations to custom sections.
2020-05-14 12:22:32 -07:00
Syrus
1c21e4f927
Make host trampolines work (PoC)
2020-05-13 20:53:54 -07:00
Mark McCaskey
09efdfea73
Fix clippy warnings, apply ⛳
2020-05-13 17:21:52 -07:00
Mark McCaskey
9c0dae7ad7
Add clippy lint and clean up
2020-05-13 14:17:20 -07:00
Mark McCaskey
e77cbd8b94
Deny many warnings in CI; fix warnings
2020-05-13 12:44:34 -07:00
losfair
758df54242
Add a note that the code offsets of traps must be in ascending order.
2020-05-14 02:00:35 +08:00
losfair
5c8f68d318
Merge remote-tracking branch 'origin/master' into singlepass
2020-05-11 02:59:50 +08:00
Syrus Akbary
397b8e77eb
Merge branch 'master' into native-engine
2020-05-08 17:24:33 -07:00
Mark McCaskey
d9ca668607
Merge pull request #6 from wasmerio/add-c-api
...
Add C API
2020-05-08 16:10:09 -07:00
Syrus
0b5aef8a8a
Fixed JIT relocations
2020-05-08 14:14:04 -07:00
Syrus
76e1f6c8b5
Merge branch 'master' into native-engine
2020-05-07 22:18:35 -07:00
Syrus
5be2f05348
Improved support for more relocations
2020-05-07 21:58:10 -07:00
Mark McCaskey
480ecd2cda
Apply various fixes to get the C API working
...
24% of tests are passing now!
2020-05-07 14:02:13 -07:00
Syrus
508fdd21ff
Improved relocation code
2020-05-07 11:39:30 -07:00
Syrus
2240ccc622
Merge branch 'master' into singlepass
...
# Conflicts:
# Cargo.lock
2020-05-04 20:40:50 -07:00
Syrus
1363b98e47
Moved Unwind info a bit to make refactor easier
2020-05-04 20:37:28 -07:00
Syrus
01ed7d115c
Merge branch 'master' into singlepass
...
# Conflicts:
# lib/compiler-singlepass/src/compiler.rs
2020-05-04 15:11:07 -07:00
Syrus
0bd6a0dd6b
Renamed FuncIndex to FunctionIndex
2020-05-04 13:39:12 -07:00
Syrus
2997be7d88
Renamed FuncType to FunctionType
2020-05-04 13:34:05 -07:00
Syrus
c24c5c6946
Make globals non leaking
2020-05-04 13:22:20 -07:00
Syrus
0885cb5c95
Make wasmparser optional in compiler
2020-05-04 13:22:20 -07:00