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
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
losfair
395161acdc
Merge remote-tracking branch 'origin/master' into feature/dynasm-backend
2019-03-20 19:54:29 +08:00
Lachlan Sneff
5657be1df0
Merge branch 'master' into add-versioning-to-cache
2019-03-19 16:22:55 -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
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
Ivan Enderlin
c0f4b6a87c
Merge branch 'master' into feat-runtime-c-api-cache
2019-03-19 16:35:32 +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
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
Ivan Enderlin
46edd20725
feat(runtime-c-api) Add the wasmer_serialized_module_from_bytes
function.
...
This function is required to transform a `wasmer_byte_array` into a
`wasmer_serialized_module_t`. This is the complementary function of
`wasmer_serialized_module_bytes`.
2019-03-19 10:51:43 +01:00
Ivan Enderlin
5e31a1b6d1
feat(runtime-c-api) Introduce the wasmer_serialized_module_t
struct type.
...
The `wasmer_module_serialize` function now computes a
`wasmer_serialized_module_t` value. The `wasmer_module_deserialize`
function takes this value as an input. Same for
`wasmer_serialized_module_destroy`.
The new function `wasmer_serialized_module_bytes` allows to read the
bytes inside the `wasmer_serialized_mdule_t` structure.
2019-03-19 10:04:31 +01:00
losfair
61abe70042
cargo fmt
2019-03-19 11:52:43 +08:00
losfair
ebaf2dc5a8
Make DynFunc::func_index private.
2019-03-19 11:52:27 +08:00
losfair
2ab2205d6b
Allow cross-module indirect calls.
2019-03-19 11:47:38 +08:00
Mark
874b613f56
fmt it
2019-03-18 17:46:06 -07:00
Mark
2580871f63
update the binary too
2019-03-18 17:40:36 -07:00
Mark
a152b85729
Add versioning to cache
2019-03-18 17:27:23 -07:00
Ivan Enderlin
f049e9b0b3
fix(runtime-c-api) Remove explicity drop
.
...
When the value goes out-of-scope, `drop` is called utomatically.
2019-03-18 16:09:02 +01:00
Ivan Enderlin
6f04f1ad88
Merge branch 'feat-runtime-c-api-cache' of github.com:Hywan/wasmer into feat-runtime-c-api-cache
2019-03-18 16:05:59 +01:00
Ivan Enderlin
6605a02316
feat(runtime-c-api) Add the wasmer_module_serialization_destroy
function.
2019-03-18 16:05:04 +01:00
losfair
b06a49e1c0
Move wasmer-dynasm-backend out of default-compiler.
2019-03-18 16:22:57 +08:00
losfair
cd5c1456d7
Fix default compiler.
2019-03-18 16:15:48 +08:00
losfair
af8f307a92
Fix dependencies.
2019-03-18 16:14:11 +08:00
losfair
caa239a3df
Make wasmer-dynasm-backend optional.
2019-03-18 16:06:20 +08:00
losfair
c5694ec527
Fix lint errors.
2019-03-18 00:53:07 +08:00
losfair
e48ff027a6
Remove commented out code.
2019-03-18 00:52:16 +08:00
losfair
4ca27b68b0
Manually fix lint errors.
2019-03-18 00:48:50 +08:00
losfair
6c40ea1cb5
Cargo fmt more files.
2019-03-18 00:35:55 +08:00
losfair
99faa79869
Run cargo fmt.
2019-03-18 00:31:36 +08:00
losfair
fcfde7352a
Use R15 as temporary register.
2019-03-17 21:27:19 +08:00
losfair
08f4526b45
Merge remote-tracking branch 'origin/master' into feature/dynasm-backend
2019-03-17 21:14:01 +08:00
losfair
7394df2fd8
FIx floating point trunc's.
2019-03-17 19:54:20 +08:00
losfair
d8d39c309c
Fix warnings.
2019-03-17 10:54:50 +08:00
losfair
f8fe999015
Implemented protected call and floating point traps; passing all spectests!
2019-03-17 10:27:14 +08:00
Mackenzie Clark
edacb0a8a7
Merge branch 'master' into feature/vfs
2019-03-16 13:38:02 -07:00
losfair
1f8c644855
Merge remote-tracking branch 'private/feature/dynasm-backend' into feature/dynasm-backend
2019-03-17 03:08:06 +08:00
losfair
81af8cfa9c
Fixed several bugs in the single-pass backend and implemented a runtime resolver that allows to call managed functions with System V cc.
2019-03-17 03:07:27 +08:00
Syrus
53a8fca4d5
Make wasmer executable work with dynasm
2019-03-16 11:52:11 -07:00
Ivan Enderlin
212591b908
Merge branch 'master' into feat-runtime-c-api-cache
2019-03-16 14:10:44 +01:00
Mackenzie Clark
c46ff0dcfc
Merge branch 'master' into fix/windows-warnings-cargo-build
2019-03-15 14:20:34 -07:00
Mackenzie Clark
14104c2c8b
fix lots of warnings
...
fix warnings
2019-03-15 14:10:17 -07:00
Ivan Enderlin
aac5c88b58
doc(runtime-c-api) Update the documentation of wasmer_module_deserialize
.
2019-03-15 12:18:52 +01:00
Ivan Enderlin
082c93ceba
chore(runtime-c-api) Fix a merging error.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
2368ce3a20
chore(runtime-c-api) Regenerate the wasmer.hh?
files.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
c8872f1a6f
test(runtime-c-api) Test the new wasmer_module_(de)?serialize
functions.
...
This test suite compiles a module, then serializes it, deserializes
it, and continues by creating an instance and calling a function on
it. It allows to test the entire roundtrip.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
f2760249b6
fix(runtime-c-api) Reorganize the tests by alphabetic order.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
c142e16d12
feat(runtime-c-api) Implement the wasmer_module_(de)?serialize
functions.
...
This patch implements 2 functions:
1. `wasmer_module_serialize`, and
2. `wasmer_module_deserialize`.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
f57f8bc0cb
fix(runtime-c-api) Use imported symbols.
...
`std::slice` is already imported. This patch then rewrites `::std::slice::` into `slice::`.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
92ff24f5a2
feat(runtime) Make default_compiler
public.
...
This is required to be able to deserialize a serialized module in
`runtime-c-api`.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
2e45431876
Merge branch 'master' into fix-runtime-core-shared-memory-descriptor
2019-03-15 09:57:23 +01:00
Ivan Enderlin
61a203438a
feat(runtime-core) SharedMemory.desc
is not used… yet!
2019-03-15 09:09:24 +01:00
Mackenzie Clark
8fc2a13828
use the header
2019-03-14 13:34:52 -07:00
losfair
1b5ea9bece
Passes all assert_return(_*)
tests.
2019-03-15 01:10:31 +08:00
Ivan Enderlin
a98c1c87bf
Merge branch 'master' into feat-runtime-c-api-validate
2019-03-14 14:15:48 +01:00
Ivan Enderlin
5b98ee732c
feat(runtime-c-api) wasmer_validate
expects a *const uint8_t
.
...
This patch updates the first argument of `wasmer_validate` from `*mut
uint8_t` to `*const uint8_t`. Indeed, the
`wasmer-runtime-core::validate` function doesn't expect a mutable
slice, so it's not required to expect a mutable array from C.
Also, it's likely for the Wasm bytes to be stored in the
`wasmer_byte_array` structure. The first field `bytes` is defined as
`*const uint8_t`. So this patch avoids a cast when writing a C++
program.
2019-03-14 12:33:40 +01:00
losfair
1104073641
Implemented more floating point operations.
2019-03-14 19:10:22 +08:00
losfair
4d2b6a0efe
Add Copy + Clone for IfElseState
2019-03-14 17:11:48 +08:00
losfair
592c3fb938
Fixes and some floating point operations.
2019-03-14 17:11:35 +08:00
losfair
c76887d83c
Merge remote-tracking branch 'private/feature/dynasm-backend' into feature/dynasm-backend
2019-03-14 10:31:48 +08:00
losfair
d80ea47ffc
FIx bugs found with spectests.
2019-03-14 10:30:24 +08:00
Brandon Fish
e5d67c9705
Add dynasm feature to emscripten tests
2019-03-13 20:16:07 -05:00
losfair
179bbf9e41
Fix integer division.
2019-03-14 09:15:25 +08:00
Mackenzie Clark
93b602d8ea
use "wasmer:fs" for custom section name and add unbundled test wasm
2019-03-13 15:24:48 -07:00
Mackenzie Clark
d95b62a467
fix cargo toml and fmt
2019-03-13 14:27:00 -07:00
Mackenzie Clark
bd697487aa
Merge branch 'master' into feature/vfs
2019-03-13 14:25:14 -07:00
Mackenzie Clark
c1e0d325e3
switch to zbox
2019-03-13 14:23:55 -07:00
Lachlan Sneff
cd767bc1a7
Merge branch 'master' into fix/llvm-feature-flag
2019-03-13 12:22:21 -07:00
losfair
d4ded2cf07
Fix bugs found when running spectests.
2019-03-13 18:23:50 +08:00
Brandon Fish
68181acc74
Add dynasm to spectests
2019-03-12 21:14:50 -05:00
Brandon Fish
a5bab8cdf6
Updates to compile dynasm after merge from master
2019-03-12 20:59:10 -05:00
Brandon Fish
557be77338
Merge branch 'master' into feature/dynasm-backend
2019-03-12 20:58:22 -05:00
Brandon Fish
1fc7b31309
Add missing trait items to DynasmCompiler so that cargo build --all works
2019-03-12 19:39:10 -05:00
Mackenzie Clark
650125f338
fix build errors
2019-03-12 14:04:53 -07:00
Mackenzie Clark
9ff55a93ee
Merge branch 'master' into feature/vfs
2019-03-12 14:02:06 -07:00
Ivan Enderlin
20d1023abe
fix(emscripten) Various warning fixes and cleanups ( #266 )
...
* fix(emscripten) Remove unused imports.
This patch removes unused imports reported by `rustc` as warnings.
* fix(emscripten) Allow unreachable patterns in `_clock_gettime`.
The compiler thinks `CLOCK_MONOTONIC_COARSE` is unreachable, which is
not always the case. Add an attribute to allow unreachable patterns to
remove the warning.
* fix(emscripten) Rename unused variables.
This patch renames various unused variables by appending an underscore
to them.
* fix(emscripten) Declare `table` as immutable.
The `table` variable in `EmscriptenGlobals::new` was declared as
mutable, but it's never mutated.
* fix(emscripten) Remove an unnecessary `unsafe` block.
* fix(emscripten) Remove duplicate definition of `SO_NOSIGPIPE`.
The `SO_NOSIGPIPE` constant is defined in `syscalls/mod.rs` and
`syscalls/unix.rs`. It's never used in the first case. We can safely
remove it in this file, and keep it in `unix.rs`.
* fix(emscripten) `read_string_from_wasm` is used only on Windows.
Mark `read_string_from_wasm` as possible deadcode, since it's used
only on Windows.
* fix(emscripten) Remove `DYNAMICTOP_PTR_DIFF`, `stacktop`, `stack_max`,
`dynamic_base` and `dynamic_ptr`.
Four functions and one constant are used together but never used
inside or outside this file. They are deadcode.
* fix(emscripten) Remove `infinity` and `nan` fields of `EmscriptenGlobalsData`.
Those fields are never used.
* fix(emscripten) Allow non snake case in `emscripten_target.rs`.
Many functions in this file don't follow the snake case style for Rust
function names. The reason is that we want the names to match the
emscripten symbol names; even if a mapping is done in `lib.rs`, it's
easier to get the same names.
* fix(emscripten) Rename `STATIC_TOP` to `static_top`.
This variable is not a constant.
2019-03-12 14:00:33 -07:00
Mackenzie Clark
0c7808b1d3
reset a cargo manifests
2019-03-12 13:58:33 -07:00
Mackenzie Clark
f2488ac410
remove feature flag on custom sections
2019-03-12 13:36:11 -07:00
Mackenzie Clark
4cee16220b
more edge cases
2019-03-12 13:04:14 -07:00
Mackenzie Clark
b5697d854a
fix typos in vfs tests
2019-03-12 12:01:45 -07:00
Mackenzie Clark
f7f4fbf08a
add the feature flag for llvm backend
2019-03-12 11:59:50 -07:00
Mackenzie Clark
76531b4fcb
add readme for runtime abi
2019-03-12 10:57:47 -07:00
Mackenzie Clark
cc3f04efd7
expose vfs in emscripten and impl read
syscall, feature flag
2019-03-12 10:48:47 -07:00
Mackenzie Clark
b9c3a49f3c
parse and store custom sections from wasm, guarded by vfs feature flag
2019-03-12 10:45:44 -07:00
Mackenzie Clark
f014a05304
create runtime abi crate and vfs implementation
2019-03-12 10:40:52 -07:00
bors[bot]
d304bb4238
Merge #263 #265
...
263: fix(runtime-core) Remove unused imports r=Hywan a=Hywan
This patch removes unused imports as reported by `rustc` as warnings.
265: fix(clif-backend) Remove unused imports r=Hywan a=Hywan
This patch removes unused imports reported by `rustc` as warnings.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-03-12 13:09:26 +00:00
Ivan Enderlin
2c8fc5238d
fix(clif-backend) Remove unused imports.
...
This patch removes unused imports reported by `rustc` as warnings.
2019-03-12 10:03:55 +01:00
Ivan Enderlin
6e62ea7cfb
fix(runtime-core) Remove unused imports.
...
This patch removes unused imports as reported by `rustc` as warnings.
2019-03-12 09:51:54 +01:00
Ivan Enderlin
5db05fd609
Merge branch 'master' into feat-runtime-c-api-instance-context-data
2019-03-12 09:02:05 +01:00
Ivan Enderlin
9bcd59a4c4
Merge branch 'feat-runtime-c-api-instance-context-data' of github.com:Hywan/wasmer into feat-runtime-c-api-instance-context-data
2019-03-12 09:00:54 +01:00
Ivan Enderlin
a390a28384
fix(runtime-c-api) Fix Clippy errors.
2019-03-12 08:58:22 +01:00
losfair
683cb2090c
Fix call_indirect.
2019-03-12 11:31:55 +08:00
Mackenzie Clark
033a2e71bd
fix compiler error on windows
2019-03-11 10:25:45 -07:00
Syrus Akbary
87fb082993
Merge branch 'master' into fix-runtime-c-api-test-imports
2019-03-11 10:09:15 -07:00
Syrus Akbary
7242149b46
Merge branch 'master' into feat-runtime-c-api-instance-context-data
2019-03-11 10:09:02 -07:00
Mackenzie Clark
9c2a141d6e
Merge branch 'master' into fix/llvm-feature-flag
2019-03-11 10:05:10 -07:00
Syrus
e591cd0607
Use wasmerio fork of inkwell
2019-03-11 10:03:40 -07:00
Mackenzie Clark
ee55cd5e64
create an llvm flag
2019-03-11 09:58:09 -07:00
Ivan Enderlin
675f6817ba
test(runtime-c-api) Free allocations.
...
Don't forget to free `context_data` :-).
2019-03-11 17:41:17 +01:00
Ivan Enderlin
170de02dd3
test(runtime-c-api) Test the wasmer_instance_context_data_*
functions.
2019-03-11 17:34:13 +01:00
Ivan Enderlin
a11d454130
feat(runtime-c-api) Add an API to update vm::Ctx.data
.
...
This patch adds 2 functions for the runtime C API, respectively
`wasmer_instance_context_data_set` and
`wasmer_instance_context_data_get`. The goal is to modify the
`vm::Ctx.data` field in the `runtime-core` library.
This is required to pass dynamic data to imported functions for
instance.
2019-03-11 16:50:18 +01:00
Ivan Enderlin
3fea07dc8a
fix(runtime-c-api) Fix the imports
length.
...
`imports` contains `func_import`, `global_import`, `memory_import` and
`table_import`, so 4 items. This patch updates the length of `imports`
when calling the `wasmer_instantiate` function.
2019-03-11 14:35:51 +01:00
Lachlan Sneff
17eada53f3
feat(runtime) Get ready for tiering ( #257 )
...
* Add local_function field to context
* Add local call indirection to llvm
* local call indirection
* Fix vm test
* Fix cranelift local call indirection
* Fix unwinding on nightly
2019-03-08 15:15:16 -08:00
losfair
c5ef0a96e9
Update vm::Ctx.
2019-03-09 02:58:37 +08:00
losfair
25034ece07
Almost finished indirect calls.
2019-03-09 02:57:23 +08:00
losfair
3efccbe0f7
Support imported globals.
2019-03-09 00:38:13 +08:00
losfair
4c4743e7cd
Globals.
2019-03-09 00:32:18 +08:00
losfair
258dea64d8
Fix calling imports.
2019-03-09 00:07:13 +08:00
Ivan Enderlin
a4454ebae8
doc(readme) Fix a typo.
...
This patch fixes a typo in the C example.
2019-03-08 13:26:04 +01:00
Brandon Fish
dd3a6ad21b
Merge branch 'master' into feat-runtime-c-api-strict-c-cpp
2019-03-07 23:06:01 -06:00
Brandon Fish
628caf0a74
Make import_func_new/destroy not const
2019-03-07 22:59:11 -06:00
Syrus Akbary
60a74540d9
Update README.md
2019-03-07 20:39:58 -08:00
Syrus Akbary
b321ca339b
Update README.md
2019-03-07 20:39:44 -08:00
Syrus
4acb826bf2
Fixed default compiler on windows
2019-03-07 19:11:29 -08:00
Syrus
3a4325c5a3
Only use llvm in non windows envs
2019-03-07 18:26:29 -08:00
Syrus
671ff09e6a
Use LLVM 5 for Windows
2019-03-07 18:06:47 -08:00
Lachlan Sneff
679fdc14c2
Merge branch 'master' into feature/llvm-backend
2019-03-07 13:25:24 -08:00
Syrus Akbary
6570bd433d
Fixed import func to be mutable
2019-03-07 10:19:03 -08:00
losfair
12c213739a
Hack around calling imports. Not yet working.
2019-03-08 01:31:37 +08:00
Ivan Enderlin
7a9816ff12
feat(runtime-c-api) Ask rustc
to generate a static library.
...
This is required to correctly link to the embedded runtime.
2019-03-07 10:19:02 +01:00
Ivan Enderlin
1dfae80c65
test(runtime-c-api) Fix compilation errors in test-exports.c
.
2019-03-07 10:15:32 +01:00
Ivan Enderlin
725aff6fee
test(runtime-c-api) Fix a compilation error in test-instantiate.c
.
2019-03-07 10:15:32 +01:00
Ivan Enderlin
603f1fc57d
test(runtime-c-api) Fix compilation errors in test-import-function.c
.
2019-03-07 10:15:32 +01:00
Ivan Enderlin
2a0e42c1e5
test(runtime-c-api) Fix compilation errors in test-memory.c
.
2019-03-07 10:15:32 +01:00
Ivan Enderlin
dcb4032e9d
test(runtime-c-api) Fix compilation errors in test-imports.c
.
2019-03-07 10:15:32 +01:00
Ivan Enderlin
c658224f0c
test(runtime-c-api) Transforms all C/C++ warnings into errors.
...
This patch ensures that all our examples and tests do not generate
warnings. In C, it can be catastrophic sometimes…
Also, be sure that the `cmake` command doesn't emit any warnings too.
2019-03-07 10:15:32 +01:00
Brandon Fish
1957ddef53
Run emscripten tests with both compilers
2019-03-06 21:36:46 -06:00
Syrus Akbary
af9c26f4f9
Fixed links of wasmer runtime C api in crates.io and docs.rs
2019-03-06 18:22:16 -08:00
Syrus Akbary
49dc21363b
Merge pull request #242 from Hywan/doc-runtime-c-api
...
doc(runtime-c-api) Improve the `README.md`.
2019-03-06 17:28:02 -08:00
Lachlan Sneff
e3e91c628b
Merge branch 'master' into feature/llvm-backend
2019-03-06 13:47:15 -08:00
Mackenzie Clark
fd5916e493
Merge branch 'master' into feature/emscripten-for-bundling
2019-03-06 10:18:26 -08:00
Mackenzie Clark
b1739d93ec
remove leading underscores from execvp and exit
2019-03-06 10:18:00 -08:00
Ivan Enderlin
bedb05738b
Merge branch 'master' into doc-runtime-c-api
2019-03-06 18:50:49 +01:00
Ivan Enderlin
f5ce1e8b60
doc(runtime-c-api) Improve the README.md
.
...
This patch updates the `README.md` by adding badges, a Usage Section,
and a License Section. The Testing Section is slightly revamped.
2019-03-06 14:11:12 +01:00
Ivan Enderlin
d709191be1
doc(runtime-c-api) Declare the example as C, so that they are not tested.
...
Those examples contain C code. They must not be run by `rustdoc` as
tests.
2019-03-06 12:08:02 +01:00
Ivan Enderlin
76caebebb4
fix(runtime-c-api) Provide a link target.
...
When compiling `wasmer-runtime-c-api` as a dependency of another
crate, `rustc` emits this warning:
```
warning: The package `wasmer_runtime_c_api` provides no linkable
target. The compiler might raise an error while compiling
`foo`. Consider adding 'dylib' or 'rlib' to key `crate-type` in
`wasmer_runtime_c_api`'s Cargo.toml. This warning might turn into a
hard error in the future.
```
To solve this issue, the `rlib` type has been added to the
`crate-type` list.
2019-03-06 11:02:14 +01:00
Ivan Enderlin
0f74133be3
feat(runtime-c-api) Build: Copy the C header files from OUT_DIR
to CARGO_MANIFEST_DIR
.
...
This patch copies the generated C and C++ header files from the
`OUT_DIR` to the root of the crate.
2019-03-06 10:58:40 +01:00
Ivan Enderlin
f2997357fc
feat(runtime-c-api) Remove the flag WASM_EMSCRIPTEN_GENERATE_C_API_HEADERS
.
...
This patch removes the `WASM_EMSCRIPTEN_GENERATE_C_API_HEADERS`
flag. Consequently, the C header files will be generated for each
build.
The `generate-c-api-headers` feature is also removed, since it becomes useless.
2019-03-06 10:42:32 +01:00
Ivan Enderlin
7c56d893c2
feat(runtime-c-api) Generate the C header file in OUT_DIR
.
...
This patch changes the directory where the C header files are
generated, from `CARGO_MANIFEST_DIR` to `OUT_DIR`. The goal is: When
`wasm-runtime-c-api` is used as a dependency of another Rust project,
then the C header files are accessible in the `target/` directory
(i.e. the `OUT_DIR`).
Also, since `rustc` has a `--out-dir` directory, it increases the
flexibility of this approach: The user can generate the C header files
where she wants.
2019-03-06 10:42:06 +01:00
Brandon Fish
03909fe3c2
Run spectests with both compilers, activate using features
2019-03-06 00:15:07 -06:00
Lachlan Sneff
0e5d1172d6
Just install the signal handler once
2019-03-05 16:50:49 -08:00
Syrus Akbary
28bb264266
Merge pull request #232 from Hywan/fix-runtime-c-api-remove-warnings
...
fix(runtime-c-api) Fix several warnings
2019-03-05 16:38:14 -08:00
Lachlan Sneff
f36aade2e5
Fix broken test
2019-03-05 14:57:37 -08:00
Lachlan Sneff
48b36a3b01
Runs on linux and also hopefully ci
2019-03-05 14:54:44 -08:00