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
Lachlan Sneff
19242a413f
Get table imports working
2019-01-29 10:16:39 -08:00
Lachlan Sneff
98305c8731
Add new global import api
2019-01-28 11:55:44 -08:00
Lachlan Sneff
e4686e67c4
Add importable memories and dynamic memories
2019-01-25 15:28:54 -08:00
Syrus
29a3af11fc
Updated lib crate versions
2019-01-25 10:38:31 -08:00
Brandon Fish
65872a1be4
Cherry-picked fix
2019-01-25 10:23:26 -08:00
Syrus
2973a32502
Updated cargo
2019-01-23 16:59:37 -08:00
Lachlan Sneff
7632beced8
Add generic range bounds to mmap ( #110 )
2019-01-23 09:37:56 -08:00
Syrus
88eb1d39a5
Improved Cargo congif
...
# Conflicts:
# lib/clif-backend/Cargo.toml
2019-01-22 15:34:52 -08:00
Syrus
453801b5ff
Added VERSION var to all the lib crates
2019-01-22 15:34:29 -08:00
Lachlan Sneff
38b0fbf3c5
Generate trampolines to call exported functions instead of using libffi ( #108 )
...
* remove codegen.rs
* Add export trampolines and remove libffi
* Remove unused extern crates
2019-01-22 15:00:27 -08:00
Brandon Fish
74875ed554
Library restructure ( #104 )
...
* Move wasmer-runtime to wasmer-runtime-core
* Add the runtime library
* Fix issue with macros using wasmer_runtime, fmt
* Make default compiler dependency optional
* Add instantiate and validate functions
2019-01-22 11:02:06 -08:00
Lachlan Sneff
69fd93937c
merge vm_refactor_trap_handling into vm_refactor
2019-01-21 13:53:33 -08:00
Lachlan Sneff
de046491d2
finish support for traps
2019-01-21 13:43:48 -08:00
Lachlan Sneff
b74a08f097
Add (hopefully-working) support for windows
2019-01-21 11:51:41 -08:00
Brandon Fish
3399dddb5b
cargo fmt
2019-01-20 09:52:54 -06:00
Brandon Fish
e245742251
Remove commented out code
2019-01-20 09:43:43 -06:00
Brandon Fish
808aacde2d
Update println! -> debug!, remove unnecessary comments
2019-01-20 09:19:41 -06:00
Brandon Fish
b8baf5cab9
Rename sigidx -> sig_index
2019-01-20 09:15:28 -06:00
Brandon Fish
89c5984d47
Remove commented out code
2019-01-18 23:17:00 -06:00
Lachlan Sneff
ebeea0c71c
handle traps naively
2019-01-18 16:45:30 -08:00
Lachlan Sneff
c18328aa4c
support the start function
2019-01-18 14:53:46 -08:00
Lachlan Sneff
9ed0018045
transition to protected_caller
2019-01-18 14:30:25 -08:00