Nick Lewycky
ba68cfc2c6
Finish atomic operations for singlepass, excluding wait and notify.
2019-10-02 16:31:11 -07:00
Nick Lewycky
bc7e017188
Add atomic.rmw operations, excluding xchg and cmpxchg.
...
Sizes are now ordered, to facilitate an assertion that one size is less (smaller) than another.
panic! error messages are provided for remaining emitter functions.
2019-10-02 16:31:11 -07:00
Nick Lewycky
f021d59a0b
Refactor out a compare-and-swap loop function.
2019-10-02 16:31:11 -07:00
Nick Lewycky
cd1d06f5a5
Initial working implementation of I32AtomicRmwAnd!
...
Adds the ability to reserve a specific temp-gpr register. Needed for CMPXCHG which always uses RAX.
2019-10-02 16:31:11 -07:00
Nick Lewycky
6937019b65
Use a compare-and-swap loop for AND.
...
BUG: This might allocate RAX twice.
2019-10-02 16:31:10 -07:00
Nick Lewycky
81895830f0
Add emitter for LOCK CMPXCHG so that we can emit compare-and-swap loops.
2019-10-02 16:31:10 -07:00
Nick Lewycky
efc89e829d
Add i32 rmw add and sub.
2019-10-02 16:31:10 -07:00
Nick Lewycky
98f35ef84a
Initial implementation of atomic load/store and i32 atomic rmw add.
2019-10-02 16:31:10 -07:00
Mark McCaskey
c77cbc1f40
Prepare for 0.8.0 release
2019-10-02 15:40:35 -07:00
Jordan Danford
9be72e6808
Fix some other files too
2019-09-30 22:50:04 -07:00
losfair
b304317682
More mov variants.
2019-09-30 01:01:15 +08:00
Heyang Zhou
dfb8989280
Merge branch 'master' into nlewycky/singlepass-add-zero
2019-09-29 12:52:26 +08:00
losfair
89d8b5a41c
Fixes for aarch64.
2019-09-28 17:31:10 +08:00
Brandon Fish
c69cdeca9b
Update cranelift backend to fork version 0.44.0
2019-09-25 23:37:39 -05:00
nlewycky
392a61ff12
Merge branch 'master' into nlewycky/singlepass-add-zero
2019-09-24 13:58:27 -07:00
Syrus
7bf306eb27
Use flat-square style in downloads button
2019-09-24 13:42:17 -07:00
Syrus
621ef56ab6
lmproved READMEs to use Azure Pipelines badges and better lgo
2019-09-24 13:36:31 -07:00
Nick Lewycky
be181f9119
Correct this test and simplify.
2019-09-24 10:54:23 -07:00
Nick Lewycky
07b5991080
No need to emit add of constant zero.
2019-09-23 15:01:19 -07:00
losfair
3dadbc15c9
Integer subset done.
2019-09-23 22:30:08 +08:00
Brandon Fish
a1a88c6eb8
Use the default features for wasmparser
2019-09-21 13:59:08 -05:00
Brandon Fish
f48d6f6690
Cranelift backend update to fork of clif version 0.43.1
2019-09-21 13:06:54 -05:00
Mark McCaskey
bf396ec76d
Remove patch version in deps when not necessary
2019-09-20 16:11:09 -07:00
losfair
a124d87d0f
Fix Operator::MemorySize.
2019-09-19 01:10:23 +08:00
losfair
5f8b289751
movzx/movsx
2019-09-19 01:04:20 +08:00
losfair
8a91f801b9
Fix return from homomorphic host redirection trampoline.
2019-09-18 21:47:31 +08:00
losfair
72b6123def
Fix memory grow
2019-09-18 02:38:35 +08:00
losfair
e40600533e
Add missing emit_mov
variants.
2019-09-18 02:30:45 +08:00
losfair
97b75d0124
Ensure callee-saved registers are properly preserved.
2019-09-18 02:21:35 +08:00
losfair
b57aba4ae7
Add homomorphic host redirection abstraction for vm->host calls.
2019-09-18 02:14:13 +08:00
Johan Andersson
ba488adb8f
Merge branch 'master' into remove-colored
2019-09-16 22:17:34 +02:00
losfair
d8b313e3fd
Fix emit_lea.
2019-09-17 00:49:21 +08:00
losfair
05557fc9ad
Bump dynasm to v0.5.1
2019-09-16 23:46:10 +08:00
Patrick Ventuzelo
00c2e09f43
fix CodeGen message type
2019-09-16 11:00:03 +02:00
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