Syrus
e68f5e10e4
Improved emscripten functions to be able to run jsc
2019-04-30 11:47:03 -07:00
bors[bot]
82cf572245
Merge #404 #406
...
404: Update to newer common wasmparser version r=xmclark a=bjfish
- versions should match to have matching types in a common parser
- the `0.29.2` version matches the current parser version of cranelift-wasm
406: Cleanup some clippy warnings r=xmclark a=bjfish
Cleaned up some
- long literal lacking separators
- unneeded return
Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-04-30 15:37:12 +00:00
losfair
21dd01c3aa
Fix LLVM backend compilation and segfaults.
2019-04-30 15:52:43 +08:00
Brandon Fish
01ba789eed
Cleanup some long literal lacking separators
2019-04-29 23:49:00 -05:00
Brandon Fish
8acf9edf67
Remove unneeded returns
2019-04-29 23:45:38 -05:00
Brandon Fish
da807ed2a1
Remove unused imports
2019-04-29 23:40:16 -05:00
Brandon Fish
a127b770b3
Update to newer common wasmparser version
2019-04-29 23:34:48 -05:00
Mark McCaskey
d020ffd759
update version to 0.4.0
2019-04-29 13:26:51 -07:00
Brandon Fish
53bebf9c73
Add initial progress to add LLVM to module refactor
2019-04-29 00:13:34 -05:00
losfair
305e1801ff
Fix incomplete data section
2019-04-28 15:38:18 +08:00
losfair
46fb72af9d
Add missing .rev()
on parameter list and simulate "red zone".
2019-04-28 13:31:22 +08:00
losfair
e63d7fd531
Merge
2019-04-28 12:58:27 +08:00
losfair
480308c62c
Cargo fmt
2019-04-28 12:54:45 +08:00
losfair
cf83a9785f
Print call trace to stderr.
2019-04-28 12:51:51 +08:00
losfair
6beb76c3ae
Various cleanups.
2019-04-28 12:48:01 +08:00
Syrus
a4170d4495
Improved fault debugging with emscripten
2019-04-27 12:53:13 -07: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
Syrus Akbary
a6b8c1b0fa
Fix debug issue
2019-04-26 17:40:55 -07:00
Mark McCaskey
655188a788
Fix WASI FS abstraction for Windows
2019-04-26 13:17:36 -07:00
Syrus Akbary
1ed4142333
Merge branch 'master' into feature/cleanup-imports-unsafe
2019-04-25 16:00:27 -07:00
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
bors[bot]
77f8186507
Merge #321
...
321: Update to Cranelift 0.3.0 r=bjfish a=bjfish
Some API changes were addressed:
- `ModuleEnvironment` many trait methods removed: 459f6ddb26 (diff-0682a088315ee358a75d4b60bc72dafc)
- `declare_table_elements` parameter type changed: 64ea964bc0
- `UnreachableCodeReached` trap code added: 1c43ad771e
- `declare_signature` signature updated: 8a24539e0c
- `define_function_body` parameter added: 37dffdaea1
- `target_lexicon` dependency updated to version `0.3.0`
Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
Co-authored-by: Brandon Fish <bjfish@users.noreply.github.com>
2019-04-04 17:10:51 +00:00
Mark McCaskey
9e601c42f9
change func_index offset by number of imported funcs
2019-04-04 09:29:30 -07:00
Brandon Fish
7b37148857
Merge branch 'master' into feature/update-to-cranelift-0-3-0
2019-04-04 10:06:11 -05:00
Mark McCaskey
03b529d3d1
Merge branch 'master' into add-validate
2019-04-03 21:35:23 -07:00
losfair
b46107762e
Imports.
2019-04-04 11:19:38 +08:00
losfair
07eac13ee3
Align stack to 16 bytes and implement i32 stores.
2019-04-04 10:50:48 +08:00
losfair
a43f8ea0b1
Memory operations.
2019-04-04 09:38:22 +08: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
Mackenzie Clark
26863222e8
Merge remote-tracking branch 'origin/feature/wasi' into feature/wasi
2019-04-03 17:13:57 -07:00
Mackenzie Clark
207bd01400
rename to destructor
2019-04-03 17:13:50 -07:00
Mark McCaskey
c1c99dbff1
rename fs and fix (probable) bug in renumber syscall
2019-04-03 17:01:02 -07:00
Mackenzie Clark
3b34ea6211
Merge remote-tracking branch 'origin/feature/wasi' into feature/wasi
2019-04-03 16:50:27 -07:00
Mackenzie Clark
e9e7a33317
fix warnings and let it build on windows
2019-04-03 16:50:15 -07:00
Mark McCaskey
10696c4849
clean up platform-specific syscall code
2019-04-03 16:21:26 -07:00
Mark McCaskey
d04d1bf2a9
improve debug statements for arg syscalls
2019-04-03 14:59:24 -07:00
Mark McCaskey
7d728fc4cc
implement path_filestat_get
2019-04-03 12:48:27 -07:00
Mark McCaskey
b80dd072a1
implement happy path of fd_open
2019-04-03 11:56:45 -07:00
Brandon Fish
212e2dbfa6
Merge branch 'master' into feature/update-to-cranelift-0-3-0
2019-04-03 13:35:50 -05:00
Syrus Akbary
7ff51c3b9e
Update lib/clif-backend/src/module.rs
...
Remove unnecessary `<'a>` from Converter
Co-Authored-By: bjfish <bjfish@users.noreply.github.com>
2019-04-03 13:35:36 -05:00
losfair
4c39cb482f
Cleanup calling & implement I64ExtendSI32.
2019-04-03 22:49:26 +08:00
Brandon Fish
5627f80548
Update to Cranelift 0.3.0
2019-04-03 00:13:40 -05:00
Brandon Fish
1ff6ed6d1b
Add Export and GlobalDescriptor to Runtime API
2019-04-02 22:10:49 -05:00
Mark McCaskey
f70b75e552
kind of implement fd_pwrite
2019-04-02 16:35:05 -07:00
Mark McCaskey
ce4676d469
implement fd_renumber
2019-04-02 16:26:54 -07:00
Mark McCaskey
dd7cfac505
implement fd_tell
2019-04-02 16:23:33 -07:00
Mark McCaskey
7d07b6f0b4
impl fd_seek
2019-04-02 16:16:06 -07:00
Mark McCaskey
37371eba6e
implement most of fd_filestat_set_times
2019-04-02 16:01:39 -07:00
Mark McCaskey
697bdc7d46
add rights checking fn for future-proofing reasons
2019-04-02 15:51:49 -07:00
Mark McCaskey
fe4195fff6
impl set_flags on fd
2019-04-02 15:45:12 -07:00
Mark McCaskey
e180fd1d1a
add set_rights syscall
2019-04-02 15:40:46 -07:00
Mark McCaskey
2de5a5da2b
implement datasync
2019-04-02 15:29:32 -07:00
Mark McCaskey
e61c03a176
impl fd_read (untested)
2019-04-02 15:14:19 -07:00
Mark McCaskey
0b9fc5ab45
add null termination to args for wasi
2019-04-02 14:13:03 -07:00
Mark McCaskey
a4547e36e2
update cursor in file when writing to it
2019-04-02 12:11:05 -07:00
Mark McCaskey
04a80739e1
Merge branch 'feature/wasi' of github.com:wasmerio/wasmer into feature/wasi
2019-04-02 12:06:51 -07:00
Mark McCaskey
6278ced7fc
implement fd_write for files
2019-04-02 12:06:35 -07:00
Lachlan Sneff
3a6e2c9c37
Change tagged and untagged methods
2019-04-02 11:49:05 -07:00
Mark McCaskey
242f9f679d
add hacked together impl of write for stdout and stderr
2019-04-02 11:43:04 -07:00
Mark McCaskey
d421e91407
implement some of fd_prestat_get
2019-04-02 10:58:22 -07:00
Mark McCaskey
435629300b
get debug statements working; add some extra info
2019-04-02 10:22:45 -07:00
Mark McCaskey
6cec356a74
add debug lines to all wasi syscalls
2019-04-02 09:47:45 -07:00
losfair
b74d8bc521
Optimize locals.
2019-04-02 20:50:56 +08:00
losfair
4d6bbed905
Optimize call.
2019-04-02 11:11:45 +08:00
Lachlan Sneff
287c81d7a5
Misc fixes
2019-04-01 17:50:53 -07:00
Lachlan Sneff
8bab9f1bea
init zbox first
2019-04-01 17:25:45 -07:00
Mark McCaskey
d164c7a93b
update wasi Cargo.toml
2019-04-01 17:21:48 -07:00
Mark McCaskey
84dc20af94
Merge branch 'feature/wasi' of github.com:wasmerio/wasmer into feature/wasi
2019-04-01 16:36:56 -07:00
Mark McCaskey
2dd7ec8b72
fix it up
2019-04-01 16:36:41 -07:00
Lachlan Sneff
92ec71974b
Add wasi_try macro
2019-04-01 16:34:18 -07:00
Lachlan Sneff
23b1d1dd6a
Merge branch 'feature/wasi' of github.com:wasmerio/wasmer into feature/wasi
2019-04-01 15:52:41 -07:00
Lachlan Sneff
ce35e5794f
Change ValueType trait and add basic fs
2019-04-01 15:52:35 -07:00
Mark McCaskey
61dd2e1df9
add more doc comments
2019-04-01 15:22:30 -07:00
Lachlan Sneff
c12c7d558c
Merge branch 'feature/wasi-fs' into feature/wasi
2019-04-01 15:17:13 -07:00
Lachlan Sneff
68f1123ad6
Add start of wasi fs
2019-04-01 15:15:20 -07:00
Mark McCaskey
5b6856df6b
add lots of doc comments
2019-04-01 14:04:58 -07:00
Mark McCaskey
7addd920df
add more stubs for fs calls
2019-04-01 12:11:11 -07:00
Mark McCaskey
4108c8ff58
Merge pull request #307 from wasmerio/feature/wasi-cross-platform-skeleton
...
Feature/wasi cross platform skeleton
2019-04-01 10:45:26 -07:00
losfair
84e5a0c8eb
Call
2019-04-02 01:16:37 +08:00
losfair
1179b8a20f
Fix Operator::Br.
2019-04-02 00:17:52 +08:00
losfair
13c5446c55
Loop & bug fixes
2019-04-02 00:11:01 +08:00
losfair
d2e12084a0
64-bit operators & bug fixes.
2019-04-01 23:49:46 +08:00
losfair
cf680e2a13
Relax 64-bit immediates.
2019-04-01 20:56:32 +08:00
losfair
6762c2d586
More opcodes for codegen v2.
2019-04-01 20:33:33 +08:00
bors[bot]
593720dfc5
Merge #310
...
310: fix(llvm-lint) Clean up various warnings r=Hywan a=Hywan
These patches remove various warnings raised by `rustc`.
Only 2 warnings remain.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
Co-authored-by: Mackenzie Clark <mackenzie.a.z.c@gmail.com>
2019-04-01 10:18:56 +00:00
Mackenzie Clark
124563a556
Merge branch 'master' into fix-llvm-lints
2019-03-30 18:11:40 -07:00
Mackenzie Clark
ca41c6dd6b
Merge branch 'master' into fix-llvm-example
2019-03-30 18:10:20 -07:00
losfair
6ac81a3c84
Implement more instructions.
2019-03-31 00:44:02 +08:00
Mark McCaskey
e156ea2509
comment out write logic in linux fd_pread until design discussion
2019-03-29 17:02:58 -07:00
Mark McCaskey
5cee576b7b
add some syscall skeletons; context switching
2019-03-29 17:00:58 -07:00
Mark McCaskey
42e8523c0b
impl ValueType for fdstat_t
2019-03-29 15:49:42 -07:00
Mark McCaskey
147d71a32c
implement ValueType for prestat_t
2019-03-29 15:39:36 -07:00
Mark McCaskey
e7a5c01ef8
fix backward enumerate
2019-03-29 15:21:54 -07:00
Mark McCaskey
5dcb95dd7a
fix basic errors in linux impl
2019-03-29 15:17:42 -07:00
Mark McCaskey
35fbf573c9
add pread on linux
2019-03-29 15:10:46 -07:00
Mark McCaskey
accbe52dd6
add more stubs for pthreading, exceptions, and some invokes
2019-03-29 13:42:13 -07:00
Mark McCaskey
88212d356f
implement random_get()
2019-03-29 13:06:06 -07:00
Mark McCaskey
28d9d1fe87
move linux impl to unix (it works on osx too!)
2019-03-29 12:39:48 -07:00
Mark McCaskey
1f8b90b57e
probably actually fix linux for real though
2019-03-29 12:33:32 -07:00
Mark McCaskey
de241a03f9
fix linux impl bugs
2019-03-29 11:43:32 -07:00
Mark McCaskey
48d34d9522
improve calling of platform-specific code and impl linux clock calls
2019-03-29 11:38:48 -07:00
Lachlan Sneff
48b5918895
Merge branch 'master' into feature/wasi-fs
2019-03-29 11:09:04 -07:00
Mark McCaskey
23c09ac042
add imports
2019-03-29 11:04:38 -07:00
Lachlan Sneff
b1030d3181
Add prestat_t
2019-03-29 11:03:21 -07:00
Mark McCaskey
d10d0285ac
Merge branch 'feature/wasi' into feature/wasi-cross-platform-skeleton
2019-03-29 10:43:30 -07:00
Mark McCaskey
ea27effdb3
keeep top level wasi calls that call out to platform-specific impls
2019-03-29 10:20:08 -07:00
bors[bot]
c6a597f3a2
Merge #311
...
311: doc(lib) Add basic `README.md` r=Hywan a=Hywan
This patch adds very basic `README.md`. They must obviously be completed, but it's better than nothing!
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-03-29 15:56:14 +00:00
Ivan Enderlin
1c063090c5
doc(runtime-c-api) Add short module descriptions.
2019-03-29 16:35:35 +01:00
Ivan Enderlin
8ee0f16c8a
fix(runtime-c-api) Remove last warnings.
2019-03-29 15:56:08 +01:00
Ivan Enderlin
849af62911
feat(runtime-c-api) Finish to extract last pieces of code.
2019-03-29 15:52:41 +01:00
Ivan Enderlin
361ff81db7
feat(runtime-c-api) Extract the import
module.
2019-03-29 15:50:16 +01:00
Ivan Enderlin
9c4696eb5b
feat(runtime-c-api) Extract the export
module.
2019-03-29 15:38:12 +01:00
Ivan Enderlin
f46be814da
feat(runtime-c-api) Extract the instance
module.
2019-03-29 15:14:05 +01:00
Ivan Enderlin
d06d6b7ac8
feat(runtime-c-api) Extract the global
module.
2019-03-29 15:05:17 +01:00
Ivan Enderlin
8bdb458ea7
feat(runtime-c-api) Extract the table
module.
2019-03-29 15:02:50 +01:00
Ivan Enderlin
4239975240
feat(runtime-c-api) Move wasmer_validate
into the module
module.
2019-03-29 14:59:02 +01:00
Ivan Enderlin
55c010688c
feat(runtime-c-api) Extract the memory
module.
2019-03-29 14:57:08 +01:00
Ivan Enderlin
168aa8031f
feat(runtime-c-api) Extract the module
module.
2019-03-29 14:51:35 +01:00
Ivan Enderlin
96324977b5
feat(runtime-c-api) Extract the error
module.
2019-03-29 14:41:39 +01:00
Ivan Enderlin
49c01f6093
feat(runtime-c-api) Extract the value
module.
2019-03-29 14:40:26 +01:00
Ivan Enderlin
316cbc54ab
doc(lib) Add basic README.md
.
2019-03-29 10:17:24 +01:00
Ivan Enderlin
8179dd6f96
fix(llvm-backend) Remove sign_type
from generate_trampoline
.
2019-03-29 10:09:56 +01:00
Ivan Enderlin
34b4f2fb11
fix(llvm-backend) Mark some variables as unused.
2019-03-29 10:09:39 +01:00
Ivan Enderlin
5cd45cbc28
fix(llvm-backend) Mark a variable as unused.
2019-03-29 10:09:10 +01:00
Ivan Enderlin
b03980f8c9
fix(llvm-backend) Remove unused variables or functions.
2019-03-29 10:08:43 +01:00
Ivan Enderlin
76d26d97ac
fix(llvm-backend) Remove Intrinsics.ctx_ty
, CtxType.ctx_ty, and
.ctx_ptr_ty`.
2019-03-29 10:07:38 +01:00
Ivan Enderlin
7645a812d9
fix(llvm-backend) Remove unused variables.
2019-03-29 10:07:08 +01:00
Ivan Enderlin
00e4b25111
fix(llvm-backend) No need to enumerate items in this iterator.
2019-03-29 10:06:31 +01:00
Ivan Enderlin
20378de0e7
fix(llvm-backend) llvm_sig
variable is not used here.
2019-03-29 10:06:11 +01:00
Ivan Enderlin
e3f39fc127
fix(llvm-backend) parse_function
doesn't need a Module
.
2019-03-29 10:05:39 +01:00
Ivan Enderlin
dea4705dcb
fix(llvm-backend) LLVMBackend::new
doesn't use instrinsics yet.
2019-03-29 10:04:56 +01:00
Ivan Enderlin
91f40639b7
fix(llvm-back) Mark WasmTrapType
as deadcode.
...
This enum is not used directly by Rust, but used externally.
2019-03-29 10:04:09 +01:00
Ivan Enderlin
a1ca7069af
fix(llvm-backend) Remove unused imports.
2019-03-29 10:03:40 +01:00
Ivan Enderlin
ddf532ddb5
fix(llvm-backend) Remove an example.rs
file.
2019-03-29 09:43:21 +01:00
Lachlan Sneff
d9b89b46ee
Fix bug in deref of WasmPtr<T, Array>
2019-03-28 22:22:46 -07:00
Lachlan Sneff
90db12e59a
Finish up signatures and converting function types
2019-03-28 22:10:11 -07:00
losfair
0f26ee40de
Codegen v2.
2019-03-29 12:06:47 +08:00
losfair
a2f86c3c52
Improve machine state abstraction.
2019-03-29 12:06:28 +08:00
Mark McCaskey
bd09343fca
add structure for cross-platform wasi syscall implementations
2019-03-28 17:09:39 -07:00
Lachlan Sneff
c45de2207e
Add helper types and half-ish of the wasi signatures
2019-03-28 17:00:10 -07:00
Mark McCaskey
aed9d3b9b7
remove __wasi_ prefix
2019-03-28 15:17:52 -07:00
bors[bot]
79133e59e5
Merge #303
...
303: Add all wasi types r=lachlansneff a=lachlansneff
This adds all wasi types.
Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
2019-03-28 21:59:28 +00:00
Lachlan Sneff
bde6bdfd3a
Add all wasi types
2019-03-28 14:33:15 -07:00
Mark McCaskey
21304cb700
Merge branch 'feature/wasi' into feature/hook-up-wasi-to-wasmer
2019-03-28 14:19:17 -07:00
Mark McCaskey
5c12fd0b49
fix test
2019-03-28 13:55:38 -07:00
Mark McCaskey
a69fdfef38
implement wasi check
2019-03-28 13:46:30 -07:00
Lachlan Sneff
256253a1d5
Fix clippy lint
2019-03-28 13:10:22 -07:00
Mackenzie Clark
a203675469
lint
2019-03-28 13:01:02 -07:00
Lachlan Sneff
dbc4176964
Add env and args syscalls
2019-03-28 12:56:11 -07:00
Mackenzie Clark
d9c693a31c
make file like implement the std::io traits instead and wrap zbox file
2019-03-28 12:50:37 -07:00
Mark McCaskey
bc863fcf0c
hook up wasi to wasmer
2019-03-28 12:19:23 -07:00
Lachlan Sneff
94674e9d80
Add wasi state
2019-03-28 12:18:05 -07:00
Lachlan Sneff
c045da3de6
Merge branch 'feature/wasi' of github.com:wasmerio/wasmer into feature/wasi
2019-03-28 11:57:07 -07:00
Lachlan Sneff
7b0992e44f
Instance now pulls state from the ImportObject
2019-03-28 11:56:31 -07:00
Mackenzie Clark
09642c92db
revert changes to emscripten
2019-03-28 11:55:01 -07:00
Mark McCaskey
b7254ce1f5
add stubs and dispatch
2019-03-28 11:54:22 -07:00
Lachlan Sneff
e3a6b7c9d8
Add skeleton for wasi abi
2019-03-28 11:44: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
Lachlan Sneff
be08154670
Add wasi crate
2019-03-28 11:23:08 -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
a0e20667b5
add small fix
2019-03-28 10:08:41 -07:00
Mark McCaskey
764ec96ad1
fix compilation error
2019-03-28 09:20:54 -07:00
losfair
e21def188e
Machine state.
2019-03-28 10:17:06 +08:00
losfair
eaa161fcb4
More operations.
2019-03-28 09:03:36 +08:00
Mackenzie Clark
d8347a3d40
Merge branch 'master' into feature/vfs
2019-03-27 17:31:56 -07:00
Mackenzie Clark
9619019baf
fix compiler errors for debug build
2019-03-27 17:23:07 -07:00
Mackenzie Clark
423f154177
fix typo
2019-03-27 16:55:21 -07:00
Mackenzie Clark
c9613bdcea
add compiler error instead
2019-03-27 16:55:12 -07:00
Mackenzie Clark
b6eb830bf4
Revert "impl From for EmscriptenVfsError"
...
This reverts commit 18eae44577
.
2019-03-27 16:55:00 -07:00
Mackenzie Clark
18eae44577
impl From for EmscriptenVfsError
2019-03-27 16:14:29 -07:00
Mackenzie Clark
074013648e
build on windows
2019-03-27 16:07:59 -07:00
bors[bot]
ba4b309d56
Merge #295
...
295: generate null funcs r=syrusakbary a=xmclark
This PR automates adding the `nullfunc` imports. A new macro is added to help working with namespaces. All functions in the env namespace that start with `nullFunc_` will be added to the import object. This is easy because *all* null funcs have the same expected signature.
Co-authored-by: Mackenzie Clark <mackenzie.a.z.c@gmail.com>
2019-03-27 21:56:57 +00:00
Mark McCaskey
580a153821
fix lint errors
2019-03-27 14:30:57 -07:00
Mark McCaskey
c51d44578d
simplify borrowing inference of compiler config in llvm backend
2019-03-27 14:25:29 -07:00
Mark McCaskey
51c2111d53
pass compiler_config along to other backends
2019-03-27 14:18:34 -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
931008b5bd
Merge branch 'master' into feature/vfs
2019-03-27 09:21:42 -07:00
Mackenzie Clark
cd119fc861
make string multi-line
2019-03-27 08:36:53 -07:00
Mackenzie Clark
8b861d01db
rename null func
2019-03-27 08:36:41 -07:00
bors[bot]
f249d3af77
Merge #296
...
296: feat(runtime-c-api) Implement the `wasmer_export_to_memory` function r=Hywan a=Hywan
This new function returns a `wasmer_memory_t` from a `wasmer_export_t`. It allows to use the `wasmer_memory_*` API over the exported memories from a Wasm instance.
See `tests/assets/return_hello.rs` and `tests/test-exported-memory.c` for an end-to-end example.
This PR also moves all `tests/.wasm` files into `tests/assets/`. I've added the source of `return_hello.wasm` to be exhaustive and to serve as a documentation.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-03-27 15:09:17 +00:00
Ivan Enderlin
a59ce13810
chore(runtime-c-api) Build the C and C++ headers.
2019-03-27 10:50:40 +01:00
Ivan Enderlin
4d0312f0ed
test(runtime-c-api) New test suite for wasmer_export_to_memory
.
2019-03-27 10:49:28 +01:00
Ivan Enderlin
6fca475564
feat(runtime-c-api) Implement the wasmer_export_to_memory
function.
...
This new function returns a `wasmer_memory_t` from a
`wasmer_export_t`.
2019-03-27 10:44:47 +01:00
Ivan Enderlin
5661540097
chore(runtime-c-api) Move .wasm
files into the assets
directory.
2019-03-27 09:42:56 +01: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
0435d6149a
Merge branch 'master' into feature/generate-nullfuncs
2019-03-26 19:04:41 -07:00
Mackenzie Clark
3d3ce27cdb
cargo fmt
2019-03-26 19:00:39 -07:00
Mackenzie Clark
ead5600abb
fix warnings
2019-03-26 19:00:09 -07:00
Mackenzie Clark
e701bdb811
remove the nullfunc functions
2019-03-26 19:00:03 -07:00
Mackenzie Clark
0533a4eef6
dynamically import null funcs (all with the same signature)
2019-03-26 18:59:39 -07:00
Mark McCaskey
f9a29445ca
fix instatiate calli n c-api
2019-03-26 17:00:51 -07:00
Mackenzie Clark
9c599f1226
Merge branch 'master' into feature/vfs
2019-03-26 17:00:40 -07:00
Mark McCaskey
a0809dedbf
change formatting to match syscalls
2019-03-26 16:57:58 -07:00
Mark McCaskey
c7407ca7ab
Merge branch 'master' into feature/add-support-for-symbol-maps
2019-03-26 16:42:56 -07:00
Mark McCaskey
9c58bed344
add support for symbol maps
2019-03-26 16:41:40 -07:00
Mark McCaskey
49db149224
fix arg passing to getcwd syscall
2019-03-26 14:37:47 -07:00
Mark McCaskey
d2818b1ffa
fix alignment check on pointer
2019-03-26 09:56:23 -07:00
losfair
d9b2a2309d
Emitter API.
2019-03-27 00:23:10 +08:00
Mackenzie Clark
5bb82379ba
add windows functions that were missed
2019-03-25 20:42:48 -07:00
Mackenzie Clark
16c9bb2160
cargo fmt
2019-03-25 20:18:33 -07:00
Mackenzie Clark
60685d1d0a
Merge branch 'master' into feature/vfs
2019-03-25 20:17:57 -07:00
Mackenzie Clark
7c9e537443
refactor everything
2019-03-25 19:44:12 -07:00
Mark McCaskey
43a8a00d79
change getpwuid to just return 0
2019-03-25 16:59:23 -07:00
Mark McCaskey
abafbbdbb2
fix pointer casting lint
2019-03-25 16:25:39 -07:00
Mark McCaskey
93432bdb12
Make reading database files work too!
2019-03-25 16:13:41 -07:00
Mark McCaskey
3500d5a7c7
add more functions for sqlite compiled from config src
2019-03-25 13:09:23 -07:00
Mark McCaskey
2969989ecd
sort imports
2019-03-25 12:39:57 -07:00
Mark McCaskey
4f98da710d
add more; get it working
2019-03-25 11:58:44 -07:00
Mark McCaskey
f66b024390
Merge branch 'master' into feature/add-syscalls-for-sqlite3
2019-03-25 11:14:01 -07:00
Mark McCaskey
1ce29e788f
add syscalls for sqlite3
2019-03-25 11:12:34 -07:00
Mark McCaskey
d825746245
Merge branch 'feature/add-syscalls-for-php' of github.com:wasmerio/wasmer into feature/add-syscalls-for-php
2019-03-25 10:45:19 -07:00
Mark McCaskey
de0dedc78d
relocate io stubs and add windows syscall stubs
2019-03-25 10:45:02 -07:00
Mark McCaskey
4210bcd822
Merge branch 'master' into feature/add-syscalls-for-php
2019-03-25 10:17:18 -07:00
Mark McCaskey
e56dfe70c7
rm REVIEW comments
2019-03-25 10:16:43 -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
Mackenzie Clark
12b53a48ad
fix tests
2019-03-24 17:54:52 -07:00
Mackenzie Clark
e59e57d8a5
lint
2019-03-24 17:35:37 -07:00
Mackenzie Clark
0666a5375b
add missing hashbrown dependency for dynasm
2019-03-24 17:30:10 -07:00
Mark McCaskey
225b82ae78
change behavior of extend to overwrite on conflict
2019-03-24 17:16:05 -07:00
Mackenzie Clark
0091264b65
get it building with zbox fork
2019-03-24 16:38:45 -07:00
Mackenzie Clark
e986ec13fa
shrink select
2019-03-23 16:19:36 -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
Mackenzie Clark
e75a23602a
wip
2019-03-22 16:57:29 -07:00
Mackenzie Clark
b7c5f27b37
this commit makes the whole thing work
2019-03-22 15:35:38 -07:00
Mackenzie Clark
eedb6b9d72
writev
2019-03-22 11:19:06 -07:00
Mark McCaskey
c522c6d1e3
fix bugs; add checks and lint exceptions for alignment casting
2019-03-22 10:30:35 -07:00
Mackenzie Clark
0c004c9290
move select into separate file
2019-03-22 10:18:03 -07:00
Syrus Akbary
bf3af660fd
Added dynasm-backend to the libraries README
2019-03-21 21:12:01 -07:00
Mackenzie Clark
33942d2fc9
partially works
2019-03-21 18:05:03 -07:00
Mark McCaskey
99f76925a8
fmt
2019-03-21 17:20:13 -07:00
Mark McCaskey
b9e7449f64
add functions for php cli
2019-03-21 17:18:25 -07:00
Mackenzie Clark
7c4b0d3b23
wip
2019-03-21 16:18:11 -07:00
Mackenzie Clark
3e728acdc0
reads working
2019-03-21 14:28:12 -07:00
Mackenzie Clark
65c4c12942
optimize mroe
2019-03-21 12:22:18 -07:00
Mackenzie Clark
92e1fce83a
more organizing
2019-03-21 12:12:58 -07:00
Mackenzie Clark
825926f40a
more optimizing imports
2019-03-21 11:54:55 -07:00
Mackenzie Clark
59ed6a91d8
imports
2019-03-21 11:05:29 -07:00
Mackenzie Clark
d5f62b20aa
refactor some imports in host fs
2019-03-21 11:00:49 -07:00
Mackenzie Clark
4eb9d3344b
debug statements, move another fn into platform mod
2019-03-21 10:42:58 -07:00
Mackenzie Clark
630d4bde13
re-organize modules for syscalls, windows is in bad shape
2019-03-21 10:20:59 -07:00
Mackenzie Clark
9ed593d7b6
wip enchanced vfs
2019-03-21 08:55:57 -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
a4ee873eae
Merge remote-tracking branch 'origin/master' into feature/dynasm-backend
2019-03-21 08:42:34 +08:00
losfair
cb3846ff6a
Add InternalCtx
.
2019-03-21 08:39:06 +08:00
Mark McCaskey
c58a7e0c37
stub out/add the rest
2019-03-20 16:46:42 -07:00
Mark McCaskey
d13e4aa71f
clean up a bit
2019-03-20 15:24:05 -07:00
Mark McCaskey
42b122d639
add many emscripten functions for PHP
2019-03-20 15:13:00 -07:00
Mark McCaskey
76b4cc79e8
fix make debug-release
2019-03-20 10:27:07 -07:00
losfair
395161acdc
Merge remote-tracking branch 'origin/master' into feature/dynasm-backend
2019-03-20 19:54:29 +08:00
Lachlan Sneff
5657be1df0
Merge branch 'master' into add-versioning-to-cache
2019-03-19 16:22:55 -07:00
Mark McCaskey
cd9ef3c49a
fix bugs and clean up path logic
2019-03-19 11:31:45 -07: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
01f18b2f43
Merge remote-tracking branch 'origin/master' into feature/dynasm-backend
2019-03-20 01:57:40 +08:00
losfair
295efbf3a9
Fix clippy errors.
2019-03-20 01:52:00 +08:00
Ivan Enderlin
c0f4b6a87c
Merge branch 'master' into feat-runtime-c-api-cache
2019-03-19 16:35:32 +01:00
Ivan Enderlin
57a82fa5cf
fix(runtime-c-api) wasmer_serialized_module_from_bytes
accepts bytes + length instead of wasmer_byte_array
.
2019-03-19 16:24:59 +01:00
losfair
7ee364a58b
Cargo fmt.
2019-03-19 21:31:23 +08:00
losfair
4256ccba92
Cleanup & fix need_check condition.
2019-03-19 21:30:26 +08: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
Ivan Enderlin
44373aae94
feat(runtime-c-api) Mirrors the debug
and llvm
features.
...
`wasmer-runtime` has a `debug` and a `llvm` features. Let's mirror
them in `wasmer-runtime-c-api` so that the user can, for instance,
compile with the LLVM backend.
2019-03-19 11:12:19 +01:00
Ivan Enderlin
46edd20725
feat(runtime-c-api) Add the wasmer_serialized_module_from_bytes
function.
...
This function is required to transform a `wasmer_byte_array` into a
`wasmer_serialized_module_t`. This is the complementary function of
`wasmer_serialized_module_bytes`.
2019-03-19 10:51:43 +01:00
Ivan Enderlin
5e31a1b6d1
feat(runtime-c-api) Introduce the wasmer_serialized_module_t
struct type.
...
The `wasmer_module_serialize` function now computes a
`wasmer_serialized_module_t` value. The `wasmer_module_deserialize`
function takes this value as an input. Same for
`wasmer_serialized_module_destroy`.
The new function `wasmer_serialized_module_bytes` allows to read the
bytes inside the `wasmer_serialized_mdule_t` structure.
2019-03-19 10:04:31 +01: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
874b613f56
fmt it
2019-03-18 17:46:06 -07:00
Mark
2580871f63
update the binary too
2019-03-18 17:40:36 -07:00
Mark
a152b85729
Add versioning to cache
2019-03-18 17:27:23 -07:00
Ivan Enderlin
f049e9b0b3
fix(runtime-c-api) Remove explicity drop
.
...
When the value goes out-of-scope, `drop` is called utomatically.
2019-03-18 16:09:02 +01:00
Ivan Enderlin
6f04f1ad88
Merge branch 'feat-runtime-c-api-cache' of github.com:Hywan/wasmer into feat-runtime-c-api-cache
2019-03-18 16:05:59 +01:00
Ivan Enderlin
6605a02316
feat(runtime-c-api) Add the wasmer_module_serialization_destroy
function.
2019-03-18 16:05:04 +01:00
losfair
b06a49e1c0
Move wasmer-dynasm-backend out of default-compiler.
2019-03-18 16:22:57 +08:00
losfair
cd5c1456d7
Fix default compiler.
2019-03-18 16:15:48 +08:00
losfair
af8f307a92
Fix dependencies.
2019-03-18 16:14:11 +08:00
losfair
caa239a3df
Make wasmer-dynasm-backend optional.
2019-03-18 16:06:20 +08:00
losfair
c5694ec527
Fix lint errors.
2019-03-18 00:53:07 +08:00
losfair
e48ff027a6
Remove commented out code.
2019-03-18 00:52:16 +08:00
losfair
4ca27b68b0
Manually fix lint errors.
2019-03-18 00:48:50 +08:00
losfair
6c40ea1cb5
Cargo fmt more files.
2019-03-18 00:35:55 +08:00
losfair
99faa79869
Run cargo fmt.
2019-03-18 00:31:36 +08:00
losfair
fcfde7352a
Use R15 as temporary register.
2019-03-17 21:27:19 +08:00
losfair
08f4526b45
Merge remote-tracking branch 'origin/master' into feature/dynasm-backend
2019-03-17 21:14:01 +08:00
losfair
7394df2fd8
FIx floating point trunc's.
2019-03-17 19:54:20 +08:00
losfair
d8d39c309c
Fix warnings.
2019-03-17 10:54:50 +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
losfair
1f8c644855
Merge remote-tracking branch 'private/feature/dynasm-backend' into feature/dynasm-backend
2019-03-17 03:08:06 +08:00
losfair
81af8cfa9c
Fixed several bugs in the single-pass backend and implemented a runtime resolver that allows to call managed functions with System V cc.
2019-03-17 03:07:27 +08:00
Syrus
53a8fca4d5
Make wasmer executable work with dynasm
2019-03-16 11:52:11 -07:00
Ivan Enderlin
212591b908
Merge branch 'master' into feat-runtime-c-api-cache
2019-03-16 14:10:44 +01:00
Mackenzie Clark
c46ff0dcfc
Merge branch 'master' into fix/windows-warnings-cargo-build
2019-03-15 14:20:34 -07:00
Mackenzie Clark
14104c2c8b
fix lots of warnings
...
fix warnings
2019-03-15 14:10:17 -07:00
Ivan Enderlin
aac5c88b58
doc(runtime-c-api) Update the documentation of wasmer_module_deserialize
.
2019-03-15 12:18:52 +01:00
Ivan Enderlin
082c93ceba
chore(runtime-c-api) Fix a merging error.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
2368ce3a20
chore(runtime-c-api) Regenerate the wasmer.hh?
files.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
c8872f1a6f
test(runtime-c-api) Test the new wasmer_module_(de)?serialize
functions.
...
This test suite compiles a module, then serializes it, deserializes
it, and continues by creating an instance and calling a function on
it. It allows to test the entire roundtrip.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
f2760249b6
fix(runtime-c-api) Reorganize the tests by alphabetic order.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
c142e16d12
feat(runtime-c-api) Implement the wasmer_module_(de)?serialize
functions.
...
This patch implements 2 functions:
1. `wasmer_module_serialize`, and
2. `wasmer_module_deserialize`.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
f57f8bc0cb
fix(runtime-c-api) Use imported symbols.
...
`std::slice` is already imported. This patch then rewrites `::std::slice::` into `slice::`.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
92ff24f5a2
feat(runtime) Make default_compiler
public.
...
This is required to be able to deserialize a serialized module in
`runtime-c-api`.
2019-03-15 12:04:23 +01:00
Ivan Enderlin
2e45431876
Merge branch 'master' into fix-runtime-core-shared-memory-descriptor
2019-03-15 09:57:23 +01:00
Ivan Enderlin
61a203438a
feat(runtime-core) SharedMemory.desc
is not used… yet!
2019-03-15 09:09:24 +01:00
Mackenzie Clark
8fc2a13828
use the header
2019-03-14 13:34:52 -07:00
losfair
1b5ea9bece
Passes all assert_return(_*)
tests.
2019-03-15 01:10:31 +08:00
Ivan Enderlin
a98c1c87bf
Merge branch 'master' into feat-runtime-c-api-validate
2019-03-14 14:15:48 +01:00
Ivan Enderlin
5b98ee732c
feat(runtime-c-api) wasmer_validate
expects a *const uint8_t
.
...
This patch updates the first argument of `wasmer_validate` from `*mut
uint8_t` to `*const uint8_t`. Indeed, the
`wasmer-runtime-core::validate` function doesn't expect a mutable
slice, so it's not required to expect a mutable array from C.
Also, it's likely for the Wasm bytes to be stored in the
`wasmer_byte_array` structure. The first field `bytes` is defined as
`*const uint8_t`. So this patch avoids a cast when writing a C++
program.
2019-03-14 12:33:40 +01:00
losfair
1104073641
Implemented more floating point operations.
2019-03-14 19:10:22 +08:00
losfair
4d2b6a0efe
Add Copy + Clone for IfElseState
2019-03-14 17:11:48 +08:00
losfair
592c3fb938
Fixes and some floating point operations.
2019-03-14 17:11:35 +08:00
losfair
c76887d83c
Merge remote-tracking branch 'private/feature/dynasm-backend' into feature/dynasm-backend
2019-03-14 10:31:48 +08:00
losfair
d80ea47ffc
FIx bugs found with spectests.
2019-03-14 10:30:24 +08:00
Brandon Fish
e5d67c9705
Add dynasm feature to emscripten tests
2019-03-13 20:16:07 -05:00
losfair
179bbf9e41
Fix integer division.
2019-03-14 09:15:25 +08:00
Mackenzie Clark
93b602d8ea
use "wasmer:fs" for custom section name and add unbundled test wasm
2019-03-13 15:24:48 -07:00
Lachlan Sneff
3eaf5525d1
Add some better docs
2019-03-13 14:58:44 -07:00
Mackenzie Clark
d95b62a467
fix cargo toml and fmt
2019-03-13 14:27:00 -07:00
Mackenzie Clark
bd697487aa
Merge branch 'master' into feature/vfs
2019-03-13 14:25:14 -07:00
Mackenzie Clark
c1e0d325e3
switch to zbox
2019-03-13 14:23:55 -07:00
Lachlan Sneff
cd767bc1a7
Merge branch 'master' into fix/llvm-feature-flag
2019-03-13 12:22:21 -07:00
losfair
d4ded2cf07
Fix bugs found when running spectests.
2019-03-13 18:23:50 +08:00
Brandon Fish
68181acc74
Add dynasm to spectests
2019-03-12 21:14:50 -05:00
Brandon Fish
a5bab8cdf6
Updates to compile dynasm after merge from master
2019-03-12 20:59:10 -05:00
Brandon Fish
557be77338
Merge branch 'master' into feature/dynasm-backend
2019-03-12 20:58:22 -05:00
Brandon Fish
1fc7b31309
Add missing trait items to DynasmCompiler so that cargo build --all works
2019-03-12 19:39:10 -05:00
Mackenzie Clark
650125f338
fix build errors
2019-03-12 14:04:53 -07:00
Mackenzie Clark
9ff55a93ee
Merge branch 'master' into feature/vfs
2019-03-12 14:02:06 -07:00
Ivan Enderlin
20d1023abe
fix(emscripten) Various warning fixes and cleanups ( #266 )
...
* fix(emscripten) Remove unused imports.
This patch removes unused imports reported by `rustc` as warnings.
* fix(emscripten) Allow unreachable patterns in `_clock_gettime`.
The compiler thinks `CLOCK_MONOTONIC_COARSE` is unreachable, which is
not always the case. Add an attribute to allow unreachable patterns to
remove the warning.
* fix(emscripten) Rename unused variables.
This patch renames various unused variables by appending an underscore
to them.
* fix(emscripten) Declare `table` as immutable.
The `table` variable in `EmscriptenGlobals::new` was declared as
mutable, but it's never mutated.
* fix(emscripten) Remove an unnecessary `unsafe` block.
* fix(emscripten) Remove duplicate definition of `SO_NOSIGPIPE`.
The `SO_NOSIGPIPE` constant is defined in `syscalls/mod.rs` and
`syscalls/unix.rs`. It's never used in the first case. We can safely
remove it in this file, and keep it in `unix.rs`.
* fix(emscripten) `read_string_from_wasm` is used only on Windows.
Mark `read_string_from_wasm` as possible deadcode, since it's used
only on Windows.
* fix(emscripten) Remove `DYNAMICTOP_PTR_DIFF`, `stacktop`, `stack_max`,
`dynamic_base` and `dynamic_ptr`.
Four functions and one constant are used together but never used
inside or outside this file. They are deadcode.
* fix(emscripten) Remove `infinity` and `nan` fields of `EmscriptenGlobalsData`.
Those fields are never used.
* fix(emscripten) Allow non snake case in `emscripten_target.rs`.
Many functions in this file don't follow the snake case style for Rust
function names. The reason is that we want the names to match the
emscripten symbol names; even if a mapping is done in `lib.rs`, it's
easier to get the same names.
* fix(emscripten) Rename `STATIC_TOP` to `static_top`.
This variable is not a constant.
2019-03-12 14:00:33 -07:00
Mackenzie Clark
0c7808b1d3
reset a cargo manifests
2019-03-12 13:58:33 -07: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
b5697d854a
fix typos in vfs tests
2019-03-12 12:01:45 -07:00
Mackenzie Clark
f7f4fbf08a
add the feature flag for llvm backend
2019-03-12 11:59:50 -07:00
Mackenzie Clark
76531b4fcb
add readme for runtime abi
2019-03-12 10:57:47 -07:00
Mackenzie Clark
cc3f04efd7
expose vfs in emscripten and impl read
syscall, feature flag
2019-03-12 10:48:47 -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
Mackenzie Clark
f014a05304
create runtime abi crate and vfs implementation
2019-03-12 10:40:52 -07:00
bors[bot]
d304bb4238
Merge #263 #265
...
263: fix(runtime-core) Remove unused imports r=Hywan a=Hywan
This patch removes unused imports as reported by `rustc` as warnings.
265: fix(clif-backend) Remove unused imports r=Hywan a=Hywan
This patch removes unused imports reported by `rustc` as warnings.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-03-12 13:09:26 +00:00
Ivan Enderlin
2c8fc5238d
fix(clif-backend) Remove unused imports.
...
This patch removes unused imports reported by `rustc` as warnings.
2019-03-12 10:03:55 +01: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
Ivan Enderlin
5db05fd609
Merge branch 'master' into feat-runtime-c-api-instance-context-data
2019-03-12 09:02:05 +01:00
Ivan Enderlin
9bcd59a4c4
Merge branch 'feat-runtime-c-api-instance-context-data' of github.com:Hywan/wasmer into feat-runtime-c-api-instance-context-data
2019-03-12 09:00:54 +01:00
Ivan Enderlin
a390a28384
fix(runtime-c-api) Fix Clippy errors.
2019-03-12 08:58:22 +01:00
losfair
683cb2090c
Fix call_indirect.
2019-03-12 11:31:55 +08:00
Mackenzie Clark
033a2e71bd
fix compiler error on windows
2019-03-11 10:25:45 -07:00
Syrus Akbary
87fb082993
Merge branch 'master' into fix-runtime-c-api-test-imports
2019-03-11 10:09:15 -07:00
Syrus Akbary
7242149b46
Merge branch 'master' into feat-runtime-c-api-instance-context-data
2019-03-11 10:09:02 -07:00
Mackenzie Clark
9c2a141d6e
Merge branch 'master' into fix/llvm-feature-flag
2019-03-11 10:05:10 -07:00
Syrus
e591cd0607
Use wasmerio fork of inkwell
2019-03-11 10:03:40 -07:00
Mackenzie Clark
ee55cd5e64
create an llvm flag
2019-03-11 09:58:09 -07:00
Ivan Enderlin
675f6817ba
test(runtime-c-api) Free allocations.
...
Don't forget to free `context_data` :-).
2019-03-11 17:41:17 +01:00
Ivan Enderlin
170de02dd3
test(runtime-c-api) Test the wasmer_instance_context_data_*
functions.
2019-03-11 17:34:13 +01:00
Ivan Enderlin
a11d454130
feat(runtime-c-api) Add an API to update vm::Ctx.data
.
...
This patch adds 2 functions for the runtime C API, respectively
`wasmer_instance_context_data_set` and
`wasmer_instance_context_data_get`. The goal is to modify the
`vm::Ctx.data` field in the `runtime-core` library.
This is required to pass dynamic data to imported functions for
instance.
2019-03-11 16:50:18 +01:00
Ivan Enderlin
3fea07dc8a
fix(runtime-c-api) Fix the imports
length.
...
`imports` contains `func_import`, `global_import`, `memory_import` and
`table_import`, so 4 items. This patch updates the length of `imports`
when calling the `wasmer_instantiate` function.
2019-03-11 14:35:51 +01: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
losfair
25034ece07
Almost finished indirect calls.
2019-03-09 02:57:23 +08:00
losfair
3efccbe0f7
Support imported globals.
2019-03-09 00:38:13 +08:00
losfair
4c4743e7cd
Globals.
2019-03-09 00:32:18 +08:00
losfair
258dea64d8
Fix calling imports.
2019-03-09 00:07:13 +08:00
Ivan Enderlin
a4454ebae8
doc(readme) Fix a typo.
...
This patch fixes a typo in the C example.
2019-03-08 13:26:04 +01:00
Brandon Fish
dd3a6ad21b
Merge branch 'master' into feat-runtime-c-api-strict-c-cpp
2019-03-07 23:06:01 -06:00
Brandon Fish
628caf0a74
Make import_func_new/destroy not const
2019-03-07 22:59:11 -06:00
Syrus Akbary
60a74540d9
Update README.md
2019-03-07 20:39:58 -08:00
Syrus Akbary
b321ca339b
Update README.md
2019-03-07 20:39:44 -08:00
Syrus
4acb826bf2
Fixed default compiler on windows
2019-03-07 19:11:29 -08:00
Syrus
3a4325c5a3
Only use llvm in non windows envs
2019-03-07 18:26:29 -08:00
Syrus
671ff09e6a
Use LLVM 5 for Windows
2019-03-07 18:06:47 -08:00
Lachlan Sneff
679fdc14c2
Merge branch 'master' into feature/llvm-backend
2019-03-07 13:25:24 -08:00
Syrus Akbary
6570bd433d
Fixed import func to be mutable
2019-03-07 10:19:03 -08:00
losfair
12c213739a
Hack around calling imports. Not yet working.
2019-03-08 01:31:37 +08:00
Ivan Enderlin
7a9816ff12
feat(runtime-c-api) Ask rustc
to generate a static library.
...
This is required to correctly link to the embedded runtime.
2019-03-07 10:19:02 +01:00
Ivan Enderlin
1dfae80c65
test(runtime-c-api) Fix compilation errors in test-exports.c
.
2019-03-07 10:15:32 +01:00
Ivan Enderlin
725aff6fee
test(runtime-c-api) Fix a compilation error in test-instantiate.c
.
2019-03-07 10:15:32 +01:00
Ivan Enderlin
603f1fc57d
test(runtime-c-api) Fix compilation errors in test-import-function.c
.
2019-03-07 10:15:32 +01:00
Ivan Enderlin
2a0e42c1e5
test(runtime-c-api) Fix compilation errors in test-memory.c
.
2019-03-07 10:15:32 +01:00
Ivan Enderlin
dcb4032e9d
test(runtime-c-api) Fix compilation errors in test-imports.c
.
2019-03-07 10:15:32 +01:00
Ivan Enderlin
c658224f0c
test(runtime-c-api) Transforms all C/C++ warnings into errors.
...
This patch ensures that all our examples and tests do not generate
warnings. In C, it can be catastrophic sometimes…
Also, be sure that the `cmake` command doesn't emit any warnings too.
2019-03-07 10:15:32 +01:00
Brandon Fish
1957ddef53
Run emscripten tests with both compilers
2019-03-06 21:36:46 -06:00
Syrus Akbary
af9c26f4f9
Fixed links of wasmer runtime C api in crates.io and docs.rs
2019-03-06 18:22:16 -08:00
Syrus Akbary
49dc21363b
Merge pull request #242 from Hywan/doc-runtime-c-api
...
doc(runtime-c-api) Improve the `README.md`.
2019-03-06 17:28:02 -08:00
Lachlan Sneff
e3e91c628b
Merge branch 'master' into feature/llvm-backend
2019-03-06 13:47:15 -08:00
Mackenzie Clark
fd5916e493
Merge branch 'master' into feature/emscripten-for-bundling
2019-03-06 10:18:26 -08:00
Mackenzie Clark
b1739d93ec
remove leading underscores from execvp and exit
2019-03-06 10:18:00 -08:00
Ivan Enderlin
bedb05738b
Merge branch 'master' into doc-runtime-c-api
2019-03-06 18:50:49 +01:00
Ivan Enderlin
f5ce1e8b60
doc(runtime-c-api) Improve the README.md
.
...
This patch updates the `README.md` by adding badges, a Usage Section,
and a License Section. The Testing Section is slightly revamped.
2019-03-06 14:11:12 +01:00
Ivan Enderlin
d709191be1
doc(runtime-c-api) Declare the example as C, so that they are not tested.
...
Those examples contain C code. They must not be run by `rustdoc` as
tests.
2019-03-06 12:08:02 +01:00
Ivan Enderlin
76caebebb4
fix(runtime-c-api) Provide a link target.
...
When compiling `wasmer-runtime-c-api` as a dependency of another
crate, `rustc` emits this warning:
```
warning: The package `wasmer_runtime_c_api` provides no linkable
target. The compiler might raise an error while compiling
`foo`. Consider adding 'dylib' or 'rlib' to key `crate-type` in
`wasmer_runtime_c_api`'s Cargo.toml. This warning might turn into a
hard error in the future.
```
To solve this issue, the `rlib` type has been added to the
`crate-type` list.
2019-03-06 11:02:14 +01:00
Ivan Enderlin
0f74133be3
feat(runtime-c-api) Build: Copy the C header files from OUT_DIR
to CARGO_MANIFEST_DIR
.
...
This patch copies the generated C and C++ header files from the
`OUT_DIR` to the root of the crate.
2019-03-06 10:58:40 +01:00
Ivan Enderlin
f2997357fc
feat(runtime-c-api) Remove the flag WASM_EMSCRIPTEN_GENERATE_C_API_HEADERS
.
...
This patch removes the `WASM_EMSCRIPTEN_GENERATE_C_API_HEADERS`
flag. Consequently, the C header files will be generated for each
build.
The `generate-c-api-headers` feature is also removed, since it becomes useless.
2019-03-06 10:42:32 +01:00
Ivan Enderlin
7c56d893c2
feat(runtime-c-api) Generate the C header file in OUT_DIR
.
...
This patch changes the directory where the C header files are
generated, from `CARGO_MANIFEST_DIR` to `OUT_DIR`. The goal is: When
`wasm-runtime-c-api` is used as a dependency of another Rust project,
then the C header files are accessible in the `target/` directory
(i.e. the `OUT_DIR`).
Also, since `rustc` has a `--out-dir` directory, it increases the
flexibility of this approach: The user can generate the C header files
where she wants.
2019-03-06 10:42:06 +01:00
Brandon Fish
03909fe3c2
Run spectests with both compilers, activate using features
2019-03-06 00:15:07 -06:00
Lachlan Sneff
0e5d1172d6
Just install the signal handler once
2019-03-05 16:50:49 -08:00
Syrus Akbary
28bb264266
Merge pull request #232 from Hywan/fix-runtime-c-api-remove-warnings
...
fix(runtime-c-api) Fix several warnings
2019-03-05 16:38:14 -08:00
Lachlan Sneff
f36aade2e5
Fix broken test
2019-03-05 14:57:37 -08:00
Lachlan Sneff
48b36a3b01
Runs on linux and also hopefully ci
2019-03-05 14:54:44 -08:00
Lachlan Sneff
fa3ef2e88d
Remove .llvmenv
2019-03-05 13:34:22 -08:00
Lachlan Sneff
276e5125b5
Filter out -fno-exceptions from llvm-config --cxxflags
2019-03-05 13:23:26 -08:00
Lachlan Sneff
c86c910054
Add partiality to float truncation
2019-03-05 11:50:56 -08:00
losfair
27b2061ffd
Implemented missing integer operators and fixed division.
2019-03-06 01:16:24 +08:00
Ivan Enderlin
8ed340b6f1
fix(runtime-c-api) Update cbindgen
.
...
When requiring `wasmer-runtime-c-api`, I get the following conflicts:
```
error: failed to select a version for `serde_derive`.
... required by package `cbindgen v0.7.1`
... which is depended on by `wasmer-runtime-c-api v0.2.1`
... which is depended on by `foo v0.1.0 (/private/tmp/foo)`
versions that meet the requirements `= 1.0.58` are: 1.0.58
all possible versions conflict with previously selected packages.
previously selected package `serde_derive v1.0.89`
... which is depended on by `wasmer-runtime-core v0.2.1`
... which is depended on by `wasmer-runtime-c-api v0.2.1`
... which is depended on by `foo v0.1.0 (/private/tmp/foo)`
failed to select a version for `serde_derive` which could resolve this conflict
```
This issue resolves by updating `cbindgen` to 0.8.
2019-03-05 14:28:35 +01:00
Ivan Enderlin
25feef7384
chore(runtime-c-api) Regenerate the header files.
2019-03-05 10:07:08 +01:00
Ivan Enderlin
86c41264a3
chore(runtime-c-api) Fix CS.
2019-03-05 10:07:08 +01:00
Ivan Enderlin
59de57e075
fix(runtime-c-api) Fix Clippy notes.
...
This patch fixes warnings raised by Clippy.
2019-03-05 10:07:08 +01:00
Ivan Enderlin
053e5c40f4
fix(runtime-c-api) Avoid mutable bindings as much as possible.
...
This patch cleans several warnings where mutable bindings are declared
but used only as immutable bindings.
It's a little bit opinionated patch. I think it's interesting to use
`const` pointers as much as possible.
2019-03-05 10:07:08 +01:00
Ivan Enderlin
5ace3cfa2b
fix(runtime-c-api) Remove unsafe blocks inside unsafe function.
...
This patch removes `unsafe { … }` blocks inside `unsafe` functions.
This patch also removes some warnings about camel case. All structures
with a C representation are automatically not mangle, and allow non
camel case.
2019-03-05 10:07:08 +01:00
Lachlan Sneff
f2b927bcd8
Remove debug print
2019-03-04 20:00:56 -08:00
Lachlan Sneff
fe8f8a0132
Add illegal arithmetic runtime error
2019-03-04 19:56:02 -08:00
Lachlan Sneff
3be7144892
Some cleanup
2019-03-04 17:37:05 -08:00
Lachlan Sneff
2969409ca7
Add hacky reinterpret instructions and pop used arguments off the value stack
2019-03-04 16:44:46 -08:00
Lachlan Sneff
25c0cef5f7
Up to 1242 passing spectests
2019-03-04 15:51:45 -08:00
Lachlan Sneff
7ef2c0dece
Fix execute after free issue with llvm (and presumably cranelift?)
2019-03-04 14:41:56 -08:00
Mackenzie Clark
84c8be6b33
Merge branch 'master' into feature/emscripten-for-bundling
2019-03-04 13:16:01 -08:00
Lachlan Sneff
039ebdcf75
Fix merge errors and update llvm to use the new runtime error type.
2019-03-04 13:10:28 -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
Mackenzie Clark
970758dd69
Merge branch 'master' into feature/emscripten-for-bundling
2019-03-04 12:51:12 -08:00
Syrus Akbary
2d987982d6
Merge pull request #231 from Hywan/fix-clif-backend-module-new
...
fix(clif-backend) `Module::new` does not use its argument
2019-03-04 11:42:36 -08:00
Lachlan Sneff
deea9e98a4
Add import names, whoops.
2019-03-04 10:19:38 -08:00
losfair
bd7698e1f2
64-bit operators.
2019-03-05 00:59:05 +08:00
losfair
fa61b66516
Strongly type scratch registers and fixed an unwinding issue.
2019-03-05 00:23:49 +08:00
Mackenzie Clark
b3c60bce14
Merge branch 'master' into fix-clif-backend-module-new
2019-03-04 08:14:44 -08:00
Mackenzie Clark
71d7fe7d08
Merge branch 'master' into fix/c-api-fix-imports
2019-03-04 08:14:14 -08:00
Mackenzie Clark
4eb6ad238e
lint
2019-03-04 08:11:36 -08:00
Mackenzie Clark
65100d19fc
add __exit
2019-03-04 08:10:37 -08:00
Mackenzie Clark
00e3ec1446
add execvp
2019-03-04 08:10:37 -08:00
Mackenzie Clark
2ea9d0b09b
add __syscall42 (pipe)
2019-03-04 08:10:37 -08:00
Mackenzie Clark
cf2909f5f3
add alternative assert function for emscripten
2019-03-04 08:10:37 -08:00
Syrus Akbary
ba8b7580ba
Merge pull request #230 from Hywan/fix-clif-backend-resolver-compiled-functions
...
fix(clif-backend) Remove an unused variable declaration
2019-03-04 08:10:11 -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
5744f6896f
fix(clif-backend) Module::new
does not use its argument.
...
The `Module::new` method requires an argument (`wasm: &[u8]`) that is
never used.
This patch removes the argument, and updates the code accordingly.
2019-03-04 14:03:07 +01:00
Ivan Enderlin
42c9bdf8c2
fix(clif-backend) Remove an unused variable declaration.
...
The `compiled_functions` variable is declared twice. The first
declaration is never used. This patch removes it.
2019-03-04 13:59:37 +01: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
3f9dbca17f
List specific supported features for validator.
2019-03-03 22:47:34 -08:00
Lachlan Sneff
ab550f46fc
Fix bug resulting from comparing the memory base instead of the memory offset to the memory bounds.
2019-03-03 22:11:40 -08:00
Lachlan Sneff
ae3b2b2a42
Add bounds checking for memory accesses on dynamic memories
2019-03-03 21:56:30 -08:00
Lachlan Sneff
87c453a0ec
Add check for table bounds on call_indirect.
2019-03-03 21:38:35 -08:00
Lachlan Sneff
801979c40d
Add dynamic sigindices to the vm context.
2019-03-03 21:26:34 -08:00
Lachlan Sneff
51cf9dde05
Move SSA value caches to the entry block.
...
The supporting framework around LLVM will make sure to only compute values once if they
are known to never change. Previously, these values were attempted to be reused from places where
the users may not dominate the creation of the value. To avoid that, they are always created
in the entry block now.
2019-03-03 21:13:37 -08:00
Brandon Fish
c07298e58e
Make capstone optional with a feature
2019-03-03 16:02:20 -06:00
Brandon Fish
aae256b407
Add tag to fix cast ptr lint error
2019-03-03 15:34:20 -06:00
Brandon Fish
3f345b41c2
Fix emscripten lib compilation
2019-03-03 15:18:16 -06:00
Brandon Fish
97a70327d0
Fix compilation of test example
2019-03-03 15:13:20 -06:00
Brandon Fish
2c765c87c5
Update locals reading to use count
2019-03-03 12:55:29 -06:00
Lachlan Sneff
e362b56b07
Turns out we can just throw an exception from the signal handler
...
without any fancy tricks.
This has been tested on macos, hopefully it works on linux too.
2019-03-03 02:15:53 -08:00
Brandon Fish
2077fb448a
Fix C API table/global/memory imports
2019-03-02 22:28:00 -06:00
Lachlan Sneff
9cfda6800f
Try to return an error from call_protected when an exception occurs.
...
Something breaks pretty drastically sometimes, not sure why.
2019-03-02 19:08:15 -08:00
Lachlan Sneff
caf2205936
Add a signal handler for macos and linux.
...
Implementation Notes:
- To avoid setjmp, longjmp, and the mess that those create, we instead set the interrupting
context of the signal handler to return into the `throw_trap` routine. To my surprise,
this actually works. The stack ends up getting unwound normally and the memory-oob error
is caught by the trampoline.
2019-03-02 17:00:05 -08:00
Lachlan Sneff
57bfa9b0a4
Remove multiple throwing functions, just use one.
2019-03-02 14:16:02 -08:00
Lachlan Sneff
9a90689b93
Add preliminary support for throwing and catching uncatchable exceptions.
...
Additional info:
- WebAssembly "traps" are uncatchable, but are still caught by the trampoline caller.
2019-03-02 12:57:35 -08:00
Lachlan Sneff
5760f6006a
Start implementing exception handling by adding frame descriptor entry processing.
...
- Soon, we should be able basic exceptions.
2019-03-02 10:56:02 -08:00
Lachlan Sneff
87ddf4f855
Add personality function.
...
- This is part of supporting exceptions in the future.
2019-03-02 10:20:18 -08:00
Lachlan Sneff
a6fc06c908
Fix more compiling issues
...
Specifically:
- Don't truncate the list of local parameters.
- If the default destination in a br_table instruction is a loop, don't pop any results.
2019-03-02 10:04:44 -08:00
Lachlan Sneff
362e5aa160
Fix issue caused by dangling instruction.
...
- Come on inkwell, I thought you were better than this.
2019-03-01 20:28:27 -08:00
Lachlan Sneff
f0ac76517a
Start running spectests
...
Additional info:
- Execution is turned off, this is just to make sure the backend can compile the entire specsuite.
- That being said, trampolines are implemented and protected call works (just doesn't protect).
2019-03-01 17:11:20 -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
adfdf4d85d
Merge branch 'master' into feature/add-c-api-module-import-descriptors
2019-03-01 12:50:35 -06:00
Brandon Fish
0792cc7018
Merge branch 'master' into feature/c-api-call-an-exported-func
2019-03-01 12:14:56 -06:00
losfair
aa75994e2f
Add memory opcodes and test.
2019-03-02 01:41:31 +08:00
Brandon Fish
b80252e165
Setup the spectests lib to use llvm-backend
2019-02-28 23:02:03 -06:00
Lachlan Sneff
51c9091fc5
Start work on generating trampolines
2019-02-28 18:26:47 -08:00
Lachlan Sneff
6a20676fa9
Actually unmap the code after it's done being used
2019-02-28 17:20:18 -08:00
Lachlan Sneff
359ac5abec
Connect part of the llvm backend to the runtime
2019-02-28 13:18:00 -08:00
Lachlan Sneff
d4ae5cdd40
Get function addresses from llvm-compiled code
2019-02-28 12:31:39 -08:00
losfair
e026adf33e
Initial work on linear memory.
2019-02-28 23:58:02 +08:00
losfair
64142c4cb8
Reserve R15.
2019-02-28 23:22:21 +08:00
losfair
b7ca5e46ed
Add Select opcode.
2019-02-28 23:12:42 +08:00
Brandon Fish
358d653b18
Merge branch 'master' into feature/add-c-api-module-export-descriptors
2019-02-27 23:21:23 -06:00
Brandon Fish
889fc3f432
Merge branch 'master' into feature/add-c-api-module-import-descriptors
2019-02-27 23:21:01 -06:00
Brandon Fish
02eac589f4
Merge branch 'master' into feature/c-api-call-an-exported-func
2019-02-27 23:19:50 -06:00
Lachlan Sneff
5d77769381
Hopefully finish the memory manager implementation for llvm RuntimeDyLd
2019-02-27 17:21:20 -08: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
Mackenzie Clark
ff5e1320da
Fix casting errors cause io issues ( #222 )
2019-02-27 13:54:28 -08:00
Mackenzie Clark
2a7a8c0069
newline in test-module-imports.c
2019-02-27 10:41:22 -08:00
Mackenzie Clark
c4566f0b39
Merge branch 'master' into feature/add-c-api-module-export-descriptors
2019-02-27 10:28:18 -08:00
losfair
d50f1cc95f
If/Else.
2019-02-27 23:38:45 +08:00
Syrus Akbary
c7f3666354
Merge pull request #220 from wasmerio/feature/better-debug
...
Added debug build
2019-02-26 15:42:29 -08:00
Syrus
f7197bf456
Added debug build
2019-02-26 15:39:54 -08:00
losfair
3c3c5db2e1
Native trampolines.
2019-02-26 20:56:10 +08:00
Syrus
e6d0f91832
Use blake2b SIMD version for increased performance
2019-02-26 01:12:34 -08:00
Lachlan Sneff
4f833876e0
Start work on object loader using llvm's RuntimeDyld api.
2019-02-25 18:08:06 -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
Mackenzie Clark
3cfdaf3891
Merge branch 'master' into feature/emscripten-getcwd
2019-02-25 12:18:30 -08:00
Syrus Akbary
c5c967da00
Added parallel compilation ( #209 )
2019-02-25 12:03:48 -08:00
losfair
9d8c5a5c70
Add a note on incorrect code generation.
2019-02-25 23:57:12 +08:00
losfair
530294922a
Allow more registers to be used.
2019-02-25 23:55:27 +08:00
losfair
78fd995ad3
Fix argument passing at entry.
2019-02-25 23:38:33 +08:00
losfair
80812e3809
Implement native call & fix stack alignment.
2019-02-25 23:29:18 +08:00
losfair
2432a6c9b3
Fix function calls.
2019-02-25 22:47:27 +08:00
Brandon Fish
b008a054de
Fix C API to allow calling an exported func
2019-02-24 12:22:24 -06:00
losfair
dbebdf937f
Code generation for br_table.
2019-02-24 12:00:35 +08:00
Brandon Fish
1dfa106850
Add C API module import descriptors
2019-02-23 18:25:51 -06:00
Brandon Fish
17fe7bdaea
Add C API module export descriptors
2019-02-23 15:41:38 -06:00
losfair
09cbd4aeb0
Changed to using custom calling conventions; Implemented direct calls.
2019-02-24 00:52:32 +08:00
losfair
e9c0325784
Update dependencies
2019-02-24 00:51:47 +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
2a913f5663
Implement table, partial call_indirect
2019-02-22 17:34:55 -08:00
Mackenzie Clark
0c4aea2d84
Merge branch 'master' into feature/emscripten-getcwd
2019-02-22 16:54:19 -08:00
Lachlan Sneff
07c8975304
Fix clif backend
2019-02-22 16:20:26 -08:00
Mackenzie Clark
7fb7529b48
cargo fmt
2019-02-22 15:16:07 -08:00
Mackenzie Clark
70e0b8cee1
Merge branch 'master' into feature/emscripten-getcwd
2019-02-22 15:15:26 -08:00
Mackenzie Clark
b5056d676a
update wasm file
2019-02-22 15:07:55 -08:00
Mackenzie Clark
966be3ee8f
right to the out buffer that was passed in syscall183
2019-02-22 14:54:01 -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
0f9369c67d
cargo fmt and better error message
2019-02-22 12:39:19 -08:00
Mackenzie Clark
ad3d361f76
add the syscall and create a test
2019-02-22 12:32:14 -08:00
Lachlan Sneff
687f70df89
Add validation benchmark
2019-02-22 12:31:41 -08:00
Syrus
16d62ace52
Fixed cache example (again)
2019-02-22 12:17:49 -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
b3dd47bce8
Fixed runtime example
2019-02-22 12:06:22 -08:00
Syrus
84042cecb3
Fixed wrong syntax
2019-02-22 12:00:30 -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
Syrus Akbary
e9d72740c0
Merge pull request #197 from wasmerio/feature/c-api-module-instantiate
...
Add C API module_instantiate function
2019-02-22 09:58:49 -08:00
losfair
08a2ec82b3
Unary operators, comparison opcodes, loops, etc.
2019-02-23 01:54:16 +08:00
Lachlan Sneff
f1b190743b
Change file.write to file.write_all
2019-02-21 17:11:28 -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
64eadad7fa
Fix review comments
2019-02-21 15:31:20 -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
losfair
7c439932f1
Block and conditional branch.
2019-02-21 22:04:43 +08:00
losfair
63b3f41f05
Handle unreachable and fix return.
2019-02-21 21:14:10 +08:00
losfair
6f97ebd5f7
Remove a hack in parser.
2019-02-21 21:12:58 +08:00
Brandon Fish
ac57a1bc71
Add C API module_instantiate function
2019-02-20 23:08:23 -06:00
Lachlan Sneff
336c1d9c5f
Fix lint
2019-02-20 17:00:48 -08:00
Lachlan Sneff
9f40eedba8
Get caching working again
2019-02-20 16:41:41 -08:00
Mackenzie Clark
1a951a9abf
stub wasm32-unknown-emscripten target imports ( #193 )
2019-02-20 14:05:12 -08:00
Syrus Akbary
a418595f2f
Merge pull request #135 from wasmerio/feature/c-api
...
C API
2019-02-20 11:51:45 -08:00
Brandon Fish
b073145dbb
Clone import in instantiate to prevent import move
2019-02-20 09:52:42 -06:00
losfair
aaabbf169c
Operator::Br and control stack fixes
2019-02-20 23:21:33 +08:00
losfair
61c83507a4
Control frames, jumps & stack unwinding.
2019-02-20 22:56:32 +08:00
Jordan Danford
64519b1581
Fix formatting and grammar in documentation
2019-02-19 17:01:44 -07: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
losfair
93d2713bde
Operators.
2019-02-19 20:25:09 +08:00
losfair
5583e96d96
Mitigate a bug that causes incorrect code generation.
...
Still need to figure out why R8 and higher registers don't work.
2019-02-19 19:19:40 +08:00
Brandon Fish
d2f3023191
Allow specifying optional max value in limits
2019-02-19 00:05:08 -06:00
Brandon Fish
380d766943
Convert from Box into/from raw to pointer ref-deref to fix free issue
2019-02-18 23:30:08 -06: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
Brandon Fish
123d55cb4a
Remove commented out code, cleanup build warnings
2019-02-17 17:10:15 -06:00
Brandon Fish
ee81560e06
Cleanup tests
2019-02-17 16:51:59 -06:00
Brandon Fish
a77d1be983
Remove unused API functions
2019-02-17 14:48:30 -06:00
Brandon Fish
36767e0bd6
Move ctx pointer to first parameter to fix test
2019-02-17 14:39:26 -06:00
Brandon Fish
7bb947aba7
Add func signature lookup functions
2019-02-17 14:12:05 -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
56079ad589
Add compile Module function
2019-02-15 19:47:00 -06:00
Brandon Fish
9ee86138b9
Impl Error for CallError
2019-02-15 19:16:19 -06:00
Brandon Fish
768a2fae18
Merge branch 'master' into feature/c-api
2019-02-15 19:12:30 -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
Brandon Fish
3ebb80e50e
Update imports and add func_new
2019-02-15 09:40:28 -06: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
73b4f7d337
Implement memory and global operations
2019-02-14 18:08:20 -08:00
Lachlan Sneff
2d87f64f82
Merge master into feature/llvm-backend
2019-02-14 15:47:28 -08:00
Lachlan Sneff
8827830aba
implement load* and store* instructions
2019-02-14 15:13:58 -08:00
Mackenzie Clark
0c7532b1ba
remove unnecessary print statements ( #177 )
2019-02-14 11:11:35 -08:00
losfair
bb52a4e6eb
Now we can run add
!
2019-02-15 02:21:52 +08:00
losfair
1526d35872
Emit a Return opcode if the last one is not return.
2019-02-15 02:21:04 +08:00
Mackenzie Clark
6a1fdb7f91
add windows exception handling in C ( #175 )
2019-02-14 09:58:33 -08:00
Brandon Fish
bfd5e21605
Add export_name and export_func
2019-02-14 00:00:39 -06:00
Brandon Fish
93979aeae2
Add get exports from instance
2019-02-13 20:02:11 -06:00
losfair
8d8db4aa09
Starting integration.
2019-02-14 00:53:36 +08:00
losfair
7df7204e4b
codegen: More opcodes
2019-02-14 00:53:06 +08:00
losfair
43df3dd546
Use System V calling convention and implement a few opcodes.
2019-02-13 20:04:10 +08:00
losfair
a69c5b4a14
stack: Helper functions and unified return types
2019-02-13 20:03:54 +08:00
Lachlan Sneff
2572a0259b
Get control flow working (fingers crossed)
2019-02-12 18:02:00 -08:00
Syrus
b6416068a8
Use vec.push instead of .insert for vmctx arg
2019-02-12 11:17:09 -08:00
Syrus
b7c3cc09d1
Fixed typed func implementation
2019-02-12 11:14:20 -08:00
Syrus
44d1a0d1f9
Fixed debug function context position
2019-02-12 10:49:43 -08:00
Syrus
f52c4ce5cc
Merge branch 'master' into feature/ctx-first-arg
2019-02-12 10:28:25 -08:00
Syrus
c40195cf77
Fixed spectests
2019-02-12 10:04:11 -08:00
losfair
4ebb22f8bc
Calling conventions, value stack, and runtime stack layout.
2019-02-12 23:15:57 +08:00
Brandon Fish
7f5ca34138
Merge branch 'master' into feature/c-api
2019-02-11 23:17:26 -06:00
Brandon Fish
27cbfc0b0b
Add documentation to API functions
2019-02-11 23:14:32 -06:00
Lachlan Sneff
5ee19e55a5
Add some branching instructions
2019-02-11 19:34:04 -08:00
Brandon Fish
34c45aee3d
Update last error for every error result
2019-02-11 20:08:54 -06:00
Brandon Fish
019ef9ea01
Consolidate result type to one enum
2019-02-11 19:07:28 -06:00
losfair
2fbb5e3332
Codegen backend for x64.
2019-02-12 00:52:17 +08:00
losfair
ffc1bde3d8
Cleanup & add imports.
2019-02-12 00:52:01 +08:00
losfair
bbb27bedbe
Code generation framework.
2019-02-12 00:51:49 +08:00
losfair
af19f5c097
Update dependencies.
2019-02-12 00:51:26 +08:00
losfair
f735471bac
Merge remote-tracking branch 'private/master' into feature/dynasm-backend
2019-02-11 18:38:00 +08:00
Brandon Fish
b70e319f5c
Add initial error messaging
2019-02-10 17:57:23 -06:00
Brandon Fish
66bf13c9dd
Add memory data function
2019-02-10 15:20:35 -06:00
Brandon Fish
a502da58e3
Fix import object destroy
2019-02-10 14:27:08 -06:00
Brandon Fish
7ef472dae2
Add instance context memory
2019-02-10 14:24:36 -06:00
Brandon Fish
0cfe864fe6
Add Memory data length
2019-02-10 14:14:42 -06:00
Syrus
4311a37def
Fixed simple spectests example compilation
2019-02-09 20:13:58 -08:00
Brandon Fish
2fa9cec0ed
Add include guard
2019-02-09 18:07:05 -06:00
Lachlan Sneff
327e3a4a1a
Implement many wasm instructions
2019-02-09 15:53:40 -08:00
Brandon Fish
a0288c87ac
Add Memory Grow C API
2019-02-09 17:53:03 -06:00
Brandon Fish
94c5acedbf
Add basic Global API
2019-02-09 17:39:15 -06:00
Syrus
227d5e24cf
Moved ctx to first argument in Cranelift backend
2019-02-09 14:18:53 -08:00
Syrus
6c7fd55b87
Moved ctx to be the first argument in emscripten
2019-02-09 13:58:18 -08:00
Syrus
393b7dbdf3
Moved ctx in func macro to be first arg
2019-02-09 13:33:22 -08:00
Mackenzie Clark
4ef7dc339c
optimize imports ( #170 )
2019-02-09 13:31:28 -08:00
Brandon Fish
8364c39b4c
Add Table grow function
2019-02-09 13:58:50 -06:00
Brandon Fish
4e5e525626
Add basic Table functions
2019-02-09 13:37:07 -06:00
Brandon Fish
c3707efa08
Update for merge from master
2019-02-09 13:09:54 -06:00
Brandon Fish
bda6451fb6
Merge branch 'master' into feature/c-api
2019-02-09 13:08:30 -06:00
Mackenzie Clark
e7c3b99ba9
add lua integration test ( #109 )
2019-02-08 17:47:51 -08:00
Lachlan Sneff
aa90a33501
Make module info store FuncSig, not Arc<FuncSig>
2019-02-08 14:19:58 -08:00
Mackenzie Clark
9a56680281
fix windows linking and appveyor build ( #166 )
2019-02-08 13:51:29 -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
Lachlan Sneff
4e1bc483a8
Fix emscripten setup, nginx works ( #165 )
...
* Fix emscripten setup, nginx works
* Remove commented-out code
* Re-enable nginx integration test
2019-02-08 10:55:32 -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
Mackenzie Clark
46ac4e9e1a
reorganize signal module and leave stubs in windows ( #162 )
2019-02-07 17:08:42 -08:00
Mackenzie Clark
9719781eee
create platform mods for syscalls and stub for windows ( #161 )
...
* create platform mods for syscalls and stub for windows
* missing constants and duplicate use statements
2019-02-07 16:56:44 -08:00
Mackenzie Clark
f8e2b25137
consolidate shared functions and optimize use statements ( #159 )
2019-02-07 15:24:22 -08:00
Mackenzie Clark
25d438f346
create an alias for pid_t which does not exist on libc windows ( #160 )
2019-02-07 15:12:27 -08:00
Lachlan Sneff
8d2c1956d7
Fix runtime error catching ( #157 )
2019-02-07 14:44:28 -08:00
Mackenzie Clark
ea2bd80089
refactor getenv for windows ( #156 )
2019-02-07 14:23:13 -08:00
Brandon Fish
7574652bb1
Re-enable all passing emtests for CI
2019-02-07 14:55:06 -06:00
Syrus Akbary
1c1318623e
Merge pull request #155 from wasmerio/fix/signature-index-wrong-map
...
Fix signature index issue
2019-02-07 11:58:11 -08:00
Syrus
14806cb604
Fixed formatting and removed print debug statement
2019-02-07 11:37:15 -08:00
Mackenzie Clark
ce03e4464c
fill unsetenv for windows ( #150 )
...
* fill unsetenv
* update usage of read_string_from_wasm
* convert helper to return String
* correct usage of helper fn, cargo fmt, and check in lock file change
2019-02-07 10:51:19 -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
663de770bf
stub emscripten env calls for windows ( #151 )
2019-02-07 10:16:55 -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
Mackenzie Clark
83df3ad35f
fix putenv and setenv for windows ( #140 )
2019-02-06 18:57:11 -08:00
Mackenzie Clark
ac286b708b
create the windows io mod and link printf ( #144 )
2019-02-06 17:56:01 -08:00
Mackenzie Clark
0a7b9b26b8
let the compiler deduce types in syscalls ( #145 )
2019-02-06 17:06:05 -08:00
Mackenzie Clark
f13a45a5bc
link time function and create alias for clockid_t ( #146 )
2019-02-06 16:40:02 -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
Lachlan Sneff
2f2f86a4de
Add feature flag to output debug information while running wasm ( #147 )
...
* Generate debug info during execution
* feature cfg debug output
2019-02-06 15:43:27 -08:00
Brandon Fish
2b55606d3c
Add at_init emscripten_environ_constructor
2019-02-06 00:11:31 -06:00
Brandon Fish
b86acab3e4
Fix debug statement
2019-02-05 23:48:05 -06:00
Brandon Fish
3cd81d4119
Fix lua emscripten imports
2019-02-05 23:39:12 -06:00
Brandon Fish
9d16faab9d
Make memalign optional if the wasm doesn't export it
2019-02-05 23:24:07 -06:00
Syrus Akbary
0f0e1d0aa5
Merge branch 'master' into feature/em-missing-imports
2019-02-05 17:30:38 -07:00
Mackenzie Clark
7bd609fd58
memory fixes for windows ( #138 )
2019-02-05 16:07:55 -08:00
Brandon Fish
c11f18b09c
Update signatures and add missing imports
2019-02-05 17:25:51 -06:00
Lachlan Sneff
c10383c382
Fix example
2019-02-05 12:01:31 -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
cee248ae89
Update emscripten memory macro
2019-02-05 10:35:15 -08:00
Lachlan Sneff
8a8290b155
Add touch-ups to new memory api
2019-02-05 10:20:04 -08:00
Lachlan Sneff
f75006c062
Merge branch 'fix/emscripten-translate' of github.com:wasmerio/wasmer into fix/emscripten-translate
2019-02-04 23:08:46 -08:00
Lachlan Sneff
00db5410c5
Change memory access api again
2019-02-04 23:07:58 -08:00
Brandon Fish
309246e0d6
Add validate function and test
2019-02-05 00:01:01 -06:00
Brandon Fish
8d8dea7ec8
Implement basic C API memory functions
2019-02-04 21:46:47 -06:00
Brandon Fish
2defd27fac
Also generate C++ bindings
2019-02-04 19:54:12 -06:00
Brandon Fish
6ed72a50ce
Add instance_destroy back to test
2019-02-04 19:49:28 -06:00
Brandon Fish
1322446f04
Fix compilation
2019-02-04 18:46:10 -06:00
Mackenzie Clark
cc3c9b6df3
make spectests compile in emscripten update PR ( #137 )
2019-02-04 16:26:32 -08:00
Mackenzie Clark
ad9dff5fd0
use the fully qualified name for Ctx
2019-02-04 15:33:57 -08:00
Mackenzie Clark
765357e35d
pass import object by reference in some spectests
2019-02-04 15:33:45 -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
6a7c78d65a
this name should match the function name
2019-02-04 15:01:43 -08:00
Mackenzie Clark
d231d404cb
extern is no longer needed cause macro magic
2019-02-04 15:01:28 -08:00
Mackenzie Clark
73a8619bc5
do not need to dereference an enum
2019-02-04 15:01:12 -08:00
Mackenzie Clark
c771f2e677
fix more cases of passing imports by reference to instantiate
2019-02-04 15:00:57 -08:00
Mackenzie Clark
e688b374a6
fix some typos ( #136 )
2019-02-04 10:24:44 -08:00
Brandon Fish
fa959fa6ee
Call cargo build during make test to build C API lib
2019-02-03 13:21:59 -06:00
Brandon Fish
358c306cea
Add runtime-c-api as external project to build dependency
2019-02-03 12:33:42 -06:00
Brandon Fish
6185eb73a8
Configure cmake to find dylib/so/dll wasmer library
2019-02-03 12:14:14 -06:00
Brandon Fish
6f7db9062d
Run cmake tests as part of a rust test
2019-02-02 20:16:53 -06:00
Brandon Fish
5d9e05c2f6
Add function signature parameters to set import func
2019-02-02 19:10:08 -06:00
Brandon Fish
d31c1c6068
Fix lints
2019-02-02 18:07:37 -06:00
Lachlan Sneff
dcc75b98ba
Fix some tests
2019-02-02 16:02:28 -08:00
Lachlan Sneff
6a66ec3407
Merge branch 'fix/emscripten-translate' of github.com:wasmerio/wasmer into fix/emscripten-translate
2019-02-02 15:58:43 -08:00
Lachlan Sneff
ccd43df767
Instantiate takes reference
2019-02-02 15:58:33 -08:00
Brandon Fish
ffb3dc083a
Add test to import function and call it
2019-02-02 17:43:59 -06:00
Lachlan Sneff
312d70e345
Merge branch 'master' into fix/emscripten-translate
2019-02-02 15:29:59 -08:00
Lachlan Sneff
eba66f3b33
Add typed functions and weird type parameter things
2019-02-02 15:28:50 -08:00
Brandon Fish
9120a9d1f8
Implement tagged enum for params/results
2019-02-02 14:53:07 -06:00
Brandon Fish
3633ab8ef4
Add parameters and results
2019-02-02 10:44:08 -06:00
Brandon Fish
3c7ad109bc
Fix instance null ptr bug
2019-02-02 08:43:29 -06:00
Brandon Fish
be19e96669
Implementing instantiate and call
2019-02-02 00:26:10 -06:00
Brandon Fish
62f7bb607e
Add first c test to test the C api
2019-02-01 22:10:36 -06:00
Brandon Fish
6f05146737
Use build script to run cbinden behind feature flag
2019-02-01 18:52:22 -06:00
Syrus
b1a7642773
Fixed immutable globals assertion
2019-02-01 14:00:07 -08:00
Syrus
6c33aa5803
Make emscripten compile again
2019-02-01 13:27:00 -08:00
Lachlan Sneff
ad1034b78c
Fix lint
2019-02-01 13:22:49 -08:00
Lachlan Sneff
631fc8d124
Use WasmExternType for VarArgs
2019-02-01 13:18:43 -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
Brandon Fish
5ebea9672c
Initial commit of C API library
2019-01-31 23:51:34 -06:00
Brandon Fish
54fdbf8813
Fix compilation error var name
2019-01-31 20:20:58 -06:00
Syrus
8725fef474
Adapted all emscripten import functions
2019-01-31 18:10:25 -08:00
Syrus
5066431422
Added more functions
2019-01-31 15:01:42 -08:00
Syrus
5f92fc5c8d
Adapted more emscripten imports into new syntax
2019-01-31 14:48:29 -08:00
Syrus
9370588b86
Merge branch 'master' into fix/emscripten-translate
2019-01-31 14:00:00 -08:00
Brandon Fish
2540d5169b
Update more imports to use imports! macro
2019-01-31 00:31:00 -06:00
Brandon Fish
909af1250f
Convert em imports to imports! macro
2019-01-30 20:03:54 -06:00
Brandon Fish
9dcbea7408
Fix table/memory import
2019-01-30 19:19:53 -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
7872481e7e
Merge branch 'master' into feature/move-spectests-to-own-lib
2019-01-29 20:34:24 -06:00
Brandon Fish
8a5d747026
Comment out em impl to fix compilation
2019-01-29 20:00:08 -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
34d897b665
fix lint again
2019-01-29 15:53:07 -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
4c266c6fb9
Start transition of emscripten imports to new api
2019-01-29 11:41:43 -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
a60132344b
Fix lint, reexport tables and globals
2019-01-29 10:25:56 -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
Syrus
fe1846d180
Simplified EmscriptenGlobals initialization
2019-01-28 14:31:16 -08: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
23492a4c53
Remove unused code, cleanup
2019-01-27 19:06:03 -06:00
Brandon Fish
0bb45a69eb
Ignore time_c and gmtime
2019-01-27 16:29:05 -06:00
Brandon Fish
2245c920ed
Merge branch 'master' into fix/emscripten-translate
2019-01-27 13:21:44 -06:00
Brandon Fish
9cef5482ee
Fix main argument handling
2019-01-27 12:18:58 -06:00
Brandon Fish
384c27c4e3
Fix unused variable warnings
2019-01-27 10:58:52 -06:00
Brandon Fish
6bbdaa1c53
Add addition em functions to run tests
2019-01-27 00:33:58 -06:00
Brandon Fish
12def9da25
Update imports for lua example
2019-01-26 17:02:51 -06:00
Brandon Fish
f273823abd
Update main argument handling
2019-01-26 14:17:17 -06:00
Christopher Serr
d71ee5ad13
Import u64 correctly
2019-01-26 08:47:09 +01:00
Brandon Fish
ee911092ea
Use memory min and max values from module to generate environment memory
2019-01-25 20:12:36 -06:00
Brandon Fish
1a1958a0ce
Use table min and max values from module to generate environment table
2019-01-25 19:55:33 -06: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
db3a20a76b
reexport memory
2019-01-25 15:33:15 -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
Brandon Fish
65872a1be4
Cherry-picked fix
2019-01-25 10:23:26 -08:00
Brandon Fish
5209b5a558
Fix all the imports to run nginx
2019-01-24 23:58:54 -06:00
Syrus
25439b4df3
Removed unnecessary lifetime
2019-01-24 16:46:16 -08:00
Syrus
c22f1eee0f
Simplified even more the global inits
2019-01-24 16:45:22 -08:00
Syrus
4a8eacb370
Simplified storage of emscripten globals data
2019-01-24 16:45:06 -08:00
Syrus
842105f7d9
Improved emscripten imported function arguments
2019-01-24 15:44:08 -08:00
Syrus
6d8465721f
Improved formatting
2019-01-24 15:30:13 -08:00
Syrus
762405f6e9
Merge branch 'master' into fix/emscripten-translate
...
# Conflicts:
# Cargo.lock
2019-01-24 14:05:44 -08:00
Syrus
136b68b6eb
Added README to wasmer-runtime crate
2019-01-24 13:53:45 -08:00
Syrus
87d02d8399
Updated runtime and runtime-core versions
2019-01-24 13:45:25 -08:00
Syrus
3580a159a3
Updated wasm files
2019-01-24 13:41:59 -08:00
Syrus
fc1b255d40
Make emscripten work again
2019-01-24 13:04:12 -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
Syrus
c745d38a39
Make emscripten data functions optional
2019-01-24 00:11:12 -08:00
Brandon Fish
9970d2871b
Add Debug impl for EmscriptenData
2019-01-24 00:17:43 -06:00
Brandon Fish
943fc3900a
Addition build warning cleanup
2019-01-24 00:05:07 -06:00
Brandon Fish
89c2aa8c32
Cleanup imports and other warnings
2019-01-24 00:00:38 -06: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
Brandon Fish
6a5386e313
Fix test runner
2019-01-23 18:52:33 -06:00
Lachlan Sneff
ab25125bba
Change error discriminant name
2019-01-23 16:51:34 -08:00
Brandon Fish
0c4175e7c3
Move the em specific run_instance code into em lib
2019-01-23 18:47:34 -06: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
Syrus
c3b0a79877
Added tempDoublePtr to emscripten env
2019-01-23 12:46:46 -08:00
Syrus
b8db010c06
Added memory and table bases
2019-01-23 12:43:52 -08:00
Syrus
83d0c3e647
Formatted files
2019-01-23 12:35:14 -08:00
Syrus
70c512ecb3
Add table to the emscripten env
2019-01-23 12:34:56 -08: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