Commit Graph

277 Commits

Author SHA1 Message Date
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
8ccf7057fa Make cranelift happy 2020-05-04 21:34:38 -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
losfair
0ac04336c3 Merge remote-tracking branch 'origin/master' into singlepass 2020-05-04 23:22:05 +08:00
losfair
2931e6d2ac Add ReadExecute back. 2020-05-04 23:20:16 +08: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