Commit Graph

204 Commits

Author SHA1 Message Date
Brandon Fish
3f0cafce5c Remove old Cranelift compiler code 2019-05-26 22:32:11 -05:00
Brandon Fish
bf1cfc2578 Re-enable deny warnings in clif backend 2019-05-26 22:17:49 -05:00
Brandon Fish
f42ca84480 Add calling convention to function signatures 2019-05-26 14:44:17 -05:00
Brandon Fish
cc4b1871d0 Fix get global type 2019-05-26 14:15:30 -05: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
Brandon Fish
5da0c4766a Update to Arc<RwLock<ModuleInfo>> for interior mutability 2019-05-25 19:30:44 -05:00
Brandon Fish
d440776bc0 Update lifetime of function builder references 2019-05-25 18:06:41 -05:00
Johan Andersson
8018453266 Update wasmparser 0.29.2 -> 0.30.0 2019-05-24 23:18:08 +02:00
Brandon Fish
9f2e068ff4 Implement conversion of signatures into clif signatures 2019-05-23 20:04:55 -05:00
Brandon Fish
a713043360 Update translate_operator op argument 2019-05-22 23:46:38 -05:00
Brandon Fish
5d3f6ea167 Fixing lifetime issues in clif codegen refactor 2019-05-22 17:21:16 -05:00
Brandon Fish
04d6ccc95c Pass module info to FCG as Arc 2019-05-21 23:44:31 -05:00
Brandon Fish
5db575e8ef Fix clif_signatures in function codegen 2019-05-19 15:22:02 -05:00
Brandon Fish
db669f7eb7 Fix more codegen compilation issues 2019-05-19 15:01:25 -05:00
Brandon Fish
d547beda72 Fix self.info compilation error in MCG.finalize 2019-05-19 13:05:35 -05:00
Brandon Fish
47479b547f Implement MCG.{finalize, from_cache} 2019-05-19 10:53:33 -05:00
Brandon Fish
6d5dd5ff21 Implement more function codegen 2019-05-19 00:27:39 -05:00
Brandon Fish
2d10306c87 Add copyright notice 2019-05-18 16:32:22 -05:00
Brandon Fish
74a758d39e Add progress on next_event 2019-05-18 16:31:08 -05:00
Syrus
4ddffb8285 Update libraries versions to 0.4.2 2019-05-16 14:39:13 -07:00
Brandon Fish
ac3fafae9a
Merge branch 'master' into feature/clif-cgapi 2019-05-14 23:01:28 -05:00
Syrus
8218e550fc Improved docs and fixed few typos 2019-05-13 11:18:57 -07:00
Brandon Fish
7315cd1100 Add some basic partial implementation of Cranelift codegen 2019-05-12 19:16:01 -05:00
Brandon Fish
d9cd4fc3e0 Add scaffold to use new code generator API for Cranelift 2019-05-12 11:05:26 -05: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
Mark McCaskey
e5dc94c7d6 update version number to 0.4.1 2019-05-06 18:02:39 -07:00
Henrik Rydgård
5e37368ec9 Exception logging (win32): Handle error codes correctly, add some more strings. 2019-05-02 12:45:52 +02:00
Mark McCaskey
2646765671
Merge branch 'master' into update-version-numbers-to-4 2019-05-01 09:27:38 -07: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
Mackenzie Clark
9ab7199fe5
Merge branch 'master' into feature/cleanup-imports-unsafe 2019-04-24 08:37:06 -07:00
Lachlan Sneff
14325c975e Rename internal enum to make less confusing 2019-04-22 15:36:47 -07:00
Lachlan Sneff
706ddabf61 Hook up error propagation 2019-04-22 15:06:40 -07:00
Lachlan Sneff
74b6ba4eaf Return type normalization, and change return errors from imported functions 2019-04-22 11:42:52 -07:00
Brandon Fish
9e93565a49 Cleanup build warnings imports and unnecessary unsafe 2019-04-20 20:37:39 -05: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
051d435423 Warnings and unused code cleanup 2019-04-12 10:27:14 -07:00
Lachlan Sneff
8b5da1d86e Update cranelift backend to new backend abstraction 2019-04-12 09:58:29 -07:00
Lachlan Sneff
751dff0f9d Attempt to fix windows build 2019-04-09 16:46:01 -07:00
Lachlan Sneff
c212ba3619 Add implementations for typed func errors to cranelift and llvm 2019-04-09 15:53:01 -07:00
bors[bot]
77f8186507 Merge #321
321: Update to Cranelift 0.3.0 r=bjfish a=bjfish

Some API changes were addressed:
- `ModuleEnvironment` many trait methods removed: 459f6ddb26 (diff-0682a088315ee358a75d4b60bc72dafc)
- `declare_table_elements` parameter type changed: 64ea964bc0
- `UnreachableCodeReached` trap code added: 1c43ad771e
- `declare_signature` signature updated: 8a24539e0c
- `define_function_body` parameter added: 37dffdaea1
- `target_lexicon` dependency updated to version `0.3.0`

Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
Co-authored-by: Brandon Fish <bjfish@users.noreply.github.com>
2019-04-04 17:10:51 +00:00
Mark McCaskey
9e601c42f9 change func_index offset by number of imported funcs 2019-04-04 09:29:30 -07:00
Syrus Akbary
7ff51c3b9e
Update lib/clif-backend/src/module.rs
Remove unnecessary `<'a>` from Converter

Co-Authored-By: bjfish <bjfish@users.noreply.github.com>
2019-04-03 13:35:36 -05:00
Brandon Fish
5627f80548 Update to Cranelift 0.3.0 2019-04-03 00:13:40 -05:00
Ivan Enderlin
316cbc54ab doc(lib) Add basic README.md. 2019-03-29 10:17:24 +01:00
Mackenzie Clark
5294eb6b0d merge and respond to feedback 2019-03-28 11:41:45 -07:00
Mark McCaskey
09068c1a74 clean up implementation 2019-03-27 14:01:27 -07:00
Mark McCaskey
a0809dedbf change formatting to match syscalls 2019-03-26 16:57:58 -07:00
Mark McCaskey
9c58bed344 add support for symbol maps 2019-03-26 16:41:40 -07:00
Mackenzie Clark
edacb0a8a7 Merge branch 'master' into feature/vfs 2019-03-16 13:38:02 -07:00
Mackenzie Clark
14104c2c8b fix lots of warnings
fix warnings
2019-03-15 14:10:17 -07:00
Mackenzie Clark
f2488ac410 remove feature flag on custom sections 2019-03-12 13:36:11 -07:00
Mackenzie Clark
b9c3a49f3c parse and store custom sections from wasm, guarded by vfs feature flag 2019-03-12 10:45:44 -07:00
Ivan Enderlin
2c8fc5238d fix(clif-backend) Remove unused imports.
This patch removes unused imports reported by `rustc` as warnings.
2019-03-12 10:03:55 +01: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
Lachlan Sneff
4e198bca8b merge upstream/master into wasmer-private/feature/llvm-backend 2019-03-04 13:03:32 -08:00
Lachlan Sneff
65ec10961b
Change RuntimeError type (#234)
* Change RuntimeError type and fix codebase to use it

* Fix spectests to work with new runtime error type

* Fix windows signal handler in the clif-backend

* Add missing conversion

* final windows fix
2019-03-04 12:57:26 -08:00
Mackenzie Clark
b3c60bce14
Merge branch 'master' into fix-clif-backend-module-new 2019-03-04 08:14:44 -08:00
Ivan Enderlin
5744f6896f fix(clif-backend) Module::new does not use its argument.
The `Module::new` method requires an argument (`wasm: &[u8]`) that is
never used.

This patch removes the argument, and updates the code accordingly.
2019-03-04 14:03:07 +01:00
Ivan Enderlin
42c9bdf8c2 fix(clif-backend) Remove an unused variable declaration.
The `compiled_functions` variable is declared twice. The first
declaration is never used. This patch removes it.
2019-03-04 13:59:37 +01:00
Syrus
53c8603464 Updated crates version to 0.2.0 2019-02-25 13:33:33 -08:00
Syrus Akbary
c5c967da00 Added parallel compilation (#209) 2019-02-25 12:03:48 -08:00
Lachlan Sneff
07c8975304 Fix clif backend 2019-02-22 16:20:26 -08:00
Lachlan Sneff
df03d00e74 Merge upstream/master into feature/llvm-feature 2019-02-22 14:14:46 -08:00
Lachlan Sneff
0c19824425 Fix after merge 2019-02-22 14:07:03 -08:00
Syrus
fdb2a67579 Added cache into standalone app 2019-02-22 11:42:36 -08:00
Lachlan Sneff
696fd8fce3 Update api again and change SerializedCache to Artifact 2019-02-21 17:07:04 -08:00
Lachlan Sneff
7fa818ea06 Finalize new cache api 2019-02-21 11:47:28 -08:00
Lachlan Sneff
9f40eedba8 Get caching working again 2019-02-20 16:41:41 -08:00
Lachlan Sneff
82eea00a02 Saved 2019-02-19 15:36:22 -08:00
Lachlan Sneff
3c7dc200fa close to working 2019-02-19 09:58:01 -08:00
Lachlan Sneff
e381bbd07b Use ModuleInfo instead of ModuleInner when possible 2019-02-18 11:56:20 -08:00
Lachlan Sneff
2d87f64f82 Merge master into feature/llvm-backend 2019-02-14 15:47:28 -08:00
Mackenzie Clark
6a1fdb7f91
add windows exception handling in C (#175) 2019-02-14 09:58:33 -08:00
Syrus
b6416068a8 Use vec.push instead of .insert for vmctx arg 2019-02-12 11:17:09 -08:00
Syrus
44d1a0d1f9 Fixed debug function context position 2019-02-12 10:49:43 -08:00
Syrus
c40195cf77 Fixed spectests 2019-02-12 10:04:11 -08:00
Syrus
4311a37def Fixed simple spectests example compilation 2019-02-09 20:13:58 -08:00
Lachlan Sneff
327e3a4a1a Implement many wasm instructions 2019-02-09 15:53:40 -08:00
Syrus
227d5e24cf Moved ctx to first argument in Cranelift backend 2019-02-09 14:18:53 -08:00
Lachlan Sneff
aa90a33501 Make module info store FuncSig, not Arc<FuncSig> 2019-02-08 14:19:58 -08:00
Mackenzie Clark
9a56680281
fix windows linking and appveyor build (#166) 2019-02-08 13:51:29 -08:00
Lachlan Sneff
1886b3d3c1
Naive short circuiting implementation for user panics and results. (#167)
* Add panic and result catching

* exit process on panic and user runtime error

* Complete initial implementation
2019-02-08 13:08:03 -08:00
Mackenzie Clark
46ac4e9e1a
reorganize signal module and leave stubs in windows (#162) 2019-02-07 17:08:42 -08:00
Lachlan Sneff
8d2c1956d7
Fix runtime error catching (#157) 2019-02-07 14:44:28 -08:00
Syrus
14806cb604 Fixed formatting and removed print debug statement 2019-02-07 11:37:15 -08:00
Lachlan Sneff
e147983ece fix 2019-02-07 10:45:48 -08:00
Lachlan Sneff
8fe9b7eac2
Add caching. (#134)
* Allow a module to have a different signature registry than the process-specific

* Add core ability to build compiled code caches

* Remove timing printouts

* Serialize/Deserialize memories to reduce copies

* Work more on api

* Relocate local functions relatively before external functions

* Fix incorrect definition in test

* merge errors caused by merge

* Fix emscripten compile

* Fix review comments
2019-02-06 16:26:45 -08:00
Lachlan Sneff
2f2f86a4de
Add feature flag to output debug information while running wasm (#147)
* Generate debug info during execution

* feature cfg debug output
2019-02-06 15:43:27 -08:00
Syrus
b1a7642773 Fixed immutable globals assertion 2019-02-01 14:00:07 -08:00
Lachlan Sneff
69e9c5154d Add Pages and Bytes newtypes 2019-01-29 15:44:15 -08:00
Lachlan Sneff
bc78738bb7 renaming 2019-01-29 14:15:59 -08:00
Lachlan Sneff
581363119b More review fixes 2019-01-29 13:04:42 -08:00
Lachlan Sneff
767fdbd950 Fix some reviewed items 2019-01-29 12:49:51 -08:00
Lachlan Sneff
5aa7d71ede
Merge branch 'master' into feature/improve-importing 2019-01-29 10:28:18 -08:00