Mark McCaskey
5114d42237
fix borrowing warning on nightly
2019-05-14 14:05:41 -07:00
Ivan Enderlin
8bd9bbb508
chore(runtime-c-api) Update C/C++ header files.
2019-05-14 16:19:32 +02:00
Ivan Enderlin
f04e77323b
fix(runtime-c-api) Update wasmer_export_func_params_arity
signature.
...
The `returns_len` argument type of `wasmer_export_func_returns_params`
must be `uint32_t` to match the `wasmer_export_func_returns_arity` results,
so that casts are not required.
2019-05-14 16:18:41 +02:00
Ivan Enderlin
53661385ed
chore(runtime-c-api) Update C/C++ header files.
2019-05-14 16:17:13 +02:00
Ivan Enderlin
91006bab53
fix(runtime-c-api) Update wasmer_export_func_params_arity
signature.
...
The `params_len` argument type of `wasmer_export_func_params_arity`
must be `uint32_t` to match the `wasmer_export_func_*_arity` results,
so that casts are not required.
2019-05-14 16:15:36 +02:00
losfair
fac4c452c6
Fix LLVM backend.
2019-05-14 18:49:02 +08:00
Ivan Enderlin
2b250c30f3
chore(runtime-c-api) Regenerate C/C++ header files.
2019-05-14 11:50:10 +02:00
Ivan Enderlin
f68379a6df
test(runtime-c-api) Use *_arity
variables when calling wasmer_export_func_call
.
2019-05-14 11:49:40 +02:00
Ivan Enderlin
d3c75a38fa
fix(runtime-c-api) wasmer_instance_call
types matches wasmer_export_func_*_arity
.
...
The `wasmer_export_func_params_arity` and
`wasmer_export_func_returns_arity` functions store the arity in a
`uint32_t`. The `wasmer_instance_call` expects `c_int`. There is a
type mismatch here. It's not annoying in C or C++, but in some other
languages that have bindings to C/C++, it can imply useless casting.
This patch changes `wasmer_instance_call` to expect `uint32_t` for
`params_len` and `results_len` to match the
`wasmer_export_func_*_arity` functions.
2019-05-14 11:46:43 +02:00
losfair
d641909c63
Fix clippy error
2019-05-14 17:13:17 +08:00
losfair
ee09209bfb
Fix clippy error.
2019-05-14 16:59:18 +08:00
losfair
d60e2377c1
Only compile kwasm-net for wasm32-wasi.
2019-05-14 16:45:26 +08:00
losfair
1e7a928d64
Add comments.
2019-05-14 16:13:42 +08:00
losfair
32f9aee6fe
Cargo fmt
2019-05-14 16:04:08 +08:00
losfair
722ea39877
Cleanup loader code.
2019-05-14 16:02:27 +08:00
losfair
2a160c74ad
Fix wasmer-runtime-core dependency version.
2019-05-14 15:47:19 +08:00
losfair
db9705f00c
Merge remote-tracking branch 'origin/master' into feature/remote-code-load
2019-05-14 15:46:15 +08:00
Heyang Zhou
2963b0a2eb
Make schedule()
faster.
2019-05-14 00:04:32 -07:00
Syrus
19eba19603
Merge branch 'master' into doc-runtime-c-api
...
# Conflicts:
# lib/runtime-c-api/src/lib.rs
2019-05-13 15:55:20 -07:00
Syrus
8218e550fc
Improved docs and fixed few typos
2019-05-13 11:18:57 -07:00
Syrus
5a6cb96714
Merge branch 'master' into docs/better-runtime-docs
...
# Conflicts:
# lib/runtime-core/src/vm.rs
2019-05-13 11:08:00 -07:00
Heyang Zhou
884a7e1713
kwasm-net fixes and optimizations.
2019-05-13 10:15:03 -07:00
Heyang Zhou
3bcdfb4263
Asynchronous networking extension.
2019-05-13 06:14:28 -07:00
Heyang Zhou
af1ac9af96
Improve performance of memory access.
2019-05-13 05:11:08 -07:00
Ivan Enderlin
b050144898
Merge branch 'master' into fix-runtime-c-api-error-length
2019-05-13 10:59:11 +02:00
Ivan Enderlin
8c8586faaa
test(runtime-c-api) Assert returned value from wasmer_last_error_message
.
2019-05-13 10:52:55 +02:00
Ivan Enderlin
bedd305b06
doc(runtime-c-api) Fix inline comment.
2019-05-13 10:52:43 +02:00
Brandon Fish
7315cd1100
Add some basic partial implementation of Cranelift codegen
2019-05-12 19:16:01 -05:00
bors[bot]
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
Brandon Fish
d9cd4fc3e0
Add scaffold to use new code generator API for Cranelift
2019-05-12 11:05:26 -05:00
Brandon Fish
2aefa731a6
Add deny for unreachable patterns and unused unsafe
2019-05-12 00:33:02 -05:00
Brandon Fish
a96d5cb975
Fix f32/f64 conversion, add tests, and rename conversion method
2019-05-11 19:26:17 -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
Mark McCaskey
02f3349cb1
clean up, update changelog
2019-05-10 10:58:06 -07:00
Mark McCaskey
a527154c62
major improvements to wasi fs calls; include explanation in unimpl!s
2019-05-10 10:54:36 -07:00
Ivan Enderlin
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
Ivan Enderlin
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
Mark McCaskey
1f99ef8377
implement some FS operations for rsign2
2019-05-09 16:01:36 -07:00
Brandon Fish
080220c6a7
Merge branch 'master' into feature/llvm-cgapi
2019-05-08 17:33:06 -07:00
Heyang Zhou
620a6ddd85
Disable memory bound checking for kernel loader.
2019-05-08 10:25:29 -07:00
Johan Andersson
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
Brandon Fish
54095fcd67
Clean up commented out code in LLVM codegen
2019-05-07 22:53:48 -05:00
Heyang Zhou
0bbd6e6970
Fix function offset.
2019-05-07 08:25:46 -07:00
losfair
e53d5a91ca
Remove transmutes.
2019-05-07 19:20:18 +08:00
Brandon Fish
9c0cbc9775
Remove previous LLVM parser code
2019-05-06 23:41:31 -05: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
Mark McCaskey
e40b4a2c39
fix debug code
2019-05-06 14:58:44 -07:00
bors[bot]
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
Mark McCaskey
91d01d1c05
clean up warnings
2019-05-06 14:17:23 -07:00
Mark McCaskey
ab184aceea
Update emscripten to run JSC
2019-05-06 14:05:04 -07:00
bors[bot]
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
Pekka Enberg
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
Heyang Zhou
0895dc60c2
Check param count.
2019-05-06 09:19:56 -07:00
Heyang Zhou
b343fd40bc
Pass in param count for import functions in kernel loader.
2019-05-06 08:28:12 -07:00
Mackenzie Clark
10b4a08ca6
Merge branch 'master' into improve-exception-logging
2019-05-06 08:09:24 -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
Syrus
8f345e9e8c
Fixed ioctl in Unix. Fixed provied main arguments
2019-05-05 13:55:40 -07:00
Syrus
789af39f9e
Improved ioctl calls
2019-05-05 12:31:31 -07:00
Brandon Fish
4770277b15
Remove parser refactor commented out code, unused imports and fields
2019-05-05 14:28:40 -05:00
Syrus
f076c04b76
Moved from println to debug the emscripten entrypoint statement
2019-05-05 12:14:25 -07:00
Syrus
341766dee5
Fixed format
2019-05-05 12:09:55 -07:00
Syrus
2ba680ad2f
Improved rename function
2019-05-05 12:09:27 -07:00
Brandon Fish
e1138a553b
Fix LLVM refactor unreachable depth
2019-05-05 13:56:02 -05:00
Brandon Fish
31acf81762
cargo fmt
2019-05-05 13:37:36 -05:00
Brandon Fish
1864733ab8
Merge branch 'master' into feature/llvm-cgapi
2019-05-05 13:25:51 -05:00
Syrus
10a965cc1e
Added few syscalls to run optipng
2019-05-05 11:24:57 -07:00
Syrus
90dd4bc458
Fix emtests
2019-05-05 11:21:28 -07:00
Heyang Zhou
7bc09ee220
kwasmd.
2019-05-05 09:32:35 -07:00
Heyang Zhou
cc01e40dc5
Split load/run
2019-05-05 05:03:07 -07:00
Heyang Zhou
46e4cb05bc
Get memory intrinsics at runtime.
2019-05-04 10:33:12 -07:00
Brandon Fish
60c0504bdf
Implement llvm returns in function code generator finalize
2019-05-04 12:07:21 -05:00
Heyang Zhou
a590d7cd07
Tables
2019-05-04 09:56:52 -07:00
Heyang Zhou
c4e4efc694
kwasm imports
2019-05-04 08:28:13 -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
Heyang Zhou
af58ea5642
Kernel mode code loading.
2019-05-03 23:07:07 -07:00
Mark McCaskey
353ff60c0f
add misc changes while debugging
2019-05-03 17:34:57 -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
Syrus Akbary
c0a5f74d0c
Update lib/middleware-common/Cargo.toml
2019-05-01 11:32:57 -07:00
Syrus Akbary
67c4d74eb4
Update middleware version to 0.4.0
2019-05-01 11:28:14 -07:00
Brandon Fish
8d86844c5f
Merge branch 'master' into parser-middleware
2019-05-01 13:10:44 -05:00
losfair
99c101f312
Merge remote-tracking branch 'origin/master' into parser-middleware
2019-05-02 00:30:58 +08:00
Mark McCaskey
2646765671
Merge branch 'master' into update-version-numbers-to-4
2019-05-01 09:27:38 -07:00
Brandon Fish
b016ec6b34
Add start_of_code_block to function
2019-04-30 23:44:34 -05:00
Brandon Fish
0ee2ba0ee6
Implement more of next_function and finalize
2019-04-30 23:22:41 -05:00
Brandon Fish
ec253c73ab
Implement feed_local
2019-04-30 20:11:44 -05:00
Brandon Fish
39b6b05f71
Merge branch 'master' into atomic-transparent-repr
2019-04-30 17:09:18 -07:00
Syrus
747e5321a2
Fixed issues. Updated CHANGELOG
2019-04-30 12:05:13 -07:00
Syrus
ce140463d6
Merge branch 'master' into feature/jsc-emscripten
2019-04-30 11:47:28 -07:00
Syrus
e68f5e10e4
Improved emscripten functions to be able to run jsc
2019-04-30 11:47:03 -07:00
bors[bot]
82cf572245
Merge #404 #406
...
404: Update to newer common wasmparser version r=xmclark a=bjfish
- versions should match to have matching types in a common parser
- the `0.29.2` version matches the current parser version of cranelift-wasm
406: Cleanup some clippy warnings r=xmclark a=bjfish
Cleaned up some
- long literal lacking separators
- unneeded return
Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-04-30 15:37:12 +00:00
losfair
21dd01c3aa
Fix LLVM backend compilation and segfaults.
2019-04-30 15:52:43 +08:00
Brandon Fish
01ba789eed
Cleanup some long literal lacking separators
2019-04-29 23:49:00 -05:00
Brandon Fish
8acf9edf67
Remove unneeded returns
2019-04-29 23:45:38 -05:00
Brandon Fish
da807ed2a1
Remove unused imports
2019-04-29 23:40:16 -05:00
Brandon Fish
a127b770b3
Update to newer common wasmparser version
2019-04-29 23:34:48 -05:00
Mark McCaskey
d020ffd759
update version to 0.4.0
2019-04-29 13:26:51 -07:00
Brandon Fish
53bebf9c73
Add initial progress to add LLVM to module refactor
2019-04-29 00:13:34 -05:00
losfair
305e1801ff
Fix incomplete data section
2019-04-28 15:38:18 +08:00
losfair
46fb72af9d
Add missing .rev()
on parameter list and simulate "red zone".
2019-04-28 13:31:22 +08:00
losfair
e63d7fd531
Merge
2019-04-28 12:58:27 +08:00
losfair
480308c62c
Cargo fmt
2019-04-28 12:54:45 +08:00
losfair
cf83a9785f
Print call trace to stderr.
2019-04-28 12:51:51 +08:00
losfair
6beb76c3ae
Various cleanups.
2019-04-28 12:48:01 +08:00
Syrus
a4170d4495
Improved fault debugging with emscripten
2019-04-27 12:53:13 -07:00
losfair
2262c8a6da
Finished middleware impl and made a CallTrace middleware
2019-04-27 16:31:47 +08:00
losfair
eca8ccdbd4
Move out parser and codegen traits.
2019-04-27 12:31:04 +08:00
Syrus Akbary
a6b8c1b0fa
Fix debug issue
2019-04-26 17:40:55 -07:00
Mark McCaskey
655188a788
Fix WASI FS abstraction for Windows
2019-04-26 13:17:36 -07:00
Syrus Akbary
1ed4142333
Merge branch 'master' into feature/cleanup-imports-unsafe
2019-04-25 16:00:27 -07:00
bors[bot]
e86e542da7
Merge #392
...
392: Remove unused function memory_offset_addr r=syrusakbary a=bjfish
Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-04-25 21:45:25 +00:00
Mackenzie Clark
3998c9ec17
remove zbox because wasmer will not build on windows nightly
2019-04-25 12:45:45 -07:00
Mackenzie Clark
9ab7199fe5
Merge branch 'master' into feature/cleanup-imports-unsafe
2019-04-24 08:37:06 -07:00
Brandon Fish
389c6a015d
Remove unused function memory offset addr
2019-04-24 02:00:07 -05:00
Lachlan Sneff
ff9de181f1
Add error propagation test
2019-04-22 15:53:21 -07:00
Lachlan Sneff
14325c975e
Rename internal enum to make less confusing
2019-04-22 15:36:47 -07:00
Lachlan Sneff
706ddabf61
Hook up error propagation
2019-04-22 15:06:40 -07:00
Syrus
3729c4a8b8
Revert "Merge #370 "
...
This reverts commit 48a8391f5d
, reversing
changes made to 363b46eca7
.
2019-04-22 12:10:39 -07:00
Syrus
878a0e6687
Partial Revert of types “Return type normalization, and change return errors from imported functions"
...
This reverts commit 74b6ba4eaf
.
# Conflicts:
# lib/wasi/src/syscalls/mod.rs
2019-04-22 12:09:30 -07:00
Lachlan Sneff
7940aa7e42
Fix renamed variable
2019-04-22 11:57:50 -07:00
Lachlan Sneff
ecdcab5de9
Update singlepass to renamed enum discrimant
2019-04-22 11:47:47 -07:00
Lachlan Sneff
74b6ba4eaf
Return type normalization, and change return errors from imported functions
2019-04-22 11:42:52 -07:00
Lachlan Sneff
85d9ca9ad2
Add NativeWasmType trait and modify WasmExternType
2019-04-22 10:35:55 -07:00
Clément Renault
21bd55c30d
Make the slice::from_raw_parts call safe
2019-04-21 12:58:48 +02:00
Brandon Fish
9e93565a49
Cleanup build warnings imports and unnecessary unsafe
2019-04-20 20:37:39 -05:00
Brandon Fish
2516a1ee31
Merge branch 'master' into feature/wasi-more-debug
2019-04-20 14:22:59 -05:00
Brandon Fish
962c9c8596
Add more Debug impl for WASI types
2019-04-20 14:22:31 -05:00
Syrus
0aa35a675b
Fix WASI by using u32 everywhere instead of u16
2019-04-20 11:47:06 -07:00
Mark McCaskey
8095d70957
fix write to flush buffer; fix warnings
2019-04-19 15:57:51 -07:00
Mark McCaskey
5a575cd64d
Merge branch 'master' into feature/preopen-fd-and-more
2019-04-19 14:24:30 -07:00
Syrus Akbary
b4ded07313
Merge branch 'master' into feature/preopen-fd-and-more
2019-04-19 14:14:40 -07:00
Lachlan Sneff
087a826222
fix tests on more time uh huh
2019-04-19 14:09:41 -07:00
Lachlan Sneff
3b9e12b248
fix test
2019-04-19 14:02:21 -07:00
Lachlan Sneff
c3ef1f8421
Remove commented-out code
2019-04-19 14:00:03 -07:00
Lachlan Sneff
443663aa3f
Add caching support to llvm backend
2019-04-19 13:54:48 -07:00
Mark McCaskey
b141d7f80e
fix typo
2019-04-19 13:25:23 -07:00
Mark McCaskey
52279afbe2
add comment and reduce code in pre-open loading section
2019-04-19 13:24:41 -07:00
Mark McCaskey
5e504b77cd
add support for more complex paths in path_open
2019-04-19 12:48:29 -07:00
Mark McCaskey
c75f055b09
disable ZFS again; clean up simple-path's control-flow-path in path_open
2019-04-19 09:25:29 -07:00
Mark McCaskey
19e830d25a
fix memory access in WasmPtr
2019-04-18 17:48:14 -07:00
Mark McCaskey
7e58c4258c
Merge remote-tracking branch 'origin/master' into feature/preopen-fd-and-more
2019-04-18 15:43:02 -07:00
Lachlan Sneff
6279dd8e82
Fix test again, whoops
2019-04-18 10:14:25 -07:00
Lachlan Sneff
f0e0255b3f
Fix vm test
2019-04-18 10:08:17 -07:00
Lachlan Sneff
4dd64ed72e
Remove UserTrapper trait
2019-04-18 10:00:15 -07:00
bors[bot]
ccad8874e9
Merge #360
...
360: Single-pass fixes and optimizations. r=syrusakbary a=losfair
Co-authored-by: losfair <zhy20000919@hotmail.com>
Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
2019-04-18 15:04:09 +00:00
Syrus
6c158a93bf
Added imports to be able to run Imagemagick
2019-04-17 17:42:21 -07:00
Lachlan Sneff
016535ce12
Merge branch 'master' into feature/singlepass-opt
2019-04-17 15:19:51 -07:00
Lachlan Sneff
61f31ae7e8
Fix lint (just two lines)
2019-04-17 15:17:16 -07:00
Lachlan Sneff
088263a604
Merge branch 'master' into feature/remove-call-protected
2019-04-17 14:14:36 -07:00
Lachlan Sneff
f0a20151f6
Fix returning the result from dynamic calls on the singlepass backend
2019-04-17 14:14:01 -07:00
losfair
e71da1cdf1
Some documentation on the code generator.
2019-04-18 02:28:08 +08:00
losfair
5f9aed0103
Merge remote-tracking branch 'origin/master' into feature/singlepass-opt
2019-04-17 02:18:00 +08:00
losfair
0da2442be1
Parse input in a single pass.
2019-04-17 02:10:36 +08:00
losfair
c47eb6eaa2
Fix corner cases.
2019-04-16 22:45:32 +08:00
Mark McCaskey
5771c904f8
add changelog entry
2019-04-12 14:16:42 -07:00
Mark McCaskey
a36ab1cd78
add misc changes to Cargo.tomls for publishing
2019-04-12 14:07:25 -07:00
Lachlan Sneff
57e24c957c
Merge branch 'master' into feature/remove-call-protected
2019-04-12 12:44:59 -07:00
Mark McCaskey
d507253372
update crate version numbers to 0.3.0
2019-04-12 12:19:46 -07:00
Lachlan Sneff
8b2f613649
Merge branch 'master' into feature/remove-call-protected
2019-04-12 11:50:39 -07:00
Mark McCaskey
9c12b3f7f1
update changelog
2019-04-12 11:22:01 -07:00
Lachlan Sneff
0d30c957a2
Fix llvm test
2019-04-12 10:33:30 -07:00
Lachlan Sneff
051d435423
Warnings and unused code cleanup
2019-04-12 10:27:14 -07:00
Lachlan Sneff
4e17ff8571
Update singlepass backend to new backend abstraction
2019-04-12 10:21:40 -07:00
Lachlan Sneff
75cc65a8c5
Update llvm backend to new backend abstraction
2019-04-12 10:05:50 -07:00
Lachlan Sneff
8b5da1d86e
Update cranelift backend to new backend abstraction
2019-04-12 09:58:29 -07:00
Lachlan Sneff
d8c6f76846
Redesign the interface between the runtime and the backends.
...
This removes the ProtectedCaller and FuncResolver traits, simplifying call implementations and improving dynamic call throughput.
2019-04-11 18:01:54 -07:00
Lachlan Sneff
688b6cae26
Merge branch 'master' into feature/nightly-release
2019-04-11 14:36:18 -07:00
Lachlan Sneff
4740b2467f
Add backend selection to cli
2019-04-11 14:34:54 -07:00
Syrus
d67bfdb2c5
Renamed dynasm backend to singlepass
2019-04-11 12:44:03 -07:00
Lachlan Sneff
60ac7a5b49
Remove unneeded semicolon
2019-04-11 12:13:36 -07:00
Lachlan Sneff
c898439817
Add well placed unwind(allowed) attribute
2019-04-11 12:07:54 -07:00
bors[bot]
81fcecd705
Merge #290
...
290: Assembler API for the single-pass backend. r=syrusakbary a=losfair
Co-authored-by: losfair <zhy20000919@hotmail.com>
2019-04-11 18:07:58 +00:00
losfair
394c56b2b4
Added missing was_unreachable check.
2019-04-11 18:59:00 +08:00
Syrus Akbary
527d32b00d
Added WASI to the integrations
2019-04-10 23:14:29 -07:00
losfair
77c1bfa005
Cargo fmt
2019-04-11 11:53:26 +08:00
losfair
759fecf6fd
Fix longjmp.
2019-04-11 11:52:57 +08:00
losfair
7e20575e5b
Implement get_wasm_trampoline
2019-04-11 11:41:32 +08:00
losfair
ab04f54e72
Merge remote-tracking branch 'origin/master' into dynasm-refactor
2019-04-11 10:06:47 +08:00
losfair
4736028369
Cargo fmt
2019-04-11 09:43:02 +08:00
losfair
799e1d8dec
Cleanup.
2019-04-11 09:41:18 +08:00
losfair
2d72bbf834
Smallvec optimization.
2019-04-11 09:31:54 +08:00
Mark McCaskey
91af7cf8a8
add preopened fd and fix/improve fs syscalls (WIP)
2019-04-10 18:23:25 -07:00
losfair
e8fe58d9c6
Implement IxxTrunc{U/S}Fxx bound checks.
2019-04-11 09:14:29 +08:00
losfair
02a305cfbe
Fix function pointer offset for resolver.
2019-04-11 08:44:18 +08:00
bors[bot]
72b9939331
Merge #334
...
334: Added longjmp implementation r=syrusakbary a=syrusakbary
Added longjmp implementation
Co-authored-by: Syrus <me@syrusakbary.com>
Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
2019-04-11 00:26:30 +00:00
Lachlan Sneff
1cb3fbea0a
Add support for panicking/returning err back to llvm
2019-04-10 14:17:10 -07:00
bors[bot]
870faf9838
Merge #341
...
341: feat(runtime-core) `Instance.exports` takes `&self` instead of `&mut self` r=lachlansneff a=Hywan
There is no reason for `exports` to take a mutable reference. This patch rewrites the `Instance.export` signature a little bit.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-04-10 19:22:12 +00:00
Ivan Enderlin
20297d1751
feat(runtime-core) Instance.exports
takes &self
instead of &mut self
.
...
There is no reason for `exports` to take a mutable reference.
2019-04-10 12:17:16 -07:00
losfair
4e09bda745
Fix calling convention.
2019-04-11 02:54:23 +08:00
Syrus
6848e81a77
Merge branch 'master' into feature/longjmp
...
# Conflicts:
# lib/runtime-core/src/backend.rs
# lib/runtime-core/src/typed_func.rs
2019-04-10 10:57:45 -07:00
losfair
13d456aaf2
Fixed ShrU/S and Trunc's.
2019-04-11 01:53:13 +08:00
Lachlan Sneff
2d2a177e9c
Fix lint
2019-04-10 10:31:49 -07:00
Syrus
e620d6bef9
Fix formatting
2019-04-10 10:29:35 -07:00
Lachlan Sneff
cfd4758210
Add some documentation
2019-04-10 10:26:16 -07:00
losfair
3300a3b272
Passing all spectests, except traps.
2019-04-11 00:55:55 +08:00
Syrus
1ee5e7cde6
Remove unsafe setjmp / longjmp implementation
2019-04-09 19:01:51 -07:00
Syrus
02ed9f0e5f
Reenabled longjmp 🎉
2019-04-09 18:33:53 -07:00
Syrus
b2446b567e
Uncommented some longjmp tests
2019-04-09 17:49:26 -07:00
Syrus
ffe00da678
Improved invoke certain functions
2019-04-09 17:48:42 -07:00
Lachlan Sneff
70ab6667c7
Attempt #3 for windows
2019-04-09 17:09:33 -07:00
Lachlan Sneff
50b5da8dd0
Attempt #2 for windows building
2019-04-09 17:09:33 -07:00
Lachlan Sneff
a657315320
Attempt to fix windows build
2019-04-09 17:09:33 -07:00
Lachlan Sneff
a320af4485
Fix runtime test missing method
2019-04-09 17:09:33 -07:00
Lachlan Sneff
782bb384ad
Cleanup
2019-04-09 17:09:33 -07:00
Lachlan Sneff
cc656b26a9
Add implementations for typed func errors to cranelift and llvm
2019-04-09 17:09:33 -07:00
Lachlan Sneff
7d09a2ee7e
Initial typed func rewrite
2019-04-09 17:09:33 -07:00
Mark McCaskey
fec65a262e
implement emscripten resize_heap
2019-04-09 17:09:33 -07:00
Mark McCaskey
8ba5ea2a08
allow resize_heap to grow heap in emscripten
2019-04-09 17:09:33 -07:00
Mark McCaskey
a6c2f7e8e3
change void* to stat* for lstat on linux
2019-04-09 17:09:33 -07:00
Mark McCaskey
95095feb2e
try normal lstat on linux
2019-04-09 17:09:33 -07:00
Mark McCaskey
e34874e2d3
fix type errors on Linux/OSX
2019-04-09 17:09:33 -07:00
Mark McCaskey
17686b9a98
revert location of lstat64
2019-04-09 17:09:33 -07:00
Mark McCaskey
18a00e8e8f
fix bug in stat, move lstat64 back to unix
2019-04-09 17:09:33 -07:00
Mark McCaskey
79da3e8f3c
return total memory size for get_heap_size
2019-04-09 17:09:33 -07:00
Mark McCaskey
e8236cf1c7
fix lstat64; increase num returned by heap size
2019-04-09 17:09:33 -07:00
Lachlan Sneff
b949de2560
Attempt #3 for windows
2019-04-09 16:54:55 -07:00
Lachlan Sneff
654fce9354
Attempt #2 for windows building
2019-04-09 16:50:33 -07:00
Lachlan Sneff
751dff0f9d
Attempt to fix windows build
2019-04-09 16:46:01 -07:00
Lachlan Sneff
41129e445d
Fix runtime test missing method
2019-04-09 16:15:50 -07:00
Lachlan Sneff
0745274892
Cleanup
2019-04-09 16:07:09 -07:00
Lachlan Sneff
c212ba3619
Add implementations for typed func errors to cranelift and llvm
2019-04-09 15:53:01 -07:00
Lachlan Sneff
5e1a67d835
Initial typed func rewrite
2019-04-09 12:48:41 -07:00
losfair
e78a5ba602
F32ConvertUI64, F64ConvertUI64
2019-04-10 01:38:16 +08:00
losfair
69d6093955
Fix GetGlobal, RemS/U and floating point comparison.
2019-04-10 00:41:32 +08:00
losfair
6b514e110a
1241/1256 tests passing
2019-04-09 19:10:20 +08:00
losfair
f781b0eb02
More floating point operators.
2019-04-09 17:08:31 +08:00
Mark McCaskey
50a22bcae2
implement emscripten resize_heap
2019-04-08 16:17:34 -07:00
Mark McCaskey
6578838acd
allow resize_heap to grow heap in emscripten
2019-04-08 14:44:40 -07:00
bors[bot]
7f8b1ea521
Merge #332
...
332: fix lstat64; heap size; and stat r=MarkMcCaskey a=MarkMcCaskey
- Get https://github.com/nikic/PHP-Parser working 🎉
- fixes memory issue bug which looked like relative paths didn't work, but was really pointer aliasing corrupting data
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-04-08 18:58:48 +00:00
Mark McCaskey
03f0bf0c49
change void* to stat* for lstat on linux
2019-04-08 11:53:15 -07:00
Mark McCaskey
b2a51b8fbd
try normal lstat on linux
2019-04-08 11:48:04 -07:00
Mark McCaskey
7cb2766292
fix type errors on Linux/OSX
2019-04-08 11:36:54 -07:00
Mark McCaskey
134ee3c511
revert location of lstat64
2019-04-08 11:29:55 -07:00
Mark McCaskey
b3a765446a
fix bug in stat, move lstat64 back to unix
2019-04-08 11:26:25 -07:00
losfair
e32816b06b
Floating point with AVX.
2019-04-09 01:24:30 +08:00
losfair
154f7f8fd3
BrTable, 64-bit memory operations and bug fixes.
2019-04-08 17:47:41 +08:00
losfair
29d93aee2d
Indirect calls.
2019-04-07 17:19:23 +08:00
Syrus
3fcc502015
Added temporal code for emscripten target
2019-04-06 17:16:51 -07:00
Syrus
dc3c2227dc
Addd stack_save, stack_restore and set_threw for longjmp
2019-04-06 14:32:21 -07:00
Syrus
3b11da91c5
Make DynFunc public
2019-04-06 14:31:39 -07:00
Syrus
a4e1051c25
Fix format
2019-04-05 23:55:04 -07:00
Syrus
ea58e0051b
Commented zbox until speed is fixed
2019-04-05 23:48:12 -07:00
Syrus
1193d561e2
Improved debug! macro with timing
2019-04-05 23:47:59 -07:00
Syrus
d0fe506793
Added emscripten dynVall_vj
2019-04-05 22:27:09 -07:00
Mark McCaskey
09a207364b
return total memory size for get_heap_size
2019-04-05 17:21:40 -07:00
Mark McCaskey
40deb3e6ed
fix lstat64; increase num returned by heap size
2019-04-05 16:50:50 -07:00
bors[bot]
ea08a96b32
Merge #330
...
330: implement strftime r=syrusakbary a=MarkMcCaskey
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-04-05 21:38:35 +00:00
Mark McCaskey
b0a83408ec
fix debug statement
2019-04-05 14:33:49 -07:00
Mark McCaskey
8015fbfc16
implement strftime
2019-04-05 13:59:33 -07:00
Syrus
b03a05f1b7
Added f64-to-int
2019-04-05 13:33:28 -07:00
Mark McCaskey
516b932a71
rm review comment
2019-04-05 12:11:40 -07:00
Mark McCaskey
9af1206b62
changes to make PHP run better
2019-04-05 12:06:30 -07:00
Mark McCaskey
7f6e4785f0
add test and fix em tests
2019-04-05 11:24:27 -07:00
Mark McCaskey
44fba93266
add fix from Syrus to get C++ working
2019-04-05 10:49:11 -07:00
Mark McCaskey
91d7416680
fix master; add some emscripten calls
2019-04-05 10:04:39 -07:00
Mackenzie Clark
b6492c53f2
Merge branch 'master' into feature/get-php-kind-of-working
2019-04-04 14:53:42 -07:00
Mark McCaskey
974656c8b1
fix this typo too
2019-04-04 14:12:39 -07:00
Mark McCaskey
f1fdb97d87
allow cast_ptr_alignment
2019-04-04 14:06:53 -07:00
Mark McCaskey
c307e7d37a
revert changes to sysconf
2019-04-04 14:01:56 -07:00
Mark McCaskey
cad4f9b544
get PHP kind of working...
2019-04-04 13:58:05 -07:00
bors[bot]
77f8186507
Merge #321
...
321: Update to Cranelift 0.3.0 r=bjfish a=bjfish
Some API changes were addressed:
- `ModuleEnvironment` many trait methods removed: 459f6ddb26 (diff-0682a088315ee358a75d4b60bc72dafc)
- `declare_table_elements` parameter type changed: 64ea964bc0
- `UnreachableCodeReached` trap code added: 1c43ad771e
- `declare_signature` signature updated: 8a24539e0c
- `define_function_body` parameter added: 37dffdaea1
- `target_lexicon` dependency updated to version `0.3.0`
Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
Co-authored-by: Brandon Fish <bjfish@users.noreply.github.com>
2019-04-04 17:10:51 +00:00
Mark McCaskey
9e601c42f9
change func_index offset by number of imported funcs
2019-04-04 09:29:30 -07:00
Brandon Fish
7b37148857
Merge branch 'master' into feature/update-to-cranelift-0-3-0
2019-04-04 10:06:11 -05:00
Mark McCaskey
03b529d3d1
Merge branch 'master' into add-validate
2019-04-03 21:35:23 -07:00
losfair
b46107762e
Imports.
2019-04-04 11:19:38 +08:00
losfair
07eac13ee3
Align stack to 16 bytes and implement i32 stores.
2019-04-04 10:50:48 +08:00
losfair
a43f8ea0b1
Memory operations.
2019-04-04 09:38:22 +08:00
Mark McCaskey
bda5b19098
update wasm-parser dep; use it for validation
2019-04-03 17:21:57 -07:00
Mackenzie Clark
bbf663aceb
Merge branch 'master' into feature/wasi
2019-04-03 17:16:09 -07:00
Mackenzie Clark
26863222e8
Merge remote-tracking branch 'origin/feature/wasi' into feature/wasi
2019-04-03 17:13:57 -07:00
Mackenzie Clark
207bd01400
rename to destructor
2019-04-03 17:13:50 -07:00
Mark McCaskey
c1c99dbff1
rename fs and fix (probable) bug in renumber syscall
2019-04-03 17:01:02 -07:00
Mackenzie Clark
3b34ea6211
Merge remote-tracking branch 'origin/feature/wasi' into feature/wasi
2019-04-03 16:50:27 -07:00
Mackenzie Clark
e9e7a33317
fix warnings and let it build on windows
2019-04-03 16:50:15 -07:00
Mark McCaskey
10696c4849
clean up platform-specific syscall code
2019-04-03 16:21:26 -07:00
Mark McCaskey
d04d1bf2a9
improve debug statements for arg syscalls
2019-04-03 14:59:24 -07:00
Mark McCaskey
7d728fc4cc
implement path_filestat_get
2019-04-03 12:48:27 -07:00
Mark McCaskey
b80dd072a1
implement happy path of fd_open
2019-04-03 11:56:45 -07:00
Brandon Fish
212e2dbfa6
Merge branch 'master' into feature/update-to-cranelift-0-3-0
2019-04-03 13:35:50 -05:00
Syrus Akbary
7ff51c3b9e
Update lib/clif-backend/src/module.rs
...
Remove unnecessary `<'a>` from Converter
Co-Authored-By: bjfish <bjfish@users.noreply.github.com>
2019-04-03 13:35:36 -05:00
losfair
4c39cb482f
Cleanup calling & implement I64ExtendSI32.
2019-04-03 22:49:26 +08:00
Brandon Fish
5627f80548
Update to Cranelift 0.3.0
2019-04-03 00:13:40 -05:00
Brandon Fish
1ff6ed6d1b
Add Export and GlobalDescriptor to Runtime API
2019-04-02 22:10:49 -05:00
Mark McCaskey
f70b75e552
kind of implement fd_pwrite
2019-04-02 16:35:05 -07:00
Mark McCaskey
ce4676d469
implement fd_renumber
2019-04-02 16:26:54 -07:00
Mark McCaskey
dd7cfac505
implement fd_tell
2019-04-02 16:23:33 -07:00
Mark McCaskey
7d07b6f0b4
impl fd_seek
2019-04-02 16:16:06 -07:00
Mark McCaskey
37371eba6e
implement most of fd_filestat_set_times
2019-04-02 16:01:39 -07:00
Mark McCaskey
697bdc7d46
add rights checking fn for future-proofing reasons
2019-04-02 15:51:49 -07:00
Mark McCaskey
fe4195fff6
impl set_flags on fd
2019-04-02 15:45:12 -07:00
Mark McCaskey
e180fd1d1a
add set_rights syscall
2019-04-02 15:40:46 -07:00
Mark McCaskey
2de5a5da2b
implement datasync
2019-04-02 15:29:32 -07:00
Mark McCaskey
e61c03a176
impl fd_read (untested)
2019-04-02 15:14:19 -07:00
Mark McCaskey
0b9fc5ab45
add null termination to args for wasi
2019-04-02 14:13:03 -07:00
Mark McCaskey
a4547e36e2
update cursor in file when writing to it
2019-04-02 12:11:05 -07:00
Mark McCaskey
04a80739e1
Merge branch 'feature/wasi' of github.com:wasmerio/wasmer into feature/wasi
2019-04-02 12:06:51 -07:00
Mark McCaskey
6278ced7fc
implement fd_write for files
2019-04-02 12:06:35 -07:00
Lachlan Sneff
3a6e2c9c37
Change tagged and untagged methods
2019-04-02 11:49:05 -07:00
Mark McCaskey
242f9f679d
add hacked together impl of write for stdout and stderr
2019-04-02 11:43:04 -07:00
Mark McCaskey
d421e91407
implement some of fd_prestat_get
2019-04-02 10:58:22 -07:00
Mark McCaskey
435629300b
get debug statements working; add some extra info
2019-04-02 10:22:45 -07:00
Mark McCaskey
6cec356a74
add debug lines to all wasi syscalls
2019-04-02 09:47:45 -07: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
Lachlan Sneff
287c81d7a5
Misc fixes
2019-04-01 17:50:53 -07:00
Lachlan Sneff
8bab9f1bea
init zbox first
2019-04-01 17:25:45 -07:00
Mark McCaskey
d164c7a93b
update wasi Cargo.toml
2019-04-01 17:21:48 -07:00
Mark McCaskey
84dc20af94
Merge branch 'feature/wasi' of github.com:wasmerio/wasmer into feature/wasi
2019-04-01 16:36:56 -07:00
Mark McCaskey
2dd7ec8b72
fix it up
2019-04-01 16:36:41 -07:00
Lachlan Sneff
92ec71974b
Add wasi_try macro
2019-04-01 16:34:18 -07:00
Lachlan Sneff
23b1d1dd6a
Merge branch 'feature/wasi' of github.com:wasmerio/wasmer into feature/wasi
2019-04-01 15:52:41 -07:00
Lachlan Sneff
ce35e5794f
Change ValueType trait and add basic fs
2019-04-01 15:52:35 -07:00
Mark McCaskey
61dd2e1df9
add more doc comments
2019-04-01 15:22:30 -07:00
Lachlan Sneff
c12c7d558c
Merge branch 'feature/wasi-fs' into feature/wasi
2019-04-01 15:17:13 -07:00
Lachlan Sneff
68f1123ad6
Add start of wasi fs
2019-04-01 15:15:20 -07:00
Mark McCaskey
5b6856df6b
add lots of doc comments
2019-04-01 14:04:58 -07:00
Mark McCaskey
7addd920df
add more stubs for fs calls
2019-04-01 12:11:11 -07:00
Mark McCaskey
4108c8ff58
Merge pull request #307 from wasmerio/feature/wasi-cross-platform-skeleton
...
Feature/wasi cross platform skeleton
2019-04-01 10:45:26 -07: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
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
bors[bot]
593720dfc5
Merge #310
...
310: fix(llvm-lint) Clean up various warnings r=Hywan a=Hywan
These patches remove various warnings raised by `rustc`.
Only 2 warnings remain.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
Co-authored-by: Mackenzie Clark <mackenzie.a.z.c@gmail.com>
2019-04-01 10:18:56 +00:00
Mackenzie Clark
124563a556
Merge branch 'master' into fix-llvm-lints
2019-03-30 18:11:40 -07:00
Mackenzie Clark
ca41c6dd6b
Merge branch 'master' into fix-llvm-example
2019-03-30 18:10:20 -07:00
losfair
6ac81a3c84
Implement more instructions.
2019-03-31 00:44:02 +08:00
Mark McCaskey
e156ea2509
comment out write logic in linux fd_pread until design discussion
2019-03-29 17:02:58 -07:00
Mark McCaskey
5cee576b7b
add some syscall skeletons; context switching
2019-03-29 17:00:58 -07:00
Mark McCaskey
42e8523c0b
impl ValueType for fdstat_t
2019-03-29 15:49:42 -07:00
Mark McCaskey
147d71a32c
implement ValueType for prestat_t
2019-03-29 15:39:36 -07:00
Mark McCaskey
e7a5c01ef8
fix backward enumerate
2019-03-29 15:21:54 -07:00
Mark McCaskey
5dcb95dd7a
fix basic errors in linux impl
2019-03-29 15:17:42 -07:00
Mark McCaskey
35fbf573c9
add pread on linux
2019-03-29 15:10:46 -07:00
Mark McCaskey
accbe52dd6
add more stubs for pthreading, exceptions, and some invokes
2019-03-29 13:42:13 -07:00
Mark McCaskey
88212d356f
implement random_get()
2019-03-29 13:06:06 -07:00
Mark McCaskey
28d9d1fe87
move linux impl to unix (it works on osx too!)
2019-03-29 12:39:48 -07:00
Mark McCaskey
1f8b90b57e
probably actually fix linux for real though
2019-03-29 12:33:32 -07:00
Mark McCaskey
de241a03f9
fix linux impl bugs
2019-03-29 11:43:32 -07:00
Mark McCaskey
48d34d9522
improve calling of platform-specific code and impl linux clock calls
2019-03-29 11:38:48 -07:00
Lachlan Sneff
48b5918895
Merge branch 'master' into feature/wasi-fs
2019-03-29 11:09:04 -07:00
Mark McCaskey
23c09ac042
add imports
2019-03-29 11:04:38 -07:00
Lachlan Sneff
b1030d3181
Add prestat_t
2019-03-29 11:03:21 -07:00
Mark McCaskey
d10d0285ac
Merge branch 'feature/wasi' into feature/wasi-cross-platform-skeleton
2019-03-29 10:43:30 -07:00
Mark McCaskey
ea27effdb3
keeep top level wasi calls that call out to platform-specific impls
2019-03-29 10:20:08 -07:00
bors[bot]
c6a597f3a2
Merge #311
...
311: doc(lib) Add basic `README.md` r=Hywan a=Hywan
This patch adds very basic `README.md`. They must obviously be completed, but it's better than nothing!
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-03-29 15:56:14 +00:00
Ivan Enderlin
1c063090c5
doc(runtime-c-api) Add short module descriptions.
2019-03-29 16:35:35 +01:00
Ivan Enderlin
8ee0f16c8a
fix(runtime-c-api) Remove last warnings.
2019-03-29 15:56:08 +01:00
Ivan Enderlin
849af62911
feat(runtime-c-api) Finish to extract last pieces of code.
2019-03-29 15:52:41 +01:00
Ivan Enderlin
361ff81db7
feat(runtime-c-api) Extract the import
module.
2019-03-29 15:50:16 +01:00
Ivan Enderlin
9c4696eb5b
feat(runtime-c-api) Extract the export
module.
2019-03-29 15:38:12 +01:00
Ivan Enderlin
f46be814da
feat(runtime-c-api) Extract the instance
module.
2019-03-29 15:14:05 +01:00
Ivan Enderlin
d06d6b7ac8
feat(runtime-c-api) Extract the global
module.
2019-03-29 15:05:17 +01:00
Ivan Enderlin
8bdb458ea7
feat(runtime-c-api) Extract the table
module.
2019-03-29 15:02:50 +01:00
Ivan Enderlin
4239975240
feat(runtime-c-api) Move wasmer_validate
into the module
module.
2019-03-29 14:59:02 +01:00
Ivan Enderlin
55c010688c
feat(runtime-c-api) Extract the memory
module.
2019-03-29 14:57:08 +01:00
Ivan Enderlin
168aa8031f
feat(runtime-c-api) Extract the module
module.
2019-03-29 14:51:35 +01:00
Ivan Enderlin
96324977b5
feat(runtime-c-api) Extract the error
module.
2019-03-29 14:41:39 +01:00
Ivan Enderlin
49c01f6093
feat(runtime-c-api) Extract the value
module.
2019-03-29 14:40:26 +01:00
Ivan Enderlin
316cbc54ab
doc(lib) Add basic README.md
.
2019-03-29 10:17:24 +01:00
Ivan Enderlin
8179dd6f96
fix(llvm-backend) Remove sign_type
from generate_trampoline
.
2019-03-29 10:09:56 +01:00
Ivan Enderlin
34b4f2fb11
fix(llvm-backend) Mark some variables as unused.
2019-03-29 10:09:39 +01:00
Ivan Enderlin
5cd45cbc28
fix(llvm-backend) Mark a variable as unused.
2019-03-29 10:09:10 +01:00
Ivan Enderlin
b03980f8c9
fix(llvm-backend) Remove unused variables or functions.
2019-03-29 10:08:43 +01:00
Ivan Enderlin
76d26d97ac
fix(llvm-backend) Remove Intrinsics.ctx_ty
, CtxType.ctx_ty, and
.ctx_ptr_ty`.
2019-03-29 10:07:38 +01:00
Ivan Enderlin
7645a812d9
fix(llvm-backend) Remove unused variables.
2019-03-29 10:07:08 +01:00
Ivan Enderlin
00e4b25111
fix(llvm-backend) No need to enumerate items in this iterator.
2019-03-29 10:06:31 +01:00
Ivan Enderlin
20378de0e7
fix(llvm-backend) llvm_sig
variable is not used here.
2019-03-29 10:06:11 +01:00
Ivan Enderlin
e3f39fc127
fix(llvm-backend) parse_function
doesn't need a Module
.
2019-03-29 10:05:39 +01:00
Ivan Enderlin
dea4705dcb
fix(llvm-backend) LLVMBackend::new
doesn't use instrinsics yet.
2019-03-29 10:04:56 +01:00
Ivan Enderlin
91f40639b7
fix(llvm-back) Mark WasmTrapType
as deadcode.
...
This enum is not used directly by Rust, but used externally.
2019-03-29 10:04:09 +01:00
Ivan Enderlin
a1ca7069af
fix(llvm-backend) Remove unused imports.
2019-03-29 10:03:40 +01:00
Ivan Enderlin
ddf532ddb5
fix(llvm-backend) Remove an example.rs
file.
2019-03-29 09:43:21 +01:00
Lachlan Sneff
d9b89b46ee
Fix bug in deref of WasmPtr<T, Array>
2019-03-28 22:22:46 -07:00
Lachlan Sneff
90db12e59a
Finish up signatures and converting function types
2019-03-28 22:10:11 -07: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
Mark McCaskey
bd09343fca
add structure for cross-platform wasi syscall implementations
2019-03-28 17:09:39 -07:00
Lachlan Sneff
c45de2207e
Add helper types and half-ish of the wasi signatures
2019-03-28 17:00:10 -07:00
Mark McCaskey
aed9d3b9b7
remove __wasi_ prefix
2019-03-28 15:17:52 -07:00
bors[bot]
79133e59e5
Merge #303
...
303: Add all wasi types r=lachlansneff a=lachlansneff
This adds all wasi types.
Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
2019-03-28 21:59:28 +00:00
Lachlan Sneff
bde6bdfd3a
Add all wasi types
2019-03-28 14:33:15 -07:00
Mark McCaskey
21304cb700
Merge branch 'feature/wasi' into feature/hook-up-wasi-to-wasmer
2019-03-28 14:19:17 -07:00
Mark McCaskey
5c12fd0b49
fix test
2019-03-28 13:55:38 -07:00
Mark McCaskey
a69fdfef38
implement wasi check
2019-03-28 13:46:30 -07:00
Lachlan Sneff
256253a1d5
Fix clippy lint
2019-03-28 13:10:22 -07:00
Mackenzie Clark
a203675469
lint
2019-03-28 13:01:02 -07:00
Lachlan Sneff
dbc4176964
Add env and args syscalls
2019-03-28 12:56:11 -07:00
Mackenzie Clark
d9c693a31c
make file like implement the std::io traits instead and wrap zbox file
2019-03-28 12:50:37 -07:00
Mark McCaskey
bc863fcf0c
hook up wasi to wasmer
2019-03-28 12:19:23 -07:00
Lachlan Sneff
94674e9d80
Add wasi state
2019-03-28 12:18:05 -07:00
Lachlan Sneff
c045da3de6
Merge branch 'feature/wasi' of github.com:wasmerio/wasmer into feature/wasi
2019-03-28 11:57:07 -07:00
Lachlan Sneff
7b0992e44f
Instance now pulls state from the ImportObject
2019-03-28 11:56:31 -07:00
Mackenzie Clark
09642c92db
revert changes to emscripten
2019-03-28 11:55:01 -07:00
Mark McCaskey
b7254ce1f5
add stubs and dispatch
2019-03-28 11:54:22 -07:00
Lachlan Sneff
e3a6b7c9d8
Add skeleton for wasi abi
2019-03-28 11:44:31 -07:00
Mackenzie Clark
c684ea46f0
lint
2019-03-28 11:42:59 -07:00
Mackenzie Clark
5294eb6b0d
merge and respond to feedback
2019-03-28 11:41:45 -07:00
Lachlan Sneff
0787d001e3
Add data support to import macro
2019-03-28 11:41:14 -07:00
Lachlan Sneff
be08154670
Add wasi crate
2019-03-28 11:23:08 -07:00
bors[bot]
4bbf9903f3
Merge #294
...
294: add support for symbol maps r=MarkMcCaskey a=MarkMcCaskey
resolves #293
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-03-28 17:09:44 +00:00
Mark McCaskey
a0e20667b5
add small fix
2019-03-28 10:08:41 -07:00
Mark McCaskey
764ec96ad1
fix compilation error
2019-03-28 09:20:54 -07: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
Mackenzie Clark
d8347a3d40
Merge branch 'master' into feature/vfs
2019-03-27 17:31:56 -07:00
Mackenzie Clark
9619019baf
fix compiler errors for debug build
2019-03-27 17:23:07 -07:00
Mackenzie Clark
423f154177
fix typo
2019-03-27 16:55:21 -07:00
Mackenzie Clark
c9613bdcea
add compiler error instead
2019-03-27 16:55:12 -07:00
Mackenzie Clark
b6eb830bf4
Revert "impl From for EmscriptenVfsError"
...
This reverts commit 18eae44577
.
2019-03-27 16:55:00 -07:00
Mackenzie Clark
18eae44577
impl From for EmscriptenVfsError
2019-03-27 16:14:29 -07:00
Mackenzie Clark
074013648e
build on windows
2019-03-27 16:07:59 -07:00
bors[bot]
ba4b309d56
Merge #295
...
295: generate null funcs r=syrusakbary a=xmclark
This PR automates adding the `nullfunc` imports. A new macro is added to help working with namespaces. All functions in the env namespace that start with `nullFunc_` will be added to the import object. This is easy because *all* null funcs have the same expected signature.
Co-authored-by: Mackenzie Clark <mackenzie.a.z.c@gmail.com>
2019-03-27 21:56:57 +00:00
Mark McCaskey
580a153821
fix lint errors
2019-03-27 14:30:57 -07:00
Mark McCaskey
c51d44578d
simplify borrowing inference of compiler config in llvm backend
2019-03-27 14:25:29 -07:00
Mark McCaskey
51c2111d53
pass compiler_config along to other backends
2019-03-27 14:18:34 -07:00
Mark McCaskey
315d8286c4
clean up (second pass)
2019-03-27 14:08:17 -07:00
Mark McCaskey
09068c1a74
clean up implementation
2019-03-27 14:01:27 -07:00
Mackenzie Clark
931008b5bd
Merge branch 'master' into feature/vfs
2019-03-27 09:21:42 -07:00
Mackenzie Clark
cd119fc861
make string multi-line
2019-03-27 08:36:53 -07:00
Mackenzie Clark
8b861d01db
rename null func
2019-03-27 08:36:41 -07:00
bors[bot]
f249d3af77
Merge #296
...
296: feat(runtime-c-api) Implement the `wasmer_export_to_memory` function r=Hywan a=Hywan
This new function returns a `wasmer_memory_t` from a `wasmer_export_t`. It allows to use the `wasmer_memory_*` API over the exported memories from a Wasm instance.
See `tests/assets/return_hello.rs` and `tests/test-exported-memory.c` for an end-to-end example.
This PR also moves all `tests/.wasm` files into `tests/assets/`. I've added the source of `return_hello.wasm` to be exhaustive and to serve as a documentation.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-03-27 15:09:17 +00:00
Ivan Enderlin
a59ce13810
chore(runtime-c-api) Build the C and C++ headers.
2019-03-27 10:50:40 +01:00
Ivan Enderlin
4d0312f0ed
test(runtime-c-api) New test suite for wasmer_export_to_memory
.
2019-03-27 10:49:28 +01:00
Ivan Enderlin
6fca475564
feat(runtime-c-api) Implement the wasmer_export_to_memory
function.
...
This new function returns a `wasmer_memory_t` from a
`wasmer_export_t`.
2019-03-27 10:44:47 +01:00
Ivan Enderlin
5661540097
chore(runtime-c-api) Move .wasm
files into the assets
directory.
2019-03-27 09:42:56 +01:00
Mackenzie Clark
d65a5dfe57
fix typo
2019-03-26 20:07:00 -07:00
Mackenzie Clark
8dd158d3fb
fix more warnings
2019-03-26 19:05:53 -07:00
Mackenzie Clark
0435d6149a
Merge branch 'master' into feature/generate-nullfuncs
2019-03-26 19:04:41 -07:00
Mackenzie Clark
3d3ce27cdb
cargo fmt
2019-03-26 19:00:39 -07:00
Mackenzie Clark
ead5600abb
fix warnings
2019-03-26 19:00:09 -07:00
Mackenzie Clark
e701bdb811
remove the nullfunc functions
2019-03-26 19:00:03 -07:00
Mackenzie Clark
0533a4eef6
dynamically import null funcs (all with the same signature)
2019-03-26 18:59:39 -07:00
Mark McCaskey
f9a29445ca
fix instatiate calli n c-api
2019-03-26 17:00:51 -07:00
Mackenzie Clark
9c599f1226
Merge branch 'master' into feature/vfs
2019-03-26 17:00:40 -07:00
Mark McCaskey
a0809dedbf
change formatting to match syscalls
2019-03-26 16:57:58 -07:00
Mark McCaskey
c7407ca7ab
Merge branch 'master' into feature/add-support-for-symbol-maps
2019-03-26 16:42:56 -07:00
Mark McCaskey
9c58bed344
add support for symbol maps
2019-03-26 16:41:40 -07:00
Mark McCaskey
49db149224
fix arg passing to getcwd syscall
2019-03-26 14:37:47 -07:00
Mark McCaskey
d2818b1ffa
fix alignment check on pointer
2019-03-26 09:56:23 -07:00
losfair
d9b2a2309d
Emitter API.
2019-03-27 00:23:10 +08:00
Mackenzie Clark
5bb82379ba
add windows functions that were missed
2019-03-25 20:42:48 -07:00
Mackenzie Clark
16c9bb2160
cargo fmt
2019-03-25 20:18:33 -07:00
Mackenzie Clark
60685d1d0a
Merge branch 'master' into feature/vfs
2019-03-25 20:17:57 -07:00
Mackenzie Clark
7c9e537443
refactor everything
2019-03-25 19:44:12 -07:00
Mark McCaskey
43a8a00d79
change getpwuid to just return 0
2019-03-25 16:59:23 -07:00
Mark McCaskey
abafbbdbb2
fix pointer casting lint
2019-03-25 16:25:39 -07:00
Mark McCaskey
93432bdb12
Make reading database files work too!
2019-03-25 16:13:41 -07:00
Mark McCaskey
3500d5a7c7
add more functions for sqlite compiled from config src
2019-03-25 13:09:23 -07:00
Mark McCaskey
2969989ecd
sort imports
2019-03-25 12:39:57 -07:00
Mark McCaskey
4f98da710d
add more; get it working
2019-03-25 11:58:44 -07:00
Mark McCaskey
f66b024390
Merge branch 'master' into feature/add-syscalls-for-sqlite3
2019-03-25 11:14:01 -07:00
Mark McCaskey
1ce29e788f
add syscalls for sqlite3
2019-03-25 11:12:34 -07:00
Mark McCaskey
d825746245
Merge branch 'feature/add-syscalls-for-php' of github.com:wasmerio/wasmer into feature/add-syscalls-for-php
2019-03-25 10:45:19 -07:00
Mark McCaskey
de0dedc78d
relocate io stubs and add windows syscall stubs
2019-03-25 10:45:02 -07:00
Mark McCaskey
4210bcd822
Merge branch 'master' into feature/add-syscalls-for-php
2019-03-25 10:17:18 -07:00
Mark McCaskey
e56dfe70c7
rm REVIEW comments
2019-03-25 10:16:43 -07:00
Mackenzie Clark
8432ce9238
Merge branch 'master' into feature/vfs
2019-03-24 18:30:50 -07:00
bors[bot]
18a6c8a611
Merge #286
...
286: Add extend to imports r=MarkMcCaskey a=MarkMcCaskey
a rewrite of #283 with a focus on simplicity
resolves #258
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-03-25 01:16:10 +00:00
Mackenzie Clark
12b53a48ad
fix tests
2019-03-24 17:54:52 -07:00
Mackenzie Clark
e59e57d8a5
lint
2019-03-24 17:35:37 -07:00
Mackenzie Clark
0666a5375b
add missing hashbrown dependency for dynasm
2019-03-24 17:30:10 -07:00
Mark McCaskey
225b82ae78
change behavior of extend to overwrite on conflict
2019-03-24 17:16:05 -07:00
Mackenzie Clark
0091264b65
get it building with zbox fork
2019-03-24 16:38:45 -07:00
Mackenzie Clark
e986ec13fa
shrink select
2019-03-23 16:19:36 -07:00
Mackenzie Clark
e5951ce56d
Merge branch 'master'
...
Conflicts:
Cargo.lock
Cargo.toml
lib/emscripten/Cargo.toml
lib/emscripten/src/syscalls/unix.rs
lib/runtime-core/Cargo.toml
2019-03-23 00:27:55 -07:00
Mark McCaskey
d037c5fdbb
fmt
2019-03-22 17:29:09 -07:00
Mark McCaskey
5e39a7b3d9
rewrite extending imports
2019-03-22 17:11:30 -07:00
Mackenzie Clark
e75a23602a
wip
2019-03-22 16:57:29 -07:00
Mackenzie Clark
b7c5f27b37
this commit makes the whole thing work
2019-03-22 15:35:38 -07:00
Mackenzie Clark
eedb6b9d72
writev
2019-03-22 11:19:06 -07:00
Mark McCaskey
c522c6d1e3
fix bugs; add checks and lint exceptions for alignment casting
2019-03-22 10:30:35 -07:00
Mackenzie Clark
0c004c9290
move select into separate file
2019-03-22 10:18:03 -07:00
Syrus Akbary
bf3af660fd
Added dynasm-backend to the libraries README
2019-03-21 21:12:01 -07:00
Mackenzie Clark
33942d2fc9
partially works
2019-03-21 18:05:03 -07:00
Mark McCaskey
99f76925a8
fmt
2019-03-21 17:20:13 -07:00
Mark McCaskey
b9e7449f64
add functions for php cli
2019-03-21 17:18:25 -07:00
Mackenzie Clark
7c4b0d3b23
wip
2019-03-21 16:18:11 -07:00
Mackenzie Clark
3e728acdc0
reads working
2019-03-21 14:28:12 -07:00
Mackenzie Clark
65c4c12942
optimize mroe
2019-03-21 12:22:18 -07:00
Mackenzie Clark
92e1fce83a
more organizing
2019-03-21 12:12:58 -07:00
Mackenzie Clark
825926f40a
more optimizing imports
2019-03-21 11:54:55 -07:00
Mackenzie Clark
59ed6a91d8
imports
2019-03-21 11:05:29 -07:00
Mackenzie Clark
d5f62b20aa
refactor some imports in host fs
2019-03-21 11:00:49 -07:00
Mackenzie Clark
4eb9d3344b
debug statements, move another fn into platform mod
2019-03-21 10:42:58 -07:00
Mackenzie Clark
630d4bde13
re-organize modules for syscalls, windows is in bad shape
2019-03-21 10:20:59 -07:00
Mackenzie Clark
9ed593d7b6
wip enchanced vfs
2019-03-21 08:55:57 -07: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
Mark McCaskey
c58a7e0c37
stub out/add the rest
2019-03-20 16:46:42 -07:00
Mark McCaskey
d13e4aa71f
clean up a bit
2019-03-20 15:24:05 -07:00
Mark McCaskey
42b122d639
add many emscripten functions for PHP
2019-03-20 15:13:00 -07:00
Mark McCaskey
76b4cc79e8
fix make debug-release
2019-03-20 10:27:07 -07:00