Commit Graph

62 Commits

Author SHA1 Message Date
Syrus Akbary
0893de02af Update lib/compiler-singlepass/src/codegen_x64.rs
Co-authored-by: nlewycky <nick@wasmer.io>
2020-12-04 14:14:49 -08:00
Syrus Akbary
34cf0111a9 Update lib/compiler-singlepass/src/codegen_x64.rs
Co-authored-by: nlewycky <nick@wasmer.io>
2020-12-04 13:36:42 -08:00
Syrus Akbary
9a5336fb9b Update lib/compiler-singlepass/src/codegen_x64.rs
Co-authored-by: nlewycky <nick@wasmer.io>
2020-12-04 13:36:31 -08:00
Syrus
cc0d595f76 Fixed last tests in Linux 2020-12-03 23:02:09 -08:00
Syrus
2178f27a47 Added stackoverflow traps on function calls in singlepass 2020-12-03 22:09:40 -08:00
Syrus
77458752f5 Added address map instructions for traps in singlepass 2020-12-03 21:17:46 -08:00
Ivan Enderlin
ef2a55fb60 fix(compiler-singlepass) Fix future rustc error.
When compiling `wasmer-compiler-singlepass`, one can read an warning as:

```
warning: cannot borrow `*self` as mutable because it is also borrowed as immutable
    --> lib/compiler-singlepass/src/codegen_x64.rs:5132:29
     |
5125 |                 while let Some(fp) = self.fp_stack.last() {
     |                                      ------------- immutable borrow occurs here
...
5132 |                             self.canonicalize_nan(
     |                             ^^^^ mutable borrow occurs here
5133 |                                 fp.canonicalization.unwrap().to_size(),
     |                                 ------------------- immutable borrow later used here
     |
     = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
```

This patch fixes that now a warning, future error.
2020-11-27 11:18:22 +01:00
Syrus
ba60630407 Upgrade wasmparser to 0.62 2020-10-29 16:21:43 -07:00
Syrus
b7792f03c2 Upgrade wasmparser to 0.60 2020-10-29 15:50:04 -07:00
Syrus
73e502ecc5 Remove unused sourceloc 2020-10-28 13:01:18 -07:00
Mark McCaskey
6e974b92cd Run cargo fmt 2020-08-13 18:12:43 -07:00
Mark McCaskey
5049c543dc Rename wasm-common crate to wasmer-types 2020-08-13 17:59:26 -07:00
Syrus
a732159514 Use better naming for module functions 2020-07-26 12:02:45 -07:00
Mark McCaskey
f9bce8858b Merge branch 'master' into feature/improve-thread-safety-of-core-types 2020-07-09 13:57:58 -07:00
Syrus
92f8651312 Renamed wasmer_runtime to wasmer_vm 2020-07-07 21:26:06 -07:00
Syrus
38459698d1 Trying to fix issues 2020-07-07 17:05:30 -07:00
Syrus
b57a28edc7 Removed Memory plans in favor of direct styles 2020-07-07 16:50:08 -07:00
Syrus
98f2e8fe26 Remove TablePlans 2020-07-07 15:10:03 -07:00
Mark McCaskey
d4d738d97e Add an extra layer of indirection for shared globals 2020-07-02 18:23:19 -07:00
Nick Lewycky
2017acf99e Some clippy cleanup. 2020-06-20 13:43:46 -07:00
Syrus
422051ebe5 Simplified compiler config names 2020-06-18 01:36:25 -07:00
Syrus
03494ac1a2 Unify trampolines in Compilation object 2020-06-16 20:11:47 -07:00
Syrus
b00f899913 Update to Cranelift 0.65, wasmparser 0.57 2020-06-15 18:00:48 -07:00
losfair
47829d184d Add comments to explain bound calculation. 2020-06-10 01:57:55 +08:00
losfair
ab3580fb0f Fix memory trap. 2020-06-05 23:44:52 +08:00
losfair
aabadf9776 singlepass/codegen: Optimize need_check path. 2020-06-05 23:37:27 +08:00
losfair
f025efcacc Add comments from review feedback. 2020-06-03 00:47:14 +08:00
losfair
fe2b979f0e singlepass: Align loop headers to 16 bytes. 2020-06-02 01:58:05 +08:00
losfair
253f46c025 VMContext is I64. 2020-05-30 00:46:36 +08:00
losfair
510b56a31e Check memory offset calculation overflow. 2020-05-30 00:35:27 +08:00
losfair
f1883508e5 Dynamic function support for singlepass. 2020-05-27 23:56:39 +08:00
losfair
8ec1ecf50d Use a single location per function/trap combination as the condition trap destination. 2020-05-23 00:44:00 +08:00
Syrus
e92064b844 Improve frame info registration 2020-05-21 13:56:13 -07:00
losfair
32461a6938 Resolve review comments. 2020-05-21 00:53:41 +08:00
losfair
b34ef92b24 Only check memory bounds for dynamic memory plans. 2020-05-20 14:28:49 +08:00
losfair
13f842cd6a Fix param locations. 2020-05-20 14:07:48 +08:00
Syrus
12b353ca7d Merge branch 'master' into singlepass
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	lib/compiler/src/section.rs
2020-05-19 20:01:43 -07:00
Syrus
93038b489b Fixed linting. Added cfg-if to the binary 2020-05-18 15:47:45 -07:00
Syrus
3050f1fa27 Fixed lint issues 2020-05-18 15:31:11 -07:00
Syrus
ace11e6476 Merge branch 'master' into singlepass
# Conflicts:
#	lib/compiler-singlepass/src/codegen_x64.rs
#	lib/compiler-singlepass/src/common_decl.rs
#	lib/compiler-singlepass/src/emitter_x64.rs
#	lib/compiler-singlepass/src/lib.rs
#	lib/compiler-singlepass/src/machine.rs
#	lib/engine-jit/src/engine.rs
#	lib/engine-jit/src/serialize.rs
2020-05-18 15:16:45 -07:00
losfair
7911986cbe Starting to port singlepass.
# Conflicts:
#	Cargo.lock
2020-05-18 14:55:55 -07:00
losfair
da7fa9e518 Merge remote-tracking branch 'origin/master' into singlepass 2020-05-19 00:53:37 +08:00
losfair
27d715e7b3 Fix call to null table entries. 2020-05-19 00:42:27 +08:00
losfair
a5f776fc2e Memory/table fixes. 2020-05-16 01:01:45 +08:00
losfair
e2709b5abe Fix emit_cmp. 2020-05-14 02:47:14 +08:00
losfair
04b36ee5c6 Fix order of traps & division traps. 2020-05-14 02:01:15 +08:00
losfair
f944a3a111 Resolve review comments 2020-05-11 02:53:09 +08:00
losfair
65a71ac400 Fix import indirection. 2020-05-11 02:17:49 +08:00
losfair
8d0ed702ae Emit trap info & disable multivalue 2020-05-08 01:53:18 +08:00
losfair
c48ebdc8e1 Tables and memory grow/size 2020-05-08 01:23:45 +08:00