Commit Graph

56 Commits

Author SHA1 Message Date
a1d8b9aa5b Move backend_id to static str 2020-01-13 15:40:09 +01:00
71be5bea16 Improved syntax 2020-01-07 16:12:39 +01:00
d7154fe791 Remove Backend dependency 2020-01-07 16:12:39 +01:00
d4e964519d Move requires pre validation into the ModuleCodeGenerator 2020-01-07 16:10:46 +01:00
c4d70a6b75 Use Arc instead of Rc 2019-12-20 20:37:47 -08:00
294cc28135 Move inline breakpoint outside of runtime backend
There was some code smell leaking inline breakpoint implementation into the runtime core backend instead of the compiler itself
2019-12-20 18:26:56 -08:00
0a278c55ee For error handling and breakpoints, use Box<Any + Send> instead of Box<Any>. 2019-12-09 21:00:01 -08:00
c7f3abd27e Merge branch 'master' into deterministic 2019-12-05 11:50:16 -08:00
fd0df9946b Add "auto" backend to change the backend depending on the wasm file size 2019-11-27 20:04:35 +09:00
7ca0430a40 activate pre_validation when llvm backend selected 2019-11-25 13:17:07 +01:00
5da44c3bf8 Add 'fault' placeholder for Windows. 2019-11-22 07:26:35 +08:00
6f3e6fab3b Try fixing compilation on Windows. 2019-11-22 00:51:20 +08:00
15e3a038ea Try fixing compilation on Windows. 2019-11-22 00:36:34 +08:00
1db6425cd5 Merge remote-tracking branch 'origin/master' into feature/singlepass-aarch64 2019-11-17 04:36:22 +08:00
anb
3b2d751c55 Enable compilation for specific target
By exposing the target information through `CompilerConfig`,
compiler(only LLVM at the moment) could create a machine with
different CPU feature flags other than current host, which makes it
capable to "cross compile" to some degree.

Update #959
2019-11-15 18:51:59 -08:00
08a1dd3e8c Merge master and add documentation. 2019-11-13 14:52:22 +08:00
aad390d09d Deny missing docs in runtime core and add missing docs 2019-11-10 13:13:18 -06:00
899fbed35d Merge master. 2019-11-11 01:42:43 +08:00
b0b0983eb8 Allow accessing execution state in middleware breakpoint handlers. 2019-10-13 20:51:39 +08:00
3489bfb9b9 renamed feature flag deterministic to deterministic-execution 2019-10-07 23:07:20 +03:00
6ca5812798 When deterministic feature will be enabled (turned-off by default) it'll guarantee deterministic
execution of wasm programs across different hardware/circumstances.
This is very useful for Blockchain projects having wasm smart-contracts

This is critical for Blockchain projects that require execution to be deterministic
in order to reach a consensus of the state transition of each smart-contract transaction.
2019-10-07 16:58:58 +03:00
f48d6f6690 Cranelift backend update to fork of clif version 0.43.1 2019-09-21 13:06:54 -05:00
86346d6ebe Thread the feature support through to wasmparser. 2019-08-19 10:51:14 -07:00
5a41686192 Fix bare_trait_objects warnings 2019-08-08 16:46:52 -06:00
2fabb5bc20 Add support for (register) command in spec tests and enable importing mutable globals.
Enable the part of the simd spec tests that now pass.
2019-08-02 14:18:07 -07:00
7a1ddc0b5a Rename validate to validate_with_features. 2019-07-29 12:11:23 -07:00
86316c474a Use --enable-simd to control whether SIMD is enabled in the wasmparser.
Before this change, 'wasmer run --backend=llvm some-simd.wasm' would run without complaint.

Also, note that the flag is not part of the cache key, so after any successful run, we can run it again without passing the flag.
2019-07-29 12:11:23 -07:00
9579b07a54 Enable SIMD support in wasmparser. 2019-07-10 13:48:12 -07:00
acbface4be Factor out creating wasmparser::ValidatingParserConfig to its own function. 2019-07-10 13:48:08 -07:00
02464991da Cargo fmt 2019-07-04 01:45:54 +08:00
f32b22d571 Bkpt* -> Breakpoint* 2019-07-04 01:45:06 +08:00
967027003d Full preemptive snapshot/resume. 2019-06-27 15:49:43 +08:00
f2d8aad73a Support checking the execution limit exceeded error. 2019-06-05 11:51:33 +08:00
8019505e65 Merge remote-tracking branch 'origin/feature/clif-cgapi' into feature/metering 2019-05-31 15:40:05 +08:00
00707ea849 Cleanup cranelift validation 2019-05-26 22:44:37 -05:00
8069cdac16 Merge branch 'master' into feature/clif-cgapi 2019-05-26 12:04:45 -05:00
5da0c4766a Update to Arc<RwLock<ModuleInfo>> for interior mutability 2019-05-25 19:30:44 -05:00
d440776bc0 Update lifetime of function builder references 2019-05-25 18:06:41 -05:00
04d6ccc95c Pass module info to FCG as Arc 2019-05-21 23:44:31 -05:00
74a758d39e Add progress on next_event 2019-05-18 16:31:08 -05:00
14fcd78b30 Update bin/wasmer and run cargo fmt. 2019-05-17 01:15:05 +08:00
6aa87a0bbf Add the internals field and necessary structures for metering. 2019-05-17 01:10:21 +08:00
1e7a928d64 Add comments. 2019-05-14 16:13:42 +08:00
32f9aee6fe Cargo fmt 2019-05-14 16:04:08 +08:00
db9705f00c Merge remote-tracking branch 'origin/master' into feature/remote-code-load 2019-05-14 15:46:15 +08:00
2aefa731a6 Add deny for unreachable patterns and unused unsafe 2019-05-12 00:33:02 -05:00
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
87a94657d0 Merge branch 'master' into feature/llvm-cgapi 2019-05-06 22:39:20 -05:00
089aab296d codegen: Remove unused LoadError import
Rustc complains that:

  warning: unused import: `parse::LoadError`
   --> lib/runtime-core/src/codegen.rs:7:5
    |
  7 |     parse::LoadError,
    |     ^^^^^^^^^^^^^^^^
    |
2019-05-06 20:42:35 +03:00
61510f8116 Enforce runtime memory and stack bound check when using kernel loader. 2019-05-06 07:15:30 -07:00