Commit Graph

72 Commits

Author SHA1 Message Date
Syrus
ae8dcfcb27 Make PIC optional for compilers 2020-05-19 16:56:56 -07: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 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
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
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
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
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
1363b98e47 Moved Unwind info a bit to make refactor easier 2020-05-04 20:37:28 -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
Syrus
759561e0c5 Expose Compiler and CompilerConfig only on translator mode 2020-05-03 21:28:35 -07:00
Syrus
8b2a4495df Move WasmError to root compiler 2020-05-03 21:06:42 -07:00
Nick Lewycky
3a004b3e82 Fix build of compiler-llvm by growing the interface to SectionBody. 2020-05-03 16:08:05 -07:00
Nick Lewycky
861958a4ab Add SectionBody::as_ptr() to get the pointer to the section data.
Implement custom section relocations with it.
2020-05-03 16:07:46 -07:00
Nick Lewycky
182b0802ec Fill custom section data in CompiledModule. 2020-05-03 15:34:54 -07:00
Nick Lewycky
db72d19f5d Add SectionBody which holds the bytes of a section.
Wire it up to CompiledModule::new().
2020-05-03 15:29:00 -07:00
Syrus
45e2e210ea Imporved author names 2020-05-03 10:57:25 -07:00
Syrus
b7cd6f249b Fixed syntax in READMEs 2020-05-02 16:24:27 -07:00
Syrus
3e1bc07c8f Improved READMEs 2020-05-02 16:23:29 -07:00
Syrus
327a1fea51 Improved READMEs 2020-05-02 16:21:11 -07:00
Syrus
6a06af1b1b Simplified compiler config removing mutable features and target 2020-05-02 15:22:05 -07:00
Syrus
e3d77dcf8a Force jump tables to be for local functions 2020-05-02 04:49:57 -07:00
Syrus
deace5beb0 Renamed back into LocalFunc 2020-05-02 04:43:31 -07:00
Syrus
fdef870e5a Renamed UserFunc to ImportedFunc 2020-05-02 04:19:11 -07:00
Syrus
fd96c4080e Merge branch 'master' into frame-info
# Conflicts:
#	lib/compiler-llvm/src/compiler.rs
#	lib/compiler-llvm/src/translator/code.rs
2020-05-01 22:09:26 -07:00
Syrus
eef5d1a901 Make compilers use FunctionBody for trampolines 2020-05-01 18:28:59 -07:00
Syrus
9008cfc1f3 Use serialized compilation 2020-05-01 17:02:14 -07:00
Syrus
c1c06591a0 Refactored FunctionBody into compiler 2020-05-01 16:51:47 -07:00
Syrus
cf70a297d8 Fixed compilation 2020-05-01 15:57:18 -07:00