Commit Graph

1542 Commits

Author SHA1 Message Date
losfair
a43f8ea0b1 Memory operations. 2019-04-04 09:38:22 +08:00
losfair
4c39cb482f Cleanup calling & implement I64ExtendSI32. 2019-04-03 22:49:26 +08:00
losfair
b74d8bc521 Optimize locals. 2019-04-02 20:50:56 +08:00
losfair
4d6bbed905 Optimize call. 2019-04-02 11:11:45 +08:00
losfair
84e5a0c8eb Call 2019-04-02 01:16:37 +08:00
losfair
1179b8a20f Fix Operator::Br. 2019-04-02 00:17:52 +08:00
losfair
4451a0f35c Update single_pass_tests/loop to check output value. 2019-04-02 00:17:38 +08:00
losfair
13c5446c55 Loop & bug fixes 2019-04-02 00:11:01 +08:00
losfair
d2e12084a0 64-bit operators & bug fixes. 2019-04-01 23:49:46 +08:00
losfair
cf680e2a13 Relax 64-bit immediates. 2019-04-01 20:56:32 +08:00
losfair
6762c2d586 More opcodes for codegen v2. 2019-04-01 20:33:33 +08:00
losfair
6ac81a3c84 Implement more instructions. 2019-03-31 00:44:02 +08:00
losfair
0f26ee40de Codegen v2. 2019-03-29 12:06:47 +08:00
losfair
a2f86c3c52 Improve machine state abstraction. 2019-03-29 12:06:28 +08:00
losfair
e21def188e Machine state. 2019-03-28 10:17:06 +08:00
losfair
eaa161fcb4 More operations. 2019-03-28 09:03:36 +08:00
losfair
d9b2a2309d Emitter API. 2019-03-27 00:23:10 +08:00
bors[bot]
758ccc6894 Merge #276
276: Single-pass native code generation for x86-64 using dynasm. r=losfair a=losfair



Co-authored-by: losfair <zhy20000919@hotmail.com>
2019-03-21 01:27:36 +00:00
losfair
08ba696ab0 Fix vmctx offset tests. 2019-03-21 09:24:44 +08:00
losfair
26e4278657 Make the internal field private from outside. 2019-03-21 08:57:50 +08:00
losfair
a4ee873eae Merge remote-tracking branch 'origin/master' into feature/dynasm-backend 2019-03-21 08:42:34 +08:00
losfair
cb3846ff6a Add InternalCtx. 2019-03-21 08:39:06 +08:00
bors[bot]
40be4da925 Merge #284
284: fix make debug-release r=MarkMcCaskey a=MarkMcCaskey

My guess without looking in to the history is that:
- the unsafe block was around the `debug!` call
- when debug was off, it was giving a warning because the unsafe block was empty
- the unsafe was removed to stop the warning
- it wasn't tested with the debug flag

This PR also
- cleans up the Makefile
- adds debug-release to CI

Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-03-20 18:35:32 +00:00
Mark McCaskey
95fc436831 debug flag checked 2019-03-20 10:41:06 -07:00
Mark McCaskey
afad1b83d8 rm dupe in makefile and update CI 2019-03-20 10:32:53 -07:00
Mark McCaskey
76b4cc79e8 fix make debug-release 2019-03-20 10:27:07 -07:00
losfair
395161acdc Merge remote-tracking branch 'origin/master' into feature/dynasm-backend 2019-03-20 19:54:29 +08:00
bors[bot]
4a74382105 Merge #278
278: Add versioning to cache r=lachlansneff a=MarkMcCaskey

resolves #272 

Co-authored-by: Mark <mark@marks-macbook-pro.local>
Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
2019-03-19 23:25:11 +00:00
Lachlan Sneff
5657be1df0
Merge branch 'master' into add-versioning-to-cache 2019-03-19 16:22:55 -07:00
Mark McCaskey
31cc4b7662 add help text to cache commands 2019-03-19 12:13:23 -07:00
Mark McCaskey
cd9ef3c49a fix bugs and clean up path logic 2019-03-19 11:31:45 -07:00
Mark McCaskey
b1ef4ef0fa change output to go to OUT_DIR 2019-03-19 11:23:04 -07:00
Mark McCaskey
8253862935 fix panic when cleaning with no cache dir 2019-03-19 11:08:14 -07:00
Mark McCaskey
8e5f250ed0 generate the hash at compile time 2019-03-19 10:58:58 -07:00
losfair
01f18b2f43 Merge remote-tracking branch 'origin/master' into feature/dynasm-backend 2019-03-20 01:57:40 +08:00
losfair
295efbf3a9 Fix clippy errors. 2019-03-20 01:52:00 +08:00
losfair
8b85099fc8 Unset global git redirection. 2019-03-20 01:33:23 +08:00
losfair
82b2034f25 Run clippy on nightly rust. 2019-03-20 01:19:50 +08:00
bors[bot]
c101498aa9 Merge #271
271: feat: Implement `wasmer_module_serialize` and `wasmer_module_deserialize` functions in `runtime-c-api` r=Hywan a=Hywan

This PR implements 5 new functions in the `runtime-c-api` crate:

  1. `wasmer_module_serialize` to serialize a module into a `wasmer_serialized_module_t` type,
  2. `wasmer_module_deserialize` to deserialize a serialized module,
  3. `wasmer_serialized_module_bytes` to read the bytes in the `wasmer_serialized_module_t` type into a `wasmer_byte_array`,
  4. `wasmer_serialized_module_from_bytes` to transform a `wasmer_byte_array` into a `wasmer_serialized_module_t`,
  4. `wasmer_serialized_module_destroy` to destroy a `wasmer_serialized_module_t`.

Documentation and a test suite have been added.

We need to change the visibility of the `wasmer_runtime::default_compiler` function to public, since it is used in `runtime-c-api`.

The new test suite `test-module-serialize` does a full roundtrip: A module is compiled, then serialized, then deserialized, to finally be instantiated and a function is called on it.

Thoughts?

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-03-19 15:36:06 +00:00
Ivan Enderlin
c0f4b6a87c
Merge branch 'master' into feat-runtime-c-api-cache 2019-03-19 16:35:32 +01:00
Ivan Enderlin
c98b283ce4
Merge branch 'master' into feat-runtime-c-api-cache 2019-03-19 16:28:23 +01:00
Ivan Enderlin
57a82fa5cf fix(runtime-c-api) wasmer_serialized_module_from_bytes accepts bytes + length instead of wasmer_byte_array. 2019-03-19 16:24:59 +01:00
bors[bot]
456f58605f Merge #280
280: feat(runtime-c-api) Mirrors the `debug` and `llvm` features r=Hywan a=Hywan

`wasmer-runtime` has a `debug` and a `llvm` feature. Let's mirror
them in `wasmer-runtime-c-api` so that the user can, for instance,
compile with the LLVM backend.

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-03-19 15:19:48 +00:00
losfair
f0e8f228bd Merge remote-tracking branch 'origin/master' into feature/dynasm-backend 2019-03-19 23:00:38 +08:00
losfair
fd606315a4 Remove '+nightly' in Makefile. 2019-03-19 22:00:50 +08:00
losfair
7ee364a58b Cargo fmt. 2019-03-19 21:31:23 +08:00
losfair
4256ccba92 Cleanup & fix need_check condition. 2019-03-19 21:30:26 +08:00
losfair
14da8abc23 Run-time memory bound checking. 2019-03-19 21:27:49 +08:00
losfair
a006a368c5 Cleanup. 2019-03-19 20:01:38 +08:00
Ivan Enderlin
44373aae94 feat(runtime-c-api) Mirrors the debug and llvm features.
`wasmer-runtime` has a `debug` and a `llvm` features. Let's mirror
them in `wasmer-runtime-c-api` so that the user can, for instance,
compile with the LLVM backend.
2019-03-19 11:12:19 +01:00