Nick Lewycky
fe38cc915b
Update to newer cranelift which also requires an update to wasmparser 0.31.0.
2019-07-01 15:27:17 -07:00
losfair
650f67a339
Merge remote-tracking branch 'origin/master' into feature/osr
2019-07-01 21:15:35 +08:00
losfair
967027003d
Full preemptive snapshot/resume.
2019-06-27 15:49:43 +08:00
Nick Lewycky
70247a0c6e
Simplify construction of floating point constants.
2019-06-25 16:05:22 -07:00
Nick Lewycky
55394b4f06
Void type in llvm may only be used as a function return type. You may not form a pointer to void or use it as a structure member.
...
Fixes assertion failure initializing llvm backend.
2019-06-25 16:05:22 -07:00
Mark McCaskey
09177ac3ae
update version numbers to 0.5.1, add changelog entry
2019-06-24 12:45:40 -07:00
Mark McCaskey
7bdfb2be51
update version numbers and changelog for 0.5.0
2019-06-17 12:56:28 -07:00
losfair
69944c1dc2
Fix ctx layout in LLVM.
2019-06-05 02:13:10 +08:00
Brandon Fish
66f9049a06
Reset LLVM related code to master
2019-06-02 19:36:26 -05:00
Brandon Fish
995ecefa92
Cargo fmt
2019-06-02 09:49:21 -05:00
losfair
8019505e65
Merge remote-tracking branch 'origin/feature/clif-cgapi' into feature/metering
2019-05-31 15:40:05 +08:00
losfair
b834b4ff36
Metering for LLVM.
2019-05-31 15:36:08 +08:00
losfair
fd8675324c
Merge remote-tracking branch 'origin/master' into feature/metering
2019-05-29 11:16:05 +08:00
Brandon Fish
8069cdac16
Merge branch 'master' into feature/clif-cgapi
2019-05-26 12:04:45 -05:00
Brandon Fish
6ca311f92d
Fix compilation errors and warnings
2019-05-26 11:13:37 -05:00
Johan Andersson
8018453266
Update wasmparser 0.29.2 -> 0.30.0
2019-05-24 23:18:08 +02:00
losfair
9919dd73c8
Merge remote-tracking branch 'origin/master' into feature/metering
2019-05-23 20:18:11 +08:00
Brandon Fish
04d6ccc95c
Pass module info to FCG as Arc
2019-05-21 23:44:31 -05:00
Brandon Fish
e34e625009
Implement MCG.next_function in other backends
2019-05-19 11:45:16 -05:00
Syrus
4ddffb8285
Update libraries versions to 0.4.2
2019-05-16 14:39:13 -07:00
losfair
6aa87a0bbf
Add the internals
field and necessary structures for metering.
2019-05-17 01:10:21 +08:00
losfair
fac4c452c6
Fix LLVM backend.
2019-05-14 18:49:02 +08:00
Brandon Fish
2aefa731a6
Add deny for unreachable patterns and unused unsafe
2019-05-12 00:33:02 -05:00
Brandon Fish
85158ac22a
Add some initial deny for unused_imports and unused_variables
...
Additional unused variable fix on unix
Remove unused import on unix
Remove unused windows import
2019-05-11 09:23:25 -05:00
Brandon Fish
54095fcd67
Clean up commented out code in LLVM codegen
2019-05-07 22:53:48 -05:00
losfair
e53d5a91ca
Remove transmutes.
2019-05-07 19:20:18 +08:00
Brandon Fish
9c0cbc9775
Remove previous LLVM parser code
2019-05-06 23:41:31 -05:00
Brandon Fish
87a94657d0
Merge branch 'master' into feature/llvm-cgapi
2019-05-06 22:39:20 -05:00
Mark McCaskey
e5dc94c7d6
update version number to 0.4.1
2019-05-06 18:02:39 -07:00
Brandon Fish
0926a5020e
Implement caching for parser refactor
2019-05-05 20:11:47 -05:00
Brandon Fish
4770277b15
Remove parser refactor commented out code, unused imports and fields
2019-05-05 14:28:40 -05:00
Brandon Fish
e1138a553b
Fix LLVM refactor unreachable depth
2019-05-05 13:56:02 -05:00
Brandon Fish
1864733ab8
Merge branch 'master' into feature/llvm-cgapi
2019-05-05 13:25:51 -05:00
Brandon Fish
60c0504bdf
Implement llvm returns in function code generator finalize
2019-05-04 12:07:21 -05:00
Brandon Fish
c5caf9b6db
Update LLVM FCG begin_body
2019-05-03 00:14:25 -05:00
Mark McCaskey
2646765671
Merge branch 'master' into update-version-numbers-to-4
2019-05-01 09:27:38 -07:00
Brandon Fish
b016ec6b34
Add start_of_code_block to function
2019-04-30 23:44:34 -05:00
Brandon Fish
0ee2ba0ee6
Implement more of next_function and finalize
2019-04-30 23:22:41 -05:00
Brandon Fish
ec253c73ab
Implement feed_local
2019-04-30 20:11:44 -05:00
bors[bot]
82cf572245
Merge #404 #406
...
404: Update to newer common wasmparser version r=xmclark a=bjfish
- versions should match to have matching types in a common parser
- the `0.29.2` version matches the current parser version of cranelift-wasm
406: Cleanup some clippy warnings r=xmclark a=bjfish
Cleaned up some
- long literal lacking separators
- unneeded return
Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-04-30 15:37:12 +00:00
losfair
21dd01c3aa
Fix LLVM backend compilation and segfaults.
2019-04-30 15:52:43 +08:00
Brandon Fish
01ba789eed
Cleanup some long literal lacking separators
2019-04-29 23:49:00 -05:00
Brandon Fish
a127b770b3
Update to newer common wasmparser version
2019-04-29 23:34:48 -05:00
Mark McCaskey
d020ffd759
update version to 0.4.0
2019-04-29 13:26:51 -07:00
Brandon Fish
53bebf9c73
Add initial progress to add LLVM to module refactor
2019-04-29 00:13:34 -05:00
Mackenzie Clark
9ab7199fe5
Merge branch 'master' into feature/cleanup-imports-unsafe
2019-04-24 08:37:06 -07:00
Lachlan Sneff
706ddabf61
Hook up error propagation
2019-04-22 15:06:40 -07:00
Brandon Fish
9e93565a49
Cleanup build warnings imports and unnecessary unsafe
2019-04-20 20:37:39 -05:00
Lachlan Sneff
087a826222
fix tests on more time uh huh
2019-04-19 14:09:41 -07:00
Lachlan Sneff
c3ef1f8421
Remove commented-out code
2019-04-19 14:00:03 -07:00
Lachlan Sneff
443663aa3f
Add caching support to llvm backend
2019-04-19 13:54:48 -07:00
Lachlan Sneff
4dd64ed72e
Remove UserTrapper trait
2019-04-18 10:00:15 -07:00
Lachlan Sneff
57e24c957c
Merge branch 'master' into feature/remove-call-protected
2019-04-12 12:44:59 -07:00
Mark McCaskey
d507253372
update crate version numbers to 0.3.0
2019-04-12 12:19:46 -07:00
Lachlan Sneff
0d30c957a2
Fix llvm test
2019-04-12 10:33:30 -07:00
Lachlan Sneff
75cc65a8c5
Update llvm backend to new backend abstraction
2019-04-12 10:05:50 -07:00
Lachlan Sneff
60ac7a5b49
Remove unneeded semicolon
2019-04-11 12:13:36 -07:00
Lachlan Sneff
c898439817
Add well placed unwind(allowed) attribute
2019-04-11 12:07:54 -07:00
Lachlan Sneff
1cb3fbea0a
Add support for panicking/returning err back to llvm
2019-04-10 14:17:10 -07:00
Lachlan Sneff
cc656b26a9
Add implementations for typed func errors to cranelift and llvm
2019-04-09 17:09:33 -07:00
bors[bot]
593720dfc5
Merge #310
...
310: fix(llvm-lint) Clean up various warnings r=Hywan a=Hywan
These patches remove various warnings raised by `rustc`.
Only 2 warnings remain.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
Co-authored-by: Mackenzie Clark <mackenzie.a.z.c@gmail.com>
2019-04-01 10:18:56 +00:00
Mackenzie Clark
124563a556
Merge branch 'master' into fix-llvm-lints
2019-03-30 18:11:40 -07:00
Mackenzie Clark
ca41c6dd6b
Merge branch 'master' into fix-llvm-example
2019-03-30 18:10:20 -07:00
Ivan Enderlin
316cbc54ab
doc(lib) Add basic README.md
.
2019-03-29 10:17:24 +01:00
Ivan Enderlin
8179dd6f96
fix(llvm-backend) Remove sign_type
from generate_trampoline
.
2019-03-29 10:09:56 +01:00
Ivan Enderlin
34b4f2fb11
fix(llvm-backend) Mark some variables as unused.
2019-03-29 10:09:39 +01:00
Ivan Enderlin
5cd45cbc28
fix(llvm-backend) Mark a variable as unused.
2019-03-29 10:09:10 +01:00
Ivan Enderlin
b03980f8c9
fix(llvm-backend) Remove unused variables or functions.
2019-03-29 10:08:43 +01:00
Ivan Enderlin
76d26d97ac
fix(llvm-backend) Remove Intrinsics.ctx_ty
, CtxType.ctx_ty, and
.ctx_ptr_ty`.
2019-03-29 10:07:38 +01:00
Ivan Enderlin
7645a812d9
fix(llvm-backend) Remove unused variables.
2019-03-29 10:07:08 +01:00
Ivan Enderlin
00e4b25111
fix(llvm-backend) No need to enumerate items in this iterator.
2019-03-29 10:06:31 +01:00
Ivan Enderlin
20378de0e7
fix(llvm-backend) llvm_sig
variable is not used here.
2019-03-29 10:06:11 +01:00
Ivan Enderlin
e3f39fc127
fix(llvm-backend) parse_function
doesn't need a Module
.
2019-03-29 10:05:39 +01:00
Ivan Enderlin
dea4705dcb
fix(llvm-backend) LLVMBackend::new
doesn't use instrinsics yet.
2019-03-29 10:04:56 +01:00
Ivan Enderlin
91f40639b7
fix(llvm-back) Mark WasmTrapType
as deadcode.
...
This enum is not used directly by Rust, but used externally.
2019-03-29 10:04:09 +01:00
Ivan Enderlin
a1ca7069af
fix(llvm-backend) Remove unused imports.
2019-03-29 10:03:40 +01:00
Ivan Enderlin
ddf532ddb5
fix(llvm-backend) Remove an example.rs
file.
2019-03-29 09:43:21 +01:00
Mackenzie Clark
5294eb6b0d
merge and respond to feedback
2019-03-28 11:41:45 -07:00
Mark McCaskey
a0e20667b5
add small fix
2019-03-28 10:08:41 -07:00
Mark McCaskey
c51d44578d
simplify borrowing inference of compiler config in llvm backend
2019-03-27 14:25:29 -07:00
Mark McCaskey
51c2111d53
pass compiler_config along to other backends
2019-03-27 14:18:34 -07:00
Mackenzie Clark
0c7808b1d3
reset a cargo manifests
2019-03-12 13:58:33 -07:00
Mackenzie Clark
f2488ac410
remove feature flag on custom sections
2019-03-12 13:36:11 -07:00
Mackenzie Clark
f7f4fbf08a
add the feature flag for llvm backend
2019-03-12 11:59:50 -07:00
Syrus
e591cd0607
Use wasmerio fork of inkwell
2019-03-11 10:03:40 -07:00
Lachlan Sneff
17eada53f3
feat(runtime) Get ready for tiering ( #257 )
...
* Add local_function field to context
* Add local call indirection to llvm
* local call indirection
* Fix vm test
* Fix cranelift local call indirection
* Fix unwinding on nightly
2019-03-08 15:15:16 -08:00
Syrus
3a4325c5a3
Only use llvm in non windows envs
2019-03-07 18:26:29 -08:00
Syrus
671ff09e6a
Use LLVM 5 for Windows
2019-03-07 18:06:47 -08:00
Lachlan Sneff
0e5d1172d6
Just install the signal handler once
2019-03-05 16:50:49 -08:00
Lachlan Sneff
48b36a3b01
Runs on linux and also hopefully ci
2019-03-05 14:54:44 -08:00
Lachlan Sneff
fa3ef2e88d
Remove .llvmenv
2019-03-05 13:34:22 -08:00
Lachlan Sneff
276e5125b5
Filter out -fno-exceptions from llvm-config --cxxflags
2019-03-05 13:23:26 -08:00
Lachlan Sneff
c86c910054
Add partiality to float truncation
2019-03-05 11:50:56 -08:00
Lachlan Sneff
f2b927bcd8
Remove debug print
2019-03-04 20:00:56 -08:00
Lachlan Sneff
fe8f8a0132
Add illegal arithmetic runtime error
2019-03-04 19:56:02 -08:00
Lachlan Sneff
3be7144892
Some cleanup
2019-03-04 17:37:05 -08:00
Lachlan Sneff
2969409ca7
Add hacky reinterpret instructions and pop used arguments off the value stack
2019-03-04 16:44:46 -08:00
Lachlan Sneff
25c0cef5f7
Up to 1242 passing spectests
2019-03-04 15:51:45 -08:00
Lachlan Sneff
7ef2c0dece
Fix execute after free issue with llvm (and presumably cranelift?)
2019-03-04 14:41:56 -08:00
Lachlan Sneff
039ebdcf75
Fix merge errors and update llvm to use the new runtime error type.
2019-03-04 13:10:28 -08:00