losfair
1bdf0d5ad7
Fix clippy error.
2019-06-26 12:50:34 +08:00
losfair
03e6311446
Require backend:singlepass for suspend/resume.
2019-06-26 12:46:01 +08:00
losfair
9b4343eac5
Fix compilation on Linux.
2019-06-26 12:33:50 +08:00
losfair
2373d371ae
Optimize backtraces.
2019-06-26 11:28:46 +08:00
losfair
2730efcc6c
Cargo fmt
2019-06-26 01:39:30 +08:00
losfair
0937e53801
Fully persist program state.
2019-06-26 01:38:39 +08:00
losfair
3f2aeec9bc
Suspend & restore.
2019-06-25 20:01:56 +08:00
losfair
8303853227
Cargo fmt
2019-06-25 03:56:20 +08:00
losfair
fb7c3eee8a
Improve stack trace collection and rendering.
2019-06-25 03:55:33 +08:00
Mark McCaskey
09177ac3ae
update version numbers to 0.5.1, add changelog entry
2019-06-24 12:45:40 -07:00
losfair
73eb04d269
Merge remote-tracking branch 'origin/master' into feature/osr
2019-06-24 23:35:47 +08:00
Nick Lewycky
3e0a2a05e2
Fix typo in panic!
2019-06-18 15:15:49 -07:00
Nick Lewycky
e3af924391
Fix typo in comment. No functionality change.
2019-06-18 15:00:19 -07:00
Mark McCaskey
7bdfb2be51
update version numbers and changelog for 0.5.0
2019-06-17 12:56:28 -07:00
losfair
9585b89705
Fix bugs in state reading.
2019-06-12 23:54:15 +08:00
losfair
32008eba88
Read stack values based on state map.
2019-06-12 22:02:15 +08:00
losfair
00b6bf632a
Dumping stack through import.
2019-06-12 13:38:58 +08:00
losfair
ddd0653a25
Make singlepass backend emit state mapping information.
2019-06-12 00:21:43 +08:00
losfair
da9bf05218
Machine state diff
2019-06-11 20:49:30 +08:00
Mark McCaskey
b36783fc50
remove duplicated code, wrap WasmPtr on wasi side
2019-06-11 11:10:42 +02:00
losfair
082b8376ae
State representation.
2019-06-09 21:21:18 +08:00
Brandon Fish
f6ecfa40cb
Merge branch 'master' into feature/metering
2019-06-06 23:33:31 -05:00
losfair
c6cd49a370
Support getting/setting metering points and internal fields with a Ctx.
2019-06-06 14:10:57 +08:00
losfair
f2d8aad73a
Support checking the execution limit exceeded error.
2019-06-05 11:51:33 +08:00
losfair
0867208e0c
Implement {get,set}_points_used.
2019-06-05 02:28:19 +08:00
losfair
66dcec91c4
Add comments for trampoline_x64
.
2019-06-05 01:59:20 +08:00
losfair
b2869e181c
Cargo fmt
2019-06-05 01:11:54 +08:00
losfair
8a74399c6e
Add callinfo trampoline support.
2019-06-05 01:11:10 +08:00
losfair
06280e225e
Fix unused_imports error on lazy_static.
2019-06-03 15:31:42 -07:00
losfair
7808c68cb2
Cargo fmt
2019-06-03 15:31:42 -07:00
losfair
ae19e7f71b
Trampoline for calling with context.
2019-06-03 15:31:42 -07:00
Brandon Fish
f9c8f41232
Remove points_limit and update tests
2019-06-02 13:37:51 -05:00
Brandon Fish
c020c39193
Move get/set points used to middleware
2019-06-02 13:21:00 -05:00
Brandon Fish
e533a8a7b5
Add tests for metering, add option to compiler config
2019-06-02 11:37:02 -05:00
losfair
8019505e65
Merge remote-tracking branch 'origin/feature/clif-cgapi' into feature/metering
2019-05-31 15:40:05 +08:00
losfair
fd8675324c
Merge remote-tracking branch 'origin/master' into feature/metering
2019-05-29 11:16:05 +08:00
Brandon Fish
921e95035f
Cleanup expect messages used for debugging
2019-05-26 22:50:23 -05:00
Brandon Fish
00707ea849
Cleanup cranelift validation
2019-05-26 22:44:37 -05:00
Brandon Fish
8069cdac16
Merge branch 'master' into feature/clif-cgapi
2019-05-26 12:04:45 -05:00
Brandon Fish
6ca311f92d
Fix compilation errors and warnings
2019-05-26 11:13:37 -05:00
Brandon Fish
5da0c4766a
Update to Arc<RwLock<ModuleInfo>> for interior mutability
2019-05-25 19:30:44 -05:00
Brandon Fish
d440776bc0
Update lifetime of function builder references
2019-05-25 18:06:41 -05:00
Johan Andersson
8018453266
Update wasmparser 0.29.2 -> 0.30.0
2019-05-24 23:18:08 +02:00
losfair
9919dd73c8
Merge remote-tracking branch 'origin/master' into feature/metering
2019-05-23 20:18:11 +08:00
losfair
dcf52ef1a7
Cargo fmt
2019-05-23 20:10:34 +08:00
losfair
cf58305889
Dynamically allocate internal fields.
2019-05-23 20:10:17 +08:00
Brandon Fish
04d6ccc95c
Pass module info to FCG as Arc
2019-05-21 23:44:31 -05:00
Mark McCaskey
3bedf6218c
Merge branch 'master' into feature/trace-macro
2019-05-21 11:44:50 -07:00
Brandon Fish
74a758d39e
Add progress on next_event
2019-05-18 16:31:08 -05:00
Mark McCaskey
4760840a77
move stdout capture from runtime core to dev-utils
2019-05-17 15:48:30 -07:00
Mark McCaskey
b3b5716dbb
add files in runtime_Core
2019-05-17 13:31:41 -07:00
Mark McCaskey
ec9c5360ef
move stdio capture into runtime_core; rm emscripten dep in wasi
2019-05-17 13:30:10 -07:00
Syrus
4ddffb8285
Update libraries versions to 0.4.2
2019-05-16 14:39:13 -07:00
losfair
6aec1c4b5f
Use INTERNALS_SIZE
2019-05-17 01:33:33 +08:00
losfair
8e0d71b2bc
Fix missing internals
in test.
2019-05-17 01:32:41 +08:00
losfair
14fcd78b30
Update bin/wasmer and run cargo fmt.
2019-05-17 01:15:05 +08:00
losfair
6aa87a0bbf
Add the internals
field and necessary structures for metering.
2019-05-17 01:10:21 +08:00
Mark McCaskey
a9f643f774
add trace macro for more verbose debug statements
2019-05-15 11:46:17 -07:00
losfair
ee09209bfb
Fix clippy error.
2019-05-14 16:59:18 +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
db9705f00c
Merge remote-tracking branch 'origin/master' into feature/remote-code-load
2019-05-14 15:46:15 +08: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
af1ac9af96
Improve performance of memory access.
2019-05-13 05:11:08 -07: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
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
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
Heyang Zhou
0bbd6e6970
Fix function offset.
2019-05-07 08:25:46 -07: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
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
ab184aceea
Update emscripten to run JSC
2019-05-06 14:05:04 -07: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
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
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
Heyang Zhou
7bc09ee220
kwasmd.
2019-05-05 09:32:35 -07:00
Heyang Zhou
46e4cb05bc
Get memory intrinsics at runtime.
2019-05-04 10:33:12 -07: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
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
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
39b6b05f71
Merge branch 'master' into atomic-transparent-repr
2019-04-30 17:09:18 -07:00
Mark McCaskey
d020ffd759
update version to 0.4.0
2019-04-29 13:26:51 -07:00
losfair
305e1801ff
Fix incomplete data section
2019-04-28 15:38:18 +08:00
losfair
e63d7fd531
Merge
2019-04-28 12:58:27 +08:00
losfair
6beb76c3ae
Various cleanups.
2019-04-28 12:48:01 +08: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
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
706ddabf61
Hook up error propagation
2019-04-22 15:06:40 -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
Lachlan Sneff
3b9e12b248
fix test
2019-04-19 14:02:21 -07:00
Lachlan Sneff
443663aa3f
Add caching support to llvm backend
2019-04-19 13:54:48 -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
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
051d435423
Warnings and unused code cleanup
2019-04-12 10:27:14 -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
Syrus
d67bfdb2c5
Renamed dynasm backend to singlepass
2019-04-11 12:44:03 -07:00
Lachlan Sneff
c898439817
Add well placed unwind(allowed) attribute
2019-04-11 12:07:54 -07: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
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
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
Lachlan Sneff
2d2a177e9c
Fix lint
2019-04-10 10:31:49 -07:00
Lachlan Sneff
cfd4758210
Add some documentation
2019-04-10 10:26:16 -07:00
Syrus
02ed9f0e5f
Reenabled longjmp 🎉
2019-04-09 18:33:53 -07:00
Lachlan Sneff
a320af4485
Fix runtime test missing method
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
18a00e8e8f
fix bug in stat, move lstat64 back to unix
2019-04-09 17:09:33 -07:00
Lachlan Sneff
41129e445d
Fix runtime test missing method
2019-04-09 16:15:50 -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
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
b3a765446a
fix bug in stat, move lstat64 back to unix
2019-04-08 11:26:25 -07:00
Syrus
3b11da91c5
Make DynFunc public
2019-04-06 14:31:39 -07:00
Syrus
1193d561e2
Improved debug! macro with timing
2019-04-05 23:47:59 -07:00
Mark McCaskey
03b529d3d1
Merge branch 'master' into add-validate
2019-04-03 21:35:23 -07: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
Brandon Fish
1ff6ed6d1b
Add Export and GlobalDescriptor to Runtime API
2019-04-02 22:10:49 -05:00
Lachlan Sneff
287c81d7a5
Misc fixes
2019-04-01 17:50:53 -07:00
Lachlan Sneff
ce35e5794f
Change ValueType trait and add basic fs
2019-04-01 15:52:35 -07:00
Lachlan Sneff
48b5918895
Merge branch 'master' into feature/wasi-fs
2019-03-29 11:09:04 -07:00
Ivan Enderlin
316cbc54ab
doc(lib) Add basic README.md
.
2019-03-29 10:17:24 +01:00
Lachlan Sneff
c45de2207e
Add helper types and half-ish of the wasi signatures
2019-03-28 17:00:10 -07:00
Mark McCaskey
5c12fd0b49
fix test
2019-03-28 13:55:38 -07:00
Lachlan Sneff
7b0992e44f
Instance now pulls state from the ImportObject
2019-03-28 11:56: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
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
764ec96ad1
fix compilation error
2019-03-28 09:20:54 -07:00
Mackenzie Clark
d8347a3d40
Merge branch 'master' into feature/vfs
2019-03-27 17:31:56 -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
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
0533a4eef6
dynamically import null funcs (all with the same signature)
2019-03-26 18:59:39 -07:00
Mark McCaskey
9c58bed344
add support for symbol maps
2019-03-26 16:41:40 -07:00
Mackenzie Clark
7c9e537443
refactor everything
2019-03-25 19:44:12 -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
Mark McCaskey
225b82ae78
change behavior of extend to overwrite on conflict
2019-03-24 17:16:05 -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
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
cb3846ff6a
Add InternalCtx
.
2019-03-21 08:39:06 +08:00
losfair
395161acdc
Merge remote-tracking branch 'origin/master' into feature/dynasm-backend
2019-03-20 19:54:29 +08: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
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
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
a152b85729
Add versioning to cache
2019-03-18 17:27:23 -07:00
losfair
6c40ea1cb5
Cargo fmt more files.
2019-03-18 00:35:55 +08:00
losfair
08f4526b45
Merge remote-tracking branch 'origin/master' into feature/dynasm-backend
2019-03-17 21:14:01 +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
Ivan Enderlin
61a203438a
feat(runtime-core) SharedMemory.desc
is not used… yet!
2019-03-15 09:09:24 +01:00
losfair
d80ea47ffc
FIx bugs found with spectests.
2019-03-14 10:30:24 +08:00
Lachlan Sneff
3eaf5525d1
Add some better docs
2019-03-13 14:58:44 -07:00
Brandon Fish
557be77338
Merge branch 'master' into feature/dynasm-backend
2019-03-12 20:58:22 -05: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
b9c3a49f3c
parse and store custom sections from wasm, guarded by vfs feature flag
2019-03-12 10:45:44 -07: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
losfair
683cb2090c
Fix call_indirect.
2019-03-12 11:31:55 +08: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
Lachlan Sneff
f36aade2e5
Fix broken test
2019-03-05 14:57:37 -08:00
Lachlan Sneff
7ef2c0dece
Fix execute after free issue with llvm (and presumably cranelift?)
2019-03-04 14:41:56 -08:00
Lachlan Sneff
4e198bca8b
merge upstream/master into wasmer-private/feature/llvm-backend
2019-03-04 13:03:32 -08:00
Lachlan Sneff
65ec10961b
Change RuntimeError type ( #234 )
...
* Change RuntimeError type and fix codebase to use it
* Fix spectests to work with new runtime error type
* Fix windows signal handler in the clif-backend
* Add missing conversion
* final windows fix
2019-03-04 12:57:26 -08:00
Syrus Akbary
436c4bffcb
Merge pull request #228 from Hywan/fix-runtime-core-unused-import
...
fix(runtime-core) Remove an unused import
2019-03-04 07:13:21 -08:00
Ivan Enderlin
d9073c03c6
fix(runtime-core) hasher
does not need to be mutable.
...
This patch updates the `hasher` variable. It is declared as mutable,
but it's never mutated.
2019-03-04 13:53:41 +01:00
Ivan Enderlin
ec4e476cc6
fix(runtime-core) Remove an unused import.
...
This patch removes an unused import, namely `crate::sys::Memory`.
2019-03-04 13:51:13 +01:00
Lachlan Sneff
801979c40d
Add dynamic sigindices to the vm context.
2019-03-03 21:26:34 -08:00
Lachlan Sneff
3717c5720d
Get control flow (at least according to the llvm verifier) working.
...
Next up:
- Importing vm intrinsics.
2019-03-01 15:48:43 -08:00
Mackenzie Clark
bde2022b58
fix appveyor installer and build ( #224 )
...
* remove exception handler when function returns or throws
* revert to only reserving and not committing memory due to issues
* appveyor builds for release, caches more, only publish artifact once
2019-03-01 13:16:32 -08:00
Brandon Fish
b80252e165
Setup the spectests lib to use llvm-backend
2019-02-28 23:02:03 -06:00
Syrus
60f8f15db3
Updated version to 0.2.1
2019-02-27 17:20:49 -08:00
Mackenzie Clark
95062d524a
commit virtual memory before copying ( #212 )
2019-02-27 14:20:53 -08:00
Syrus
e6d0f91832
Use blake2b SIMD version for increased performance
2019-02-26 01:12:34 -08:00
Syrus
2d49d58665
Use blake2b (simd) version instead of blake2
2019-02-25 17:43:25 -08:00
Syrus
e7d08712b5
Use blake2 hashing algorithm
2019-02-25 17:37:33 -08:00
Syrus
53c8603464
Updated crates version to 0.2.0
2019-02-25 13:33:33 -08:00
Syrus Akbary
09fe82862e
Merge pull request #211 from wasmerio/fix/error-display
...
Fix/error display
2019-02-25 12:35:16 -08:00
Syrus
f9c0e0c078
Fix formatting
2019-02-25 12:25:28 -08:00
Syrus Akbary
c5c967da00
Added parallel compilation ( #209 )
2019-02-25 12:03:48 -08:00
Andrew Cann
ed706133c4
fix stack overflow in Error's Display impl
2019-02-23 17:00:03 +08:00
Mackenzie Clark
82eef13f41
Create a grow error and refactor grow impl to return result ( #191 )
2019-02-22 22:18:59 -08:00
Lachlan Sneff
df03d00e74
Merge upstream/master into feature/llvm-feature
2019-02-22 14:14:46 -08:00
Lachlan Sneff
0c19824425
Fix after merge
2019-02-22 14:07:03 -08:00
Lachlan Sneff
d9506ca5d5
Merge branch 'master' into feature/benchmarks
2019-02-22 13:32:09 -08:00
Lachlan Sneff
4042cff914
Change hashing algorithm from sha1 to meowhash
2019-02-22 13:02:28 -08:00
Mackenzie Clark
70ba4ec466
Merge branch 'master' into feature/benchmarks
2019-02-22 12:14:11 -08:00
Lachlan Sneff
6d092dc121
Fix lint
2019-02-22 12:08:56 -08:00
Lachlan Sneff
17901f992a
Add benchmark runner and nginx compile vs. load bench
2019-02-22 12:07:07 -08:00
Syrus
fdb2a67579
Added cache into standalone app
2019-02-22 11:42:36 -08:00
Brandon Fish
c9969f269c
Use minimum limit as initial table size ( #196 )
2019-02-22 11:16:15 -08:00
Mackenzie Clark
a6d72bdec9
more emscripten stubs and urandom hack ( #199 )
2019-02-22 10:42:38 -08:00
Lachlan Sneff
199cabd0af
Add comment about serde feature
2019-02-21 17:09:32 -08:00
Lachlan Sneff
696fd8fce3
Update api again and change SerializedCache to Artifact
2019-02-21 17:07:04 -08:00
Lachlan Sneff
244308374c
Fix formatting
2019-02-21 15:27:20 -08:00
Lachlan Sneff
f9d7d56195
Add documentation and make load safe
2019-02-21 14:00:33 -08:00
Lachlan Sneff
c78d4a8674
Fix test compilation 2
2019-02-21 12:55:03 -08:00
Lachlan Sneff
2234f357b7
Merge branch 'master' into feature/cache-rework
2019-02-21 11:54:57 -08:00
Lachlan Sneff
f18da0690e
Fix test compilation
2019-02-21 11:54:39 -08:00
Lachlan Sneff
7fa818ea06
Finalize new cache api
2019-02-21 11:47:28 -08:00
Lachlan Sneff
9f40eedba8
Get caching working again
2019-02-20 16:41:41 -08:00
Lachlan Sneff
82eea00a02
Saved
2019-02-19 15:36:22 -08:00
Lachlan Sneff
3c7dc200fa
close to working
2019-02-19 09:58:01 -08:00
Lachlan Sneff
e381bbd07b
Use ModuleInfo instead of ModuleInner when possible
2019-02-18 11:56:20 -08:00
Brandon Fish
2ed6e82354
Merge branch 'master' into feature/c-api
2019-02-17 17:20:47 -06:00
David McNeil
a9b1c6c85e
Fix emscripten environment ( #172 )
...
Dynamically determine abortOnCannotGrowMemory and add
_emscripten_get_heap_size and _emscripten_resize_heap
2019-02-16 15:01:01 -07:00
Brandon Fish
9ee86138b9
Impl Error for CallError
2019-02-15 19:16:19 -06:00
Lachlan Sneff
108973dabe
Start producing object files with llvm
2019-02-15 16:02:20 -08:00
Christopher Serr
cb29261ec7
Use repr(transparent) for single element structs ( #187 )
...
The ABI of aggregates such as single element structs is not required to
be the same as the single elements themselves. This is especially true
for f64 vs. #[repr(c)] struct F(f64); on Windows. Therefore the macro
has been tweaked so S1 uses repr(transparent) which is made for exactly
for this use case.
Closes #183
2019-02-15 15:11:06 -08:00
Mackenzie Clark
2d2d708500
Validate descriptor max on creating new table or memory ( #186 )
2019-02-15 13:14:42 -08:00
Mackenzie Clark
b68b109b7d
Implement error for remaining errors and the amalgamation error ( #184 )
2019-02-15 08:15:57 -08:00
Mackenzie Clark
39ef47ebb1
Implement Error for CompilerError ( #181 )
2019-02-14 21:08:35 -08:00
Mackenzie Clark
09ba27390c
Implement Error for Creation Error ( #180 )
2019-02-14 19:22:19 -08:00
Mackenzie Clark
6e87676160
Impl error for link error ( #182 )
2019-02-14 18:40:52 -08:00
Mackenzie Clark
24d028e2a2
impl error trait for ResolveError ( #179 )
2019-02-14 18:19:18 -08:00
Lachlan Sneff
2d87f64f82
Merge master into feature/llvm-backend
2019-02-14 15:47:28 -08:00
Mackenzie Clark
6a1fdb7f91
add windows exception handling in C ( #175 )
2019-02-14 09:58:33 -08:00
Syrus
b7c3cc09d1
Fixed typed func implementation
2019-02-12 11:14:20 -08:00
losfair
f735471bac
Merge remote-tracking branch 'private/master' into feature/dynasm-backend
2019-02-11 18:38:00 +08:00
Syrus
4311a37def
Fixed simple spectests example compilation
2019-02-09 20:13:58 -08:00
Lachlan Sneff
327e3a4a1a
Implement many wasm instructions
2019-02-09 15:53:40 -08:00
Syrus
393b7dbdf3
Moved ctx in func macro to be first arg
2019-02-09 13:33:22 -08:00
Lachlan Sneff
aa90a33501
Make module info store FuncSig, not Arc<FuncSig>
2019-02-08 14:19:58 -08:00
Lachlan Sneff
1886b3d3c1
Naive short circuiting implementation for user panics and results. ( #167 )
...
* Add panic and result catching
* exit process on panic and user runtime error
* Complete initial implementation
2019-02-08 13:08:03 -08:00
Mackenzie Clark
351b4feeeb
implement with_size_protect ( #163 )
...
* implement with_size_protect
* no more conditional compilation
2019-02-08 10:32:20 -08:00
losfair
9649219578
Initial work on WebAssembly parser for Dynasm backend.
2019-02-08 23:56:14 +08:00
Lachlan Sneff
8d2c1956d7
Fix runtime error catching ( #157 )
2019-02-07 14:44:28 -08:00
Lachlan Sneff
dbea7b3abe
Merge branch 'master' into fix/signature-index-wrong-map
2019-02-07 10:46:35 -08:00
Lachlan Sneff
e147983ece
fix
2019-02-07 10:45:48 -08:00
Mackenzie Clark
4ab8bd69be
install errno on all platforms ( #152 )
2019-02-07 10:02:41 -08:00
Mackenzie Clark
bca702794c
assign to the protect enum ( #153 )
2019-02-07 09:04:57 -08:00
Lachlan Sneff
8fe9b7eac2
Add caching. ( #134 )
...
* Allow a module to have a different signature registry than the process-specific
* Add core ability to build compiled code caches
* Remove timing printouts
* Serialize/Deserialize memories to reduce copies
* Work more on api
* Relocate local functions relatively before external functions
* Fix incorrect definition in test
* merge errors caused by merge
* Fix emscripten compile
* Fix review comments
2019-02-06 16:26:45 -08:00
Mackenzie Clark
7bd609fd58
memory fixes for windows ( #138 )
2019-02-05 16:07:55 -08:00
Lachlan Sneff
271e68d88b
Run fmt
2019-02-05 11:56:36 -08:00
Lachlan Sneff
308d9dde3f
Fix compilation
2019-02-05 11:54:30 -08:00
Lachlan Sneff
8a8290b155
Add touch-ups to new memory api
2019-02-05 10:20:04 -08:00
Lachlan Sneff
00db5410c5
Change memory access api again
2019-02-04 23:07:58 -08:00
Lachlan Sneff
563cda7ba2
Merge branch 'fix/emscripten-translate' of github.com:wasmerio/wasmer into fix/emscripten-translate
2019-02-04 15:08:10 -08:00
Lachlan Sneff
7fce447276
Change memory api
2019-02-04 15:07:32 -08:00
Mackenzie Clark
5f753f727c
Merge branch 'master' into fix/emscripten-translate
2019-02-04 15:05:43 -08:00
Mackenzie Clark
e688b374a6
fix some typos ( #136 )
2019-02-04 10:24:44 -08:00
Lachlan Sneff
dcc75b98ba
Fix some tests
2019-02-02 16:02:28 -08:00
Lachlan Sneff
ccd43df767
Instantiate takes reference
2019-02-02 15:58:33 -08:00
Lachlan Sneff
eba66f3b33
Add typed functions and weird type parameter things
2019-02-02 15:28:50 -08:00
Lachlan Sneff
79c4566165
Merge branch 'fix/emscripten-translate' of github.com:wasmerio/wasmer into feature/better-type-support
2019-02-01 13:13:12 -08:00
Lachlan Sneff
c0a17f73bf
Add wasm extern type trait
2019-02-01 13:10:59 -08:00
Syrus
9370588b86
Merge branch 'master' into fix/emscripten-translate
2019-01-31 14:00:00 -08:00
Brandon Fish
909af1250f
Convert em imports to imports! macro
2019-01-30 20:03:54 -06:00
Brandon Fish
cf325f7cd6
Fixup/comment out to get things compiling
2019-01-29 23:08:03 -06:00
Brandon Fish
30caeb0810
Merge branch 'master' into fix/emscripten-translate
2019-01-29 23:07:32 -06:00
Brandon Fish
9f206399de
Merge branch 'master' into feature/move-spectests-to-own-lib
2019-01-29 19:04:10 -06:00
Lachlan Sneff
388ac1c8ae
Merge branch 'master' into fix/update-debug-macro
2019-01-29 15:58:51 -08:00
Lachlan Sneff
69e9c5154d
Add Pages and Bytes newtypes
2019-01-29 15:44:15 -08:00
Brandon Fish
3d62fc88ca
Move spectests to their own library
2019-01-29 16:58:16 -06:00
Lachlan Sneff
bc78738bb7
renaming
2019-01-29 14:15:59 -08:00
Lachlan Sneff
581363119b
More review fixes
2019-01-29 13:04:42 -08:00
Lachlan Sneff
767fdbd950
Fix some reviewed items
2019-01-29 12:49:51 -08:00
Lachlan Sneff
d73c7015fb
Change memory api a little
2019-01-29 12:12:37 -08:00
Lachlan Sneff
951daddca2
allow clippy lint aligned pointers
2019-01-29 10:31:44 -08:00
Lachlan Sneff
5aa7d71ede
Merge branch 'master' into feature/improve-importing
2019-01-29 10:28:18 -08:00
Lachlan Sneff
19242a413f
Get table imports working
2019-01-29 10:16:39 -08:00
Brandon Fish
948e685dd6
Consolidate to single debug macro, activate using feature
2019-01-28 20:06:57 -06:00
Lachlan Sneff
98305c8731
Add new global import api
2019-01-28 11:55:44 -08:00
Lachlan Sneff
1be20b19e7
Add unused global type
2019-01-28 11:02:53 -08:00
Lachlan Sneff
9b491ec95d
Fix memory api to be sound
2019-01-28 10:59:05 -08:00
Brandon Fish
2245c920ed
Merge branch 'master' into fix/emscripten-translate
2019-01-27 13:21:44 -06:00
Christopher Serr
d71ee5ad13
Import u64 correctly
2019-01-26 08:47:09 +01:00
Lachlan Sneff
a58f3318f0
Modify imports macro to work with all things that are exports
2019-01-25 16:40:07 -08:00
Lachlan Sneff
e4686e67c4
Add importable memories and dynamic memories
2019-01-25 15:28:54 -08:00
Syrus
29a3af11fc
Updated lib crate versions
2019-01-25 10:38:31 -08:00
Syrus
762405f6e9
Merge branch 'master' into fix/emscripten-translate
...
# Conflicts:
# Cargo.lock
2019-01-24 14:05:44 -08:00
Syrus
87d02d8399
Updated runtime and runtime-core versions
2019-01-24 13:45:25 -08:00
Lachlan Sneff
a20627964c
Improve runtime docs and add readme ( #118 )
...
* Add crate-level documentation
* add runtime readme
* Fix lint
2019-01-24 10:51:20 -08:00
Lachlan Sneff
e5c86e00ff
Remove use of debug macro ( #117 )
2019-01-24 09:46:28 -08:00
Brandon Fish
99bc454c5b
Add EmscriptenData to instance and update usages
2019-01-23 23:49:34 -06:00
Brandon Fish
82e7ab6394
Merge branch 'master' into fix/emscripten-translate
2019-01-23 22:57:00 -06:00
Brandon Fish
5ee24d7817
Revert more visibility changes
2019-01-23 22:38:43 -06:00
Brandon Fish
8266386119
Add instance.ctx() to make inner private again
2019-01-23 22:27:33 -06:00
Syrus
2973a32502
Updated cargo
2019-01-23 16:59:37 -08:00
Lachlan Sneff
ab25125bba
Change error discriminant name
2019-01-23 16:51:34 -08:00
Lachlan Sneff
c06bd15bff
Change Ctx::memory to Ctx::memory_mut and add Ctx::memory
2019-01-23 16:06:42 -08:00
Lachlan Sneff
0aa1687ca3
Add context and context_mut methods to Instance
2019-01-23 15:58:28 -08:00
Lachlan Sneff
147b214965
Fix doc tests
2019-01-23 15:36:13 -08:00
Lachlan Sneff
bc2e527bb2
Add func method to Instance
2019-01-23 15:30:35 -08:00
Steve Akinyemi
8661a0096e
Add getting main arguments
2019-01-23 22:29:51 +01:00
Lachlan Sneff
ab65477d1f
Refine the runtime api and document the exposed items ( #115 )
...
* private module, remove unused method, docs on compile_with
* refine runtime api and document exposed items
* Fix integration test build
* Fix lint
2019-01-23 12:34:15 -08:00
Syrus
c2036c9695
Added memory to emscripten env
2019-01-23 12:25:56 -08:00
Lachlan Sneff
7632beced8
Add generic range bounds to mmap ( #110 )
2019-01-23 09:37:56 -08:00
Brandon Fish
157183d212
Update to new runtime
2019-01-23 01:27:13 -06:00
Syrus
88eb1d39a5
Improved Cargo congif
...
# Conflicts:
# lib/clif-backend/Cargo.toml
2019-01-22 15:34:52 -08:00
Syrus
453801b5ff
Added VERSION var to all the lib crates
2019-01-22 15:34:29 -08:00
Lachlan Sneff
38b0fbf3c5
Generate trampolines to call exported functions instead of using libffi ( #108 )
...
* remove codegen.rs
* Add export trampolines and remove libffi
* Remove unused extern crates
2019-01-22 15:00:27 -08:00
Brandon Fish
74875ed554
Library restructure ( #104 )
...
* Move wasmer-runtime to wasmer-runtime-core
* Add the runtime library
* Fix issue with macros using wasmer_runtime, fmt
* Make default compiler dependency optional
* Add instantiate and validate functions
2019-01-22 11:02:06 -08:00