Commit Graph

3132 Commits

Author SHA1 Message Date
bedd305b06 doc(runtime-c-api) Fix inline comment. 2019-05-13 10:52:43 +02:00
7315cd1100 Add some basic partial implementation of Cranelift codegen 2019-05-12 19:16:01 -05:00
b2227314a7 Merge #436
436: Add deny for unreachable patterns and unused unsafe r=syrusakbary a=bjfish



Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-05-12 22:16:44 +00:00
d9cd4fc3e0 Add scaffold to use new code generator API for Cranelift 2019-05-12 11:05:26 -05:00
2aefa731a6 Add deny for unreachable patterns and unused unsafe 2019-05-12 00:33:02 -05:00
a96d5cb975 Fix f32/f64 conversion, add tests, and rename conversion method 2019-05-11 19:26:17 -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
02f3349cb1 clean up, update changelog 2019-05-10 10:58:06 -07:00
a527154c62 major improvements to wasi fs calls; include explanation in unimpl!s 2019-05-10 10:54:36 -07:00
7d2721ef7a fix(runtime-c-api) wasmer_last_error_message returns the length + 1.
Returning the error message's length + 1 mimics the
`wasmer_last_error_length` function that counts the trailing null
byte.
2019-05-10 16:00:13 +02:00
1d555301f7 feat(runtime-c-api) Check buffer size before creating the slice.
It's safer to check the buffer size is large enough to hold the error
message before creating the slice from raw parts.

Also, this patch remove the need for `last_error`, simplifying the
code a little bit. The `length` variable is casted to `usize` once.
2019-05-10 15:55:02 +02:00
1f99ef8377 implement some FS operations for rsign2 2019-05-09 16:01:36 -07:00
080220c6a7 Merge branch 'master' into feature/llvm-cgapi 2019-05-08 17:33:06 -07:00
620a6ddd85 Disable memory bound checking for kernel loader. 2019-05-08 10:25:29 -07:00
36a78a23b6 Fix Windows crash on caching compiled artifact.
Memory clone function wasn't able to write to new reserved memory object.

Changed so allocating Memory objects with protection flag allocates commited memory.
2019-05-08 15:59:00 +02:00
54095fcd67 Clean up commented out code in LLVM codegen 2019-05-07 22:53:48 -05:00
0bbd6e6970 Fix function offset. 2019-05-07 08:25:46 -07:00
e53d5a91ca Remove transmutes. 2019-05-07 19:20:18 +08:00
9c0cbc9775 Remove previous LLVM parser code 2019-05-06 23:41:31 -05:00
87a94657d0 Merge branch 'master' into feature/llvm-cgapi 2019-05-06 22:39:20 -05:00
e5dc94c7d6 update version number to 0.4.1 2019-05-06 18:02:39 -07:00
e40b4a2c39 fix debug code 2019-05-06 14:58:44 -07:00
94e6c7318f Merge #424
424: Update emscripten to run JSC r=syrusakbary a=MarkMcCaskey



Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-05-06 21:19:27 +00:00
91d01d1c05 clean up warnings 2019-05-06 14:17:23 -07:00
ab184aceea Update emscripten to run JSC 2019-05-06 14:05:04 -07:00
704c783b54 Merge #414
414: Exception logging (win32): Handle error codes correctly, add some more strings r=syrusakbary a=hrydgard

Ran into a situation with an unknown exception from Cranelift (will probably report that one separately). Turns out the signum was "1" though which does not seem to correspond to any of the Windows error codes, except possibly STATUS_GUARD_PAGE which is 0x80000001, but only if we lost the top bit somewhere.

On Windows, exceptions seemed to be trapped by callProtected, which is implemented here: cade9a666f/lib/win-exception-handler/exception_handling/exception_handling.c . It did not seem to correctly store and retrieve the exception code, instead always returning 1: ```longjmp(jmpBuf, 1);```

So I fixed it. And now the log output looks like this:

```
unhandled trap at 1560d5e7bab - code #c0000005: segmentation violation
```


Co-authored-by: Henrik Rydgård <henrik.rydgard@embark-studios.com>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
Co-authored-by: Mackenzie Clark <mackenzie.a.z.c@gmail.com>
2019-05-06 19:54:21 +00: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
0895dc60c2 Check param count. 2019-05-06 09:19:56 -07:00
b343fd40bc Pass in param count for import functions in kernel loader. 2019-05-06 08:28:12 -07:00
10b4a08ca6 Merge branch 'master' into improve-exception-logging 2019-05-06 08:09:24 -07:00
61510f8116 Enforce runtime memory and stack bound check when using kernel loader. 2019-05-06 07:15:30 -07:00
0926a5020e Implement caching for parser refactor 2019-05-05 20:11:47 -05:00
8f345e9e8c Fixed ioctl in Unix. Fixed provied main arguments 2019-05-05 13:55:40 -07:00
789af39f9e Improved ioctl calls 2019-05-05 12:31:31 -07:00
4770277b15 Remove parser refactor commented out code, unused imports and fields 2019-05-05 14:28:40 -05:00
f076c04b76 Moved from println to debug the emscripten entrypoint statement 2019-05-05 12:14:25 -07:00
341766dee5 Fixed format 2019-05-05 12:09:55 -07:00
2ba680ad2f Improved rename function 2019-05-05 12:09:27 -07:00
e1138a553b Fix LLVM refactor unreachable depth 2019-05-05 13:56:02 -05:00
31acf81762 cargo fmt 2019-05-05 13:37:36 -05:00
1864733ab8 Merge branch 'master' into feature/llvm-cgapi 2019-05-05 13:25:51 -05:00
10a965cc1e Added few syscalls to run optipng 2019-05-05 11:24:57 -07:00
90dd4bc458 Fix emtests 2019-05-05 11:21:28 -07:00
7bc09ee220 kwasmd. 2019-05-05 09:32:35 -07:00
cc01e40dc5 Split load/run 2019-05-05 05:03:07 -07:00
46e4cb05bc Get memory intrinsics at runtime. 2019-05-04 10:33:12 -07:00
60c0504bdf Implement llvm returns in function code generator finalize 2019-05-04 12:07:21 -05:00
a590d7cd07 Tables 2019-05-04 09:56:52 -07:00
c4e4efc694 kwasm imports 2019-05-04 08:28:13 -07:00
af0b1476f3 Add emit_u64 to Emitter API 2019-05-04 07:25:29 -07:00