Commit Graph

1144 Commits

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