Commit Graph

452 Commits

Author SHA1 Message Date
Syrus
fa6de35944 Added support for custom cpu features 2020-06-04 15:50:03 -07:00
Syrus
cca551be4a Added first compiler target iteration 2020-06-04 13:21:08 -07:00
Nick Lewycky
04f2db1b82 Export wptype_to_type from wasmer_compiler.
Also fix up its error message when it fails.

Use it in compiler-llvm and remove one of compiler-llvm's copies of this function.
2020-06-02 15:45:31 -07:00
Syrus
abbd39c50b Refactor trampoline compilation 2020-05-29 19:37:03 -07:00
Ivan Enderlin
f3c389acd9 doc(compiler) Fix examples. 2020-05-28 12:54:16 +02:00
Syrus
17bca3cf8e Use minor versions instead of patch 2020-05-27 17:42:47 -07:00
Ivan Enderlin
e3899045a1 feat(compiler) Simplify wasmparser re-export. 2020-05-25 11:15:21 +02:00
Syrus
5e161d3091 Use more flexible implementation for custom sections 2020-05-22 11:22:49 -07:00
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