Commit Graph

274 Commits

Author SHA1 Message Date
Nick Lewycky
c1e3b445a1 Canonicalize floats before branch, in Operator::Return too. 2020-07-10 16:55:22 -07:00
Nick Lewycky
cc081ffff6 Canonicalize the floats first, then branch out of the block. 2020-07-10 16:18:33 -07:00
Mark McCaskey
f9bce8858b Merge branch 'master' into feature/improve-thread-safety-of-core-types 2020-07-09 13:57:58 -07:00
Syrus
92f8651312 Renamed wasmer_runtime to wasmer_vm 2020-07-07 21:26:06 -07:00
Syrus
38459698d1 Trying to fix issues 2020-07-07 17:05:30 -07:00
Syrus
b57a28edc7 Removed Memory plans in favor of direct styles 2020-07-07 16:50:08 -07:00
Syrus
416b76ab34 Move offset_guard_size to the memory style 2020-07-07 15:58:46 -07:00
Syrus
98f2e8fe26 Remove TablePlans 2020-07-07 15:10:03 -07:00
Mark McCaskey
d4d738d97e Add an extra layer of indirection for shared globals 2020-07-02 18:23:19 -07:00
Ivan Enderlin
f00e089ad3 fix(compiler-llvm) Remove an unused import. 2020-06-23 09:32:50 +02:00
Syrus
56c2f52001 Improved Compiler API 2020-06-22 14:58:58 -07:00
Nick Lewycky
2017acf99e Some clippy cleanup. 2020-06-20 13:43:46 -07:00
Nick Lewycky
c0b2f968e2 more formatting 2020-06-18 16:50:56 -07:00
Nick Lewycky
914da3266b cargo fmt 2020-06-18 16:48:44 -07:00
Nick Lewycky
84b32ed2cd cargo fmt 2020-06-18 16:46:45 -07:00
Nick Lewycky
b527127d0f load_object_file is returning an increasingly complex object.
Group the data from compilation of a function into its own struct and return that.
2020-06-18 16:43:43 -07:00
Nick Lewycky
30add15904 make lint cleanup 2020-06-18 15:50:35 -07:00
Nick Lewycky
27a0613e57 Remove unused use line. 2020-06-18 15:47:00 -07:00
Nick Lewycky
8edaf2d617 cargo fmt 2020-06-18 15:46:11 -07:00
Nick Lewycky
54c7b6f876 In trampoline generation, ensure all custom sections are eh frames.
.eh_frames may refer to the trampoline, but it is impossible to encode such a relocation. The optional relocation "self-referential" target is replaced with a better named mandatory argument. The value will be discarded in trampoline generation with the rest of the .eh_frame.
2020-06-18 15:37:08 -07:00
Nick Lewycky
310ac6b44c Shrink the 0-length CIE. The previous one came from /bin/ls on my machine, the new one is based on the CIE description in the DWARF 3 spec (the LSB description leaves out too much detail, like the size of the version field).
Formatting cleanup.
2020-06-18 15:37:06 -07:00
Nick Lewycky
8d11d3fc52 Remove gimli leftovers. 2020-06-18 15:35:39 -07:00
Nick Lewycky
e9d5c7896c Merge .eh_frame without interpretation. Add a 0-CIE to the end.
Add unfinished attempt at using gimli, to be deleted but recorded in case we need it in the future.
2020-06-18 15:35:37 -07:00
Nick Lewycky
52eae576fc Record the .eh_frame sections from each .o file. 2020-06-18 15:34:23 -07:00
Syrus
769ffebb61 Improved feature-generation to be compiler-based 2020-06-18 02:11:54 -07:00
Syrus
422051ebe5 Simplified compiler config names 2020-06-18 01:36:25 -07:00
Syrus
99bd98458a Improved compiler configurations 2020-06-17 22:47:32 -07:00
Syrus
8649f2eb79 Remove target from CompilerConfig 2020-06-17 20:26:50 -07:00
Syrus
e062e87d8b Refactored Compilers 2020-06-17 19:17:06 -07:00
losfair
9d27bd2318 Merge remote-tracking branch 'origin/master' into middleware 2020-06-18 00:41:42 +08:00
Syrus
03494ac1a2 Unify trampolines in Compilation object 2020-06-16 20:11:47 -07:00
losfair
69ce68c31a Merge remote-tracking branch 'origin/master' into middleware 2020-06-17 00:52:20 +08:00
Syrus
b00f899913 Update to Cranelift 0.65, wasmparser 0.57 2020-06-15 18:00:48 -07:00
losfair
1bbaafb819 Middleware for LLVM. 2020-06-16 00:56:43 +08:00
losfair
af46df5e4c Merge remote-tracking branch 'origin/master' into middleware 2020-06-13 00:55:47 +08:00
Syrus
c514104e3e Merge branch 'master' into cranelift-update 2020-06-12 04:43:11 -07:00
Syrus
bea005a534 Fix cross-compilation 2020-06-11 16:24:07 -07:00
Syrus
e2cafd07da Improved compilation with Dwarf 2020-06-10 21:37:36 -07:00
Nick Lewycky
dc5c6dd10a Always put allocas at the beginning of the entry block.
Fixes a bug where we allocated stck space for struct return in every call of a function in a loop.
2020-06-08 22:01:22 -07:00
Syrus
5ec1addae1 Use middleware reader 2020-06-08 13:30:38 -07:00
Nick Lewycky
1c3ea9f867 Fix bug packing return values in dynamic function trampoline. 2020-06-06 22:39:52 -07:00
Nick Lewycky
51007692d6 Factor out value expensive to compute value. 2020-06-06 21:02:10 -07:00
Nick Lewycky
cbc7dc8454 Add multi-value-import tests.
Also fix implementation of trampolines in LLVM.
2020-06-06 21:02:10 -07:00
Nick Lewycky
ce543fd4ed NFC. Don't re-lookup frame. It can't have changed, simply reorder operations. 2020-06-06 21:02:10 -07:00
Nick Lewycky
b2c0ef4f95 NFC. Use const_zero() method or free function instead of const_int(0) and const_float(0.0). 2020-06-06 21:02:10 -07:00
Syrus Akbary
616d475785 Update lib/compiler-llvm/src/config.rs
Co-authored-by: nlewycky <nick@wasmer.io>
2020-06-04 16:15:58 -07:00
Syrus
fa6de35944 Added support for custom cpu features 2020-06-04 15:50:03 -07:00
Nick Lewycky
fcbffb0b3e cargo fmt 2020-06-02 17:15:57 -07:00
Nick Lewycky
153a32a9cd Factor this complex iterator into its own variable. 2020-06-02 17:15:31 -07:00
nlewycky
75b1f4c725 Call blocktype_params_results once to get params and results.
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2020-06-02 17:15:22 -07:00