6e974b92cd
Run cargo fmt
2020-08-13 18:12:43 -07:00
5049c543dc
Rename wasm-common
crate to wasmer-types
2020-08-13 17:59:26 -07:00
8daeff8bc8
Fix section names for MachO.
2020-08-07 17:19:55 -07:00
b027949914
Pick section names that are valid in ELF and Macho.
2020-08-06 17:50:22 -07:00
2c2da8ec3c
Wire up experimental_native_compile_module
for LLVM.
...
Move Symbol and SymbolRegistry to wasmer_compiler crate.
2020-08-05 17:44:52 -07:00
0e6bc3191f
Fix the build post-merge that picked up SymbolRegistry.
2020-08-05 17:26:00 -07:00
afe568c5d3
Merge branch 'master' into llvm-native
2020-08-05 17:17:52 -07:00
bf0df80551
Rename CompilationNamer to SymbolRegistry.
...
SymbolRegistry is invertible so we can remove the wrappers.
2020-08-05 15:07:56 -07:00
64448dda40
Create new InvertibleCompilationNamer and use it to name generated functions.
...
Fixes build of rustc_binary2.wasm with --llvm.
2020-08-05 10:31:00 -07:00
b92b3d7b04
Split function translation into produce-Module and produce-CompiledFunction.
2020-08-05 09:57:51 -07:00
b4270525f0
Create new InvertibleCompilationNamer and use it to name generated functions.
...
Fixes build of rustc_binary2.wasm with --llvm.
2020-08-04 16:50:55 -07:00
29cfeeb03a
Implement the remaining integer SIMD arithmetic instructions.
2020-08-03 15:56:01 -07:00
efb26b8c8b
Reimplement vector min and max. They now always pick one of the two inputs.
2020-08-03 14:18:46 -07:00
4259f51519
Add i64x2.mul.
...
Remove commented-out i8x16.mul. This no longer exists in the SIMD proposal.
2020-07-31 14:33:51 -07:00
b1e3468be6
Fix boundary conditions on SIMD trunc_sat instructions.
2020-07-31 14:26:59 -07:00
fe080432d9
Implement SIMD integer widening operators.
2020-07-31 13:57:14 -07:00
242e178ab1
Add implementation of SIMD narrow operators.
2020-07-31 13:35:19 -07:00
03faf2c7a6
Implement v128.andnot.
2020-07-30 15:53:25 -07:00
fb1bdc6f8f
Fixed lint
2020-07-30 15:20:00 -07:00
3e9c9d4cca
Implement SIMD load and extend instructions in compiler-llvm.
2020-07-30 14:49:46 -07:00
a732159514
Use better naming for module functions
2020-07-26 12:02:45 -07:00
c1e3b445a1
Canonicalize floats before branch, in Operator::Return too.
2020-07-10 16:55:22 -07:00
cc081ffff6
Canonicalize the floats first, then branch out of the block.
2020-07-10 16:18:33 -07:00
92f8651312
Renamed wasmer_runtime to wasmer_vm
2020-07-07 21:26:06 -07:00
b57a28edc7
Removed Memory plans in favor of direct styles
2020-07-07 16:50:08 -07:00
98f2e8fe26
Remove TablePlans
2020-07-07 15:10:03 -07:00
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
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
52eae576fc
Record the .eh_frame sections from each .o file.
2020-06-18 15:34:23 -07:00
422051ebe5
Simplified compiler config names
2020-06-18 01:36:25 -07:00
8649f2eb79
Remove target from CompilerConfig
2020-06-17 20:26:50 -07:00
69ce68c31a
Merge remote-tracking branch 'origin/master' into middleware
2020-06-17 00:52:20 +08:00
b00f899913
Update to Cranelift 0.65, wasmparser 0.57
2020-06-15 18:00:48 -07:00
1bbaafb819
Middleware for LLVM.
2020-06-16 00:56:43 +08:00
af46df5e4c
Merge remote-tracking branch 'origin/master' into middleware
2020-06-13 00:55:47 +08:00
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
5ec1addae1
Use middleware reader
2020-06-08 13:30:38 -07:00
ce543fd4ed
NFC. Don't re-lookup frame. It can't have changed, simply reorder operations.
2020-06-06 21:02:10 -07:00
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
fcbffb0b3e
cargo fmt
2020-06-02 17:15:57 -07:00
153a32a9cd
Factor this complex iterator into its own variable.
2020-06-02 17:15:31 -07:00
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
1990e83ca9
Add two new functions to abi.rs, is_sret
and pack_values_for_register_return
.
...
Pull the implementations out of wasm.rs and code.rs respectively, and simplify them.
2020-06-02 16:50:46 -07:00
870f241fb7
cargo clippy
2020-06-02 15:46:18 -07:00
a03a5e1775
Also make type_to_llvm_ptr return a CompileError instead of using unimplemented!.
2020-06-02 15:46:18 -07:00
7bdd387474
Use blocktype_params_results
in lieu of blocktype_to_types
.
...
Remove read_info.rs entirely.
Add `to_compile_error` that converts a WasmResult into a Result<_, CompileError>, use it with `wptype_to_type`. This is a candidate for being moved into shared code.
Many functions had to change to deal with propagating CompileError.
2020-06-02 15:46:16 -07:00
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
fa3242ce11
Fix bug updating phi nodes when branching up.
2020-06-02 15:44:39 -07:00
c3d26ef639
Reset the value stack correctly when entering the 'else' side of an if-else.
2020-06-02 15:44:39 -07:00
46159ee2a6
Fix value stack after return instruction in multi-value function.
2020-06-02 15:44:39 -07:00