Commit Graph

308 Commits

Author SHA1 Message Date
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