Commit Graph

1034 Commits

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