Commit Graph

975 Commits

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