Commit Graph

308 Commits

Author SHA1 Message Date
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
Mark McCaskey
accbe52dd6 add more stubs for pthreading, exceptions, and some invokes 2019-03-29 13:42:13 -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
Mackenzie Clark
d65a5dfe57 fix typo 2019-03-26 20:07:00 -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
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
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
Mark McCaskey
c522c6d1e3 fix bugs; add checks and lint exceptions for alignment casting 2019-03-22 10:30:35 -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
losfair
a4ee873eae Merge remote-tracking branch 'origin/master' into feature/dynasm-backend 2019-03-21 08:42:34 +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
08f4526b45 Merge remote-tracking branch 'origin/master' into feature/dynasm-backend 2019-03-17 21:14:01 +08:00
Mackenzie Clark
14104c2c8b fix lots of warnings
fix warnings
2019-03-15 14:10:17 -07:00
Brandon Fish
e5d67c9705 Add dynasm feature to emscripten tests 2019-03-13 20:16:07 -05:00
Lachlan Sneff
cd767bc1a7
Merge branch 'master' into fix/llvm-feature-flag 2019-03-13 12:22:21 -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
033a2e71bd fix compiler error on windows 2019-03-11 10:25:45 -07:00
Lachlan Sneff
679fdc14c2
Merge branch 'master' into feature/llvm-backend 2019-03-07 13:25:24 -08:00
Brandon Fish
1957ddef53 Run emscripten tests with both compilers 2019-03-06 21:36:46 -06:00
Mackenzie Clark
b1739d93ec remove leading underscores from execvp and exit 2019-03-06 10:18:00 -08:00
Lachlan Sneff
4e198bca8b merge upstream/master into wasmer-private/feature/llvm-backend 2019-03-04 13:03:32 -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
Brandon Fish
3f345b41c2 Fix emscripten lib compilation 2019-03-03 15:18:16 -06:00
Mackenzie Clark
ff5e1320da
Fix casting errors cause io issues (#222) 2019-02-27 13:54:28 -08:00
Mackenzie Clark
7fb7529b48 cargo fmt 2019-02-22 15:16:07 -08:00
Mackenzie Clark
966be3ee8f right to the out buffer that was passed in syscall183 2019-02-22 14:54:01 -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
Mackenzie Clark
a6d72bdec9
more emscripten stubs and urandom hack (#199) 2019-02-22 10:42:38 -08:00
Lachlan Sneff
2234f357b7
Merge branch 'master' into feature/cache-rework 2019-02-21 11:54:57 -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
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
Syrus
f52c4ce5cc Merge branch 'master' into feature/ctx-first-arg 2019-02-12 10:28:25 -08:00
Syrus
6c7fd55b87 Moved ctx to be the first argument in emscripten 2019-02-09 13:58:18 -08:00
Mackenzie Clark
4ef7dc339c
optimize imports (#170) 2019-02-09 13:31:28 -08:00
Mackenzie Clark
e7c3b99ba9
add lua integration test (#109) 2019-02-08 17:47:51 -08:00
Mackenzie Clark
9a56680281
fix windows linking and appveyor build (#166) 2019-02-08 13:51:29 -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
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
Mackenzie Clark
ea2bd80089
refactor getenv for windows (#156) 2019-02-07 14:23:13 -08: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
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
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
Brandon Fish
c11f18b09c Update signatures and add missing imports 2019-02-05 17:25:51 -06:00
Lachlan Sneff
cee248ae89 Update emscripten memory macro 2019-02-05 10:35:15 -08:00
Brandon Fish
1322446f04 Fix compilation 2019-02-04 18:46:10 -06:00
Lachlan Sneff
eba66f3b33 Add typed functions and weird type parameter things 2019-02-02 15:28:50 -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
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
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
8a5d747026 Comment out em impl to fix compilation 2019-01-29 20:00:08 -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
581363119b More review fixes 2019-01-29 13:04:42 -08:00
Lachlan Sneff
4c266c6fb9 Start transition of emscripten imports to new api 2019-01-29 11:41:43 -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
Brandon Fish
23492a4c53 Remove unused code, cleanup 2019-01-27 19:06:03 -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
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
e4686e67c4 Add importable memories and dynamic memories 2019-01-25 15:28:54 -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
fc1b255d40 Make emscripten work again 2019-01-24 13:04:12 -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
8266386119 Add instance.ctx() to make inner private again 2019-01-23 22:27:33 -06:00
Brandon Fish
0c4175e7c3 Move the em specific run_instance code into em lib 2019-01-23 18:47:34 -06: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
Syrus
c2036c9695 Added memory to emscripten env 2019-01-23 12:25:56 -08:00
Syrus
c627fce9f2 Fixed function signatures 2019-01-23 11:08:24 -08:00
Brandon Fish
157183d212 Update to new runtime 2019-01-23 01:27:13 -06:00
Syrus
453801b5ff Added VERSION var to all the lib crates 2019-01-22 15:34:29 -08:00
Brandon Fish
74875ed554 Library restructure (#104)
* Move wasmer-runtime to wasmer-runtime-core

* Add the runtime library

* Fix issue with macros using wasmer_runtime, fmt

* Make default compiler dependency optional

* Add instantiate and validate functions
2019-01-22 11:02:06 -08:00
Lachlan Sneff
6aca222795 Fix emscripten compile issue 2019-01-21 16:42:20 -08:00
Lachlan Sneff
10c5aa02a2 Add export_func macro, prelude, and rename imports stuff 2019-01-21 14:43:04 -08:00
Brandon Fish
922ec686e1 Merge branch 'master' into feature/vm_refactor 2019-01-20 09:35:59 -06:00
Brandon Fish
7fc892be07 Removing some unused imports, cleanup 2019-01-18 18:36:28 -06:00
Lachlan Sneff
8a9f5fa61a
Add special error types for compile, linking, and runtime errors. (#99)
* Add error types and convert most results to wasmer-runtime results

* Fix spectests

* Fix umbrella project to work with new error types
2019-01-18 10:54:16 -08:00
Brandon Fish
47f46be69c Ignore clippy error level 2019-01-18 00:33:46 -06:00
Brandon Fish
e43c3cb2eb cargo fmt 2019-01-18 00:18:13 -06:00
Brandon Fish
1025a0d730 Emscripten tests compiling again 2019-01-17 23:55:44 -06:00
Steve Akinyemi
456a76a5e5 Fix emtest compilation issues 2019-01-18 01:25:05 +01:00
Steve Akinyemi
57fbfd58d3 Fix globals 2019-01-17 23:19:15 +01:00
Steve Akinyemi
0bf6ce49f6 Update emscripten to latest changes 2019-01-17 23:19:15 +01:00
Steve Akinyemi
16a67c996a FIx socket syacall for Linux 2019-01-17 23:19:14 +01:00
Steve Akinyemi
e26590d370 Refactor emscripten globals 2019-01-17 23:19:14 +01:00
Steve Akinyemi
fdb0841783 Fix emscripten globals 2019-01-17 23:19:14 +01:00
Steve Akinyemi
927f6e4155 Fix other issues with emscripten integration 2019-01-17 23:19:14 +01:00
Steve Akinyemi
76f6d3c33c Fix emscripten imports 2019-01-17 23:19:14 +01:00
Syrus
e236e2f9b6 Merge branch 'master' into feature/vm_refactor 2019-01-10 21:55:44 -08:00
Syrus
de459fa5bd Isolated emscripten in new lib 2019-01-10 21:38:10 -08:00