Commit Graph

244 Commits

Author SHA1 Message Date
Patrick Ventuzelo
33ba6768bc replace panics by CodeGen Error in codegen_x64 2019-09-16 09:56:41 +02:00
losfair
9b77677e4b Relax constraints a bit to compile on aarch64. 2019-09-15 18:23:42 +08:00
losfair
d3227f830c More instructions & aarch64 trampolines. 2019-09-15 17:57:40 +08:00
Johan Andersson
ad70caff83 Remove colored CLI output from runtime-core lib.
When the colored output was originally added in https://github.com/wasmerio/wasmer/pull/489 and there was a discussion then about that it should ideally be in a higher-level crate rather than in the runtime-core library crate.

I agree with that, users of the library shouldn't be required to bring in the colored crate dependency and ideally also not have stdout/stderr output either, that should be controlled by the application that uses wasmer-runtime-core, not the library.

Disabling stdout/stderr output would be more intrusive but I wanted to at least not have colored output and another crate dependency so this change removes the colored output and the "colored" crate.
2019-09-15 03:21:04 +02:00
Nick Lewycky
0387c3ff93 Turn this unreachable into a panic with an error message. 2019-09-13 14:44:54 -07:00
Mark McCaskey
0f4d266e4e Prepare for 0.7.0 release 2019-09-12 12:44:38 -07:00
losfair
ce7c903c23 Add impl for more instructions for aarch64 translator. 2019-09-11 01:13:52 +08:00
dependabot-preview[bot]
009bb67686
Bump lazy_static from 1.3.0 to 1.4.0
Bumps [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/rust-lang-nursery/lazy-static.rs/releases)
- [Commits](https://github.com/rust-lang-nursery/lazy-static.rs/compare/1.3.0...1.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-09 23:02:16 +00:00
losfair
4210715070 AArch64 translation module. 2019-09-07 01:32:21 +08:00
Syrus
d8471e2b6a Improved docs with custom logo and favicon 2019-09-03 17:06:31 -07:00
losfair
9015b79091 Cargo fmt 2019-09-01 18:17:47 +08:00
losfair
45040650dd Fix the missing Copy trait error 2019-09-01 18:17:31 +08:00
losfair
86814a1920 Merge remote-tracking branch 'origin/master' into feature/llvm-osr 2019-08-22 10:47:39 -07:00
dependabot-preview[bot]
5d4b78e880
Bump nix from 0.14.1 to 0.15.0
Bumps [nix](https://github.com/nix-rust/nix) from 0.14.1 to 0.15.0.
- [Release notes](https://github.com/nix-rust/nix/releases)
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-21 22:36:56 +00:00
losfair
bf9d915635 Fix a few issues from PR comments. 2019-08-21 14:53:33 -07:00
losfair
124ad73e8a Merge remote-tracking branch 'origin/master' into feature/llvm-osr 2019-08-19 13:06:59 -07:00
Brandon Fish
7b7f55306c
Merge branch 'master' into feature/fix-singlepass-panic-no-functions 2019-08-17 00:34:06 -06:00
Brandon Fish
bccbbb3d8b Add deny nonstandard-style and unused-mut lints 2019-08-15 20:18:29 -06:00
losfair
afa0600701 Cargo fmt 2019-08-15 19:13:00 -07:00
losfair
6a24485999 Insert trampolines to preserve callee-saved registers for backends without register save area information. 2019-08-15 19:10:24 -07:00
Brandon Fish
98d3e04137 Fix unused mut warning 2019-08-15 20:09:51 -06:00
Brandon Fish
439e81d41e Fix singlepass error when no function code present 2019-08-15 10:15:58 -06:00
losfair
98ef9182d7 Run clang-format and cargo fmt 2019-08-14 16:35:40 -07:00
losfair
0e0573c73c Merge remote-tracking branch 'origin/master' into feature/llvm-osr 2019-08-14 16:33:26 -07:00
losfair
9cade2b441 singlepass: Skip patchpoint. 2019-08-10 03:10:32 +08:00
Brandon Fish
5a41686192 Fix bare_trait_objects warnings 2019-08-08 16:46:52 -06:00
losfair
c1619026d5 Swap code lazily when tiering up from singlepass to LLVM.
Does not handle long-running functions, but should work at least.
2019-08-09 04:26:17 +08:00
Brandon Fish
2f70a199e4 Add deny dead_code lint and fix one error 2019-08-01 20:46:35 -06:00
Syrus
ebce7d0371 Updated dependencies 2019-07-31 23:42:54 -07:00
Syrus
a6461c3b14 Removed explicit hashbrown dependency 2019-07-31 23:18:38 -07:00
Syrus
6245daaa84 Update dependencies to latest versions 2019-07-31 23:04:03 -07:00
Mark McCaskey
20e424c11e update wasmparser and clif-fork dependencies 2019-08-01 10:13:25 +09:00
Syrus
fccf68c734 Updated version to 0.6.0 2019-07-31 10:28:45 -07:00
losfair
283676af2b Add .clone() to fix singlepass. 2019-07-30 22:25:37 +08:00
Syrus
76daa7b3fd Improved Wasmer Backends documentation 2019-07-24 18:06:59 -07:00
Nick Lewycky
16fe3ce0af Merge branch 'master' into simd 2019-07-23 13:51:15 -07:00
Mark McCaskey
ad7e3b52d3 Prepare for release of 0.5.7 2019-07-23 11:20:59 -07:00
Nick Lewycky
cd25356858 Fix shuffle and enable tests. Add support for new load_splat instructions.
Updates to wasmparser 0.34.0 and picks up a newer wasmerio/wabt.
2019-07-19 15:19:58 -07:00
Nick Lewycky
eeac6d5d2d Merge branch 'master' of github.com:wasmerio/wasmer into simd 2019-07-16 19:16:45 -07:00
Mark McCaskey
19f544e489 update to 0.5.6 2019-07-16 13:12:21 -07:00
Brandon Fish
ed19fd2913 Update loader-kernel feature name, fix compilation track state, cargo fmt 2019-07-12 23:02:57 -05:00
losfair
450109e2bb Fix singlepass compilation error. 2019-07-13 00:17:21 +08:00
losfair
08cdc9a42f Allow disabling state tracking for faster startup. 2019-07-12 23:37:40 +08:00
losfair
f327feccef Merge remote-tracking branch 'origin/master' into fix/imul-relax 2019-07-12 23:37:01 +08:00
losfair
c186e0244e Fix compile error on imul. 2019-07-11 20:26:20 +08:00
Johan Andersson
b41040cc59 Update to nix 0.14.
Instead of using a mix of nix 0.12 & 0.13
2019-07-11 12:28:56 +02:00
Nick Lewycky
3ba8100e98 Add V128 stubs to allow singlepass backend to build again. 2019-07-10 13:48:12 -07:00
Mark McCaskey
4752492974 update version numbers to 0.5.5 2019-07-09 17:43:04 -07:00
Mark McCaskey
99ebb782dc update to version 0.5.4 2019-07-05 13:35:55 -07:00
losfair
a3dcc0e240 Merge remote-tracking branch 'origin/master' into feature/osr 2019-07-04 23:56:45 +08:00
Mark McCaskey
535da4c34a update to version 0.5.3 for wapm bug fix 2019-07-03 14:35:39 -07:00
losfair
02464991da Cargo fmt 2019-07-04 01:45:54 +08:00
losfair
f32b22d571 Bkpt* -> Breakpoint* 2019-07-04 01:45:06 +08:00
losfair
5c5ecfff7d Rename alternative_stack to fault. 2019-07-04 01:27:19 +08:00
Mark McCaskey
83da82d844 update for release wasmer 0.5.2 2019-07-02 14:13:45 -07:00
Nick Lewycky
b8f0292c0a Update to wasmpaser 0.32.1. 2019-07-02 10:00:19 -07:00
Nick Lewycky
9fc713f9b1 Update for new wasmparser.rs version. 2019-07-01 16:11:38 -07:00
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
c67405ffe5 Add workaround for singlepass miscompilation on GetLocal. 2019-07-01 21:20:35 +08:00
losfair
80509e3f78 Fix singlepass miscompilation. 2019-06-30 11:50:06 +08:00
losfair
db117d2f26 Cleanup internal logic. 2019-06-27 17:54:06 +08:00
losfair
967027003d Full preemptive snapshot/resume. 2019-06-27 15:49:43 +08:00
losfair
63f9818cf6 Move more logic into runtime-core and add an interactive shell. 2019-06-27 00:41:07 +08:00
losfair
a792ac6a48 Wrap alternative stack functions properly. 2019-06-26 20:45:32 +08:00
losfair
183571927c Merge remote-tracking branch 'origin/master' into feature/osr 2019-06-26 13:02:41 +08:00
losfair
9b4343eac5 Fix compilation on Linux. 2019-06-26 12:33:50 +08:00
losfair
2373d371ae Optimize backtraces. 2019-06-26 11:28:46 +08:00
losfair
2730efcc6c Cargo fmt 2019-06-26 01:39:30 +08:00
losfair
3f2aeec9bc Suspend & restore. 2019-06-25 20:01:56 +08:00
losfair
8303853227 Cargo fmt 2019-06-25 03:56:20 +08:00
losfair
fb7c3eee8a Improve stack trace collection and rendering. 2019-06-25 03:55:33 +08:00
Mark McCaskey
09177ac3ae update version numbers to 0.5.1, add changelog entry 2019-06-24 12:45:40 -07:00
losfair
73eb04d269 Merge remote-tracking branch 'origin/master' into feature/osr 2019-06-24 23:35:47 +08:00
Mark McCaskey
7bdfb2be51 update version numbers and changelog for 0.5.0 2019-06-17 12:56:28 -07:00
losfair
9585b89705 Fix bugs in state reading. 2019-06-12 23:54:15 +08:00
losfair
32008eba88 Read stack values based on state map. 2019-06-12 22:02:15 +08:00
losfair
00b6bf632a Dumping stack through import. 2019-06-12 13:38:58 +08:00
losfair
ddd0653a25 Make singlepass backend emit state mapping information. 2019-06-12 00:21:43 +08:00
losfair
da9bf05218 Machine state diff 2019-06-11 20:49:30 +08:00
losfair
082b8376ae State representation. 2019-06-09 21:21:18 +08:00
losfair
61786a370a Fix typo in machine. 2019-06-08 22:56:13 +08:00
laizy
1780d57df1 add Mechine::release_locations_keep_state test 2019-06-08 22:25:20 +08:00
laizy
8105c0c16f fix stack offset check 2019-06-08 15:03:56 +08:00
losfair
f2d8aad73a Support checking the execution limit exceeded error. 2019-06-05 11:51:33 +08:00
losfair
c1e817b3fb Add missing relaxed moves. 2019-05-31 19:29:28 +08:00
losfair
8019505e65 Merge remote-tracking branch 'origin/feature/clif-cgapi' into feature/metering 2019-05-31 15:40:05 +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
14fcd78b30 Update bin/wasmer and run cargo fmt. 2019-05-17 01:15:05 +08:00
losfair
e7297b9465 Update singlepass backend to support metering. 2019-05-17 01:11:22 +08:00
losfair
32f9aee6fe Cargo fmt 2019-05-14 16:04:08 +08:00
losfair
db9705f00c Merge remote-tracking branch 'origin/master' into feature/remote-code-load 2019-05-14 15:46:15 +08:00
Syrus
8218e550fc Improved docs and fixed few typos 2019-05-13 11:18:57 -07:00
Heyang Zhou
af1ac9af96 Improve performance of memory access. 2019-05-13 05:11:08 -07: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
Heyang Zhou
620a6ddd85 Disable memory bound checking for kernel loader. 2019-05-08 10:25:29 -07: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
Heyang Zhou
61510f8116 Enforce runtime memory and stack bound check when using kernel loader. 2019-05-06 07:15:30 -07:00
Brandon Fish
0926a5020e Implement caching for parser refactor 2019-05-05 20:11:47 -05:00
Brandon Fish
1864733ab8 Merge branch 'master' into feature/llvm-cgapi 2019-05-05 13:25:51 -05:00
Heyang Zhou
46e4cb05bc Get memory intrinsics at runtime. 2019-05-04 10:33:12 -07:00
Heyang Zhou
af0b1476f3 Add emit_u64 to Emitter API 2019-05-04 07:25:29 -07:00
Heyang Zhou
7a4b2172a5 Remove runtime dependence for BrTable 2019-05-04 07:25:11 -07:00
Brandon Fish
c5caf9b6db Update LLVM FCG begin_body 2019-05-03 00:14:25 -05:00
losfair
14bfd75ac9 Code loader framework. 2019-05-03 00:23:41 +08:00
Henrik Rydgård
5e37368ec9 Exception logging (win32): Handle error codes correctly, add some more strings. 2019-05-02 12:45:52 +02:00
Brandon Fish
8d86844c5f
Merge branch 'master' into parser-middleware 2019-05-01 13:10:44 -05:00
Mark McCaskey
2646765671
Merge branch 'master' into update-version-numbers-to-4 2019-05-01 09:27:38 -07: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
Brandon Fish
da807ed2a1 Remove unused imports 2019-04-29 23:40:16 -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
losfair
46fb72af9d Add missing .rev() on parameter list and simulate "red zone". 2019-04-28 13:31:22 +08:00
losfair
6beb76c3ae Various cleanups. 2019-04-28 12:48:01 +08:00
losfair
2262c8a6da Finished middleware impl and made a CallTrace middleware 2019-04-27 16:31:47 +08:00
losfair
eca8ccdbd4 Move out parser and codegen traits. 2019-04-27 12:31:04 +08: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
ecdcab5de9 Update singlepass to renamed enum discrimant 2019-04-22 11:47:47 -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
016535ce12 Merge branch 'master' into feature/singlepass-opt 2019-04-17 15:19:51 -07:00
Lachlan Sneff
61f31ae7e8 Fix lint (just two lines) 2019-04-17 15:17:16 -07:00
Lachlan Sneff
088263a604
Merge branch 'master' into feature/remove-call-protected 2019-04-17 14:14:36 -07:00
Lachlan Sneff
f0a20151f6 Fix returning the result from dynamic calls on the singlepass backend 2019-04-17 14:14:01 -07:00
losfair
e71da1cdf1 Some documentation on the code generator. 2019-04-18 02:28:08 +08:00
losfair
5f9aed0103 Merge remote-tracking branch 'origin/master' into feature/singlepass-opt 2019-04-17 02:18:00 +08:00
losfair
0da2442be1 Parse input in a single pass. 2019-04-17 02:10:36 +08:00
losfair
c47eb6eaa2 Fix corner cases. 2019-04-16 22:45:32 +08:00
Mark McCaskey
a36ab1cd78 add misc changes to Cargo.tomls for publishing 2019-04-12 14:07:25 -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
4e17ff8571 Update singlepass backend to new backend abstraction 2019-04-12 10:21:40 -07:00
Syrus
d67bfdb2c5 Renamed dynasm backend to singlepass 2019-04-11 12:44:03 -07:00