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