Commit Graph

308 Commits

Author SHA1 Message Date
2bbe3406cf Debugging LLVM trap code WIP 2020-04-26 12:52:58 -07:00
89af5dc107 Fix new RuntimeError implementation for the Singlepass backend 2020-04-26 12:05:12 -07:00
9723270f96 Fix tests for the Cranelift backend 2020-04-24 14:55:30 -07:00
b9ec8f9845 Define runtime error values explicitly in Singlepass 2020-04-24 13:21:45 -07:00
5bd6b161d5 Create a valid target triple in the LLVM Module. 2020-03-27 13:54:18 -07:00
30afd145e0 Merge branch 'master' into feature/llvm-mcg-no-builder 2020-03-20 12:27:48 -07:00
f7d4f855a3 inkwell::Builder is a per-function notion, remove it from LLVMModuleCodeGenerator.
This also removes it from the API to generate trampolines, which makes sense because those produce new functions, so it can produce a new builder for the new function.
2020-03-20 12:26:15 -07:00
29b5223b3e Canonicalize NANs produced by f.trunc and f.nearby. 2020-03-16 11:36:17 -07:00
65962f0186 Add a translation layer before import call in singlepass. 2020-03-10 02:46:13 +08:00
3e0d299227 Update to latest inkwell which adds context lifetime to basic blocks. 2020-03-02 14:25:30 -08:00
cb20cd9b2d Merge branch 'master' into feature/debug-prototype2 2020-02-26 14:39:02 -08:00
0a92d9c65e Update LLVM backend to wasmparser 0.51.3 2020-02-26 13:07:31 -08:00
52d4dac450 Rename feed_event's loc to source_loc 2020-02-25 17:15:17 -08:00
40e4dddc4b Add updates from feedback
Co-authored-by: Ivan Enderlin <ivan.enderlin@wanadoo.fr>
2020-02-21 14:33:32 -08:00
a56660bfe9 Remove LLVMModuleCodeGenerator::signatures_raw which is a clone of a mapping available in ModuleInfo. 2020-02-21 13:31:49 -08:00
7c5f8251e3 Flatten tuple in return type, conditionally remove more jit debug code 2020-02-20 16:59:59 -08:00
64cc59179a Merge branch 'master' into feature/debug-prototype2 2020-02-19 16:13:35 -08:00
e34e0bb897 Clean up, everything works 2020-02-12 17:09:30 -08:00
2071a4bddf Fix LLVM invoke_trampoline. 2020-02-12 02:14:07 +08:00
e0aafbe9dd Remove WasmTrapInfo and passExceptionCode in the generic Box<Any> container. 2020-02-06 23:49:50 +08:00
929825cba1 Improve some docs and misc code segments 2020-01-31 15:42:18 -08:00
870c057826 Add minor documentation updates 2020-01-31 13:10:02 -08:00
fcbdada259 Port to FreeBSD 2020-01-28 21:49:55 +01:00
5931944a21 Add clippy error checking in lint step 2020-01-17 15:47:45 -08:00
a1d8b9aa5b Move backend_id to static str 2020-01-13 15:40:09 +01:00
18421e3623 Make all tests pass 2020-01-07 16:12:39 +01:00
d7154fe791 Remove Backend dependency 2020-01-07 16:12:39 +01:00
c4d70a6b75 Use Arc instead of Rc 2019-12-20 20:37:47 -08:00
294cc28135 Move inline breakpoint outside of runtime backend
There was some code smell leaking inline breakpoint implementation into the runtime core backend instead of the compiler itself
2019-12-20 18:26:56 -08:00
0419df937e Merge #1095
1095: Update to cranelift 0.52 r=nlewycky a=nlewycky

# Description
Update to cranelift 0.52.

To use our wasmer branch of cranelift, we point to its path on git. Per @syrusakbary , we don't want to push updated wasmer-clif crates until we're ready to release the matching wasmer that will use them.

# Review

- [x] Add a short description of the the change to the CHANGELOG.md file


Co-authored-by: Nick Lewycky <nick@wasmer.io>
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-12-21 01:45:45 +00:00
8cddea341b Update to 0.45.0 wasmparser Operator names in llvm-backend 2019-12-20 17:16:54 -08:00
d5d82e2508 Merge #1096
1096: Add TBAA labels to initialization (default and copy) of locals. r=nlewycky a=nlewycky



Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-12-21 01:06:23 +00:00
cca73c0a6f Add TBAA labels to initialization (default and copy) of locals. 2019-12-20 17:02:58 -08:00
f00283ab03 Name the magic constants in the LLVM backend. 2019-12-20 16:20:58 -08:00
0cfe08fff3 Correct implementation of non-trapping float to int conversions in the llvm backend. 2019-12-20 16:20:58 -08:00
5b35313099 Use type traits to ensure that the float and int types match in trunc_sat. 2019-12-20 16:20:58 -08:00
5d0429989a Remove type_to_llvm_int_only, only use type_to_llvm. 2019-12-18 11:53:48 -08:00
6a0a4390c1 Use function defined in wasmer-runtime-core instead of our own copy of it. 2019-12-17 15:12:54 -08:00
952309a36b Merge branch 'master' into feature/llvm-on-arm 2019-12-13 13:03:51 -08:00
6189c9ae54 rename some variable, add more precise error message, use checked_sub everywhere needed in state.rs 2019-12-11 15:25:21 +01:00
0a278c55ee For error handling and breakpoints, use Box<Any + Send> instead of Box<Any>. 2019-12-09 21:00:01 -08:00
f3ab59eace Don't try to initialize a target whose inkwell feature flag was not enabled. 2019-12-06 20:01:20 -08:00
7162906297 Initial commit of AArch64 support for the llvm backend. 2019-12-06 17:23:39 -08:00
a221f1e570 Provide a default empty implementation for the LLVMCallbacks trait. 2019-12-06 12:09:34 -08:00
8d3cf874cd Add the ability to pass backend specific options through CompilerConfig.
Use this to replace wasmer_llvm_backend::GLOBAL_OPTIONS.
2019-12-05 12:13:51 -08:00
ad752d66a7 When modifying the value, also update its ExtraInfo.
Fixes a debug_assert! on python3.7 and rustpython in wapm.
2019-12-02 15:45:12 -08:00
31a77b0eb7 Fix llvm backend to work with latest inkwell.
cargo update to pick up latest inkwell branch commit.

Add lifetime annotations to Module which now takes a lifetime, and more lifetime annotations across intrinsics.rs.

Add <'ctx> to missing places in CtxType and Intrinsics. Remove it from reference bindings.

Use ManuallyDrop to ensure that context's members are dropped before the Context.

Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-11-26 19:59:03 -08:00
dfc7163b71 Merge #1020
1020: Turn a few more assert!s that should never fire into debug_assert!s. r=nlewycky a=nlewycky

These are here to protect against errors when refactoring more than anything else.


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-11-27 01:16:34 +00:00
5a49fe76df Turn a few more assert!s that should never fire into debug_assert!s.
These are here to protect against errors when refactoring more than anything else.
2019-11-26 16:43:17 -08:00
f6f8780934 Merge #1006
1006: fix 1005 panic sub overflow r=MarkMcCaskey a=pventuzelo

# Description

Fix issue https://github.com/wasmerio/wasmer/issues/1005

# Review

- [x] Add a short description of the the change to the CHANGELOG.md file


Co-authored-by: Patrick Ventuzelo <ventuzelo.patrick@gmail.com>
Co-authored-by: Patrick Ventuzelo <9038181+pventuzelo@users.noreply.github.com>
2019-11-27 00:36:29 +00:00