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
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
Lachlan Sneff
7632beced8
Add generic range bounds to mmap ( #110 )
2019-01-23 09:37:56 -08:00
Brandon Fish
157183d212
Update to new runtime
2019-01-23 01:27:13 -06:00
Brandon Fish
3e9ef57d9d
Cherry-picked fix
2019-01-23 00:31:58 -06:00
Syrus
88eb1d39a5
Improved Cargo congif
...
# Conflicts:
# lib/clif-backend/Cargo.toml
2019-01-22 15:34:52 -08:00
Syrus
453801b5ff
Added VERSION var to all the lib crates
2019-01-22 15:34:29 -08:00
Lachlan Sneff
38b0fbf3c5
Generate trampolines to call exported functions instead of using libffi ( #108 )
...
* remove codegen.rs
* Add export trampolines and remove libffi
* Remove unused extern crates
2019-01-22 15:00:27 -08:00
Syrus
7fd3b81043
Improved docs
2019-01-22 12:23:53 -08:00
Syrus
cd284e8a75
Improved docs, adding repo structure and libraries README
2019-01-22 11:34:36 -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
39ddd8f258
Add imports macro
2019-01-21 16:24:49 -08:00
Lachlan Sneff
c7520035fd
Fix macro AGAIN
2019-01-21 15:25:51 -08:00
Lachlan Sneff
dbd0f99514
Fix argument type conversion
2019-01-21 15:21:51 -08:00
Lachlan Sneff
29d053cb29
Fix macro again and inline docs
2019-01-21 15:10:07 -08:00
Lachlan Sneff
3563741f4f
Remove macro feature that is confusing
...
This reverts commit fbe480cc08
.
2019-01-21 14:50:17 -08:00
Lachlan Sneff
fbe480cc08
Fix macro
2019-01-21 14:47:19 -08:00
Lachlan Sneff
10c5aa02a2
Add export_func macro, prelude, and rename imports stuff
2019-01-21 14:43:04 -08:00
Lachlan Sneff
c25fce1721
Change memory parameter to u32
2019-01-21 14:05:32 -08:00
Lachlan Sneff
57a4991415
Fix trap_handling commit
2019-01-21 14:01:25 -08:00
Lachlan Sneff
69fd93937c
merge vm_refactor_trap_handling into vm_refactor
2019-01-21 13:53:33 -08:00
Lachlan Sneff
de046491d2
finish support for traps
2019-01-21 13:43:48 -08:00
Lachlan Sneff
b74a08f097
Add (hopefully-working) support for windows
2019-01-21 11:51:41 -08:00
Lachlan Sneff
a3821a90c1
fix broken test
2019-01-21 10:07:57 -08:00
Lachlan Sneff
8484199d29
fix formatting
2019-01-21 09:59:53 -08:00
Lachlan Sneff
6e9b002363
new way to access memory from the vmctx
2019-01-21 09:56:49 -08:00
Brandon Fish
3399dddb5b
cargo fmt
2019-01-20 09:52:54 -06:00
Brandon Fish
e245742251
Remove commented out code
2019-01-20 09:43:43 -06:00
Brandon Fish
922ec686e1
Merge branch 'master' into feature/vm_refactor
2019-01-20 09:35:59 -06:00
Brandon Fish
808aacde2d
Update println! -> debug!, remove unnecessary comments
2019-01-20 09:19:41 -06:00
Brandon Fish
b8baf5cab9
Rename sigidx -> sig_index
2019-01-20 09:15:28 -06:00
Brandon Fish
3d65656f85
Documentation and style in runtime
2019-01-19 01:03:07 -06:00
Brandon Fish
2f6746655d
Cleanup wasmer bin and webassembly
2019-01-19 00:28:41 -06:00
Brandon Fish
89c5984d47
Remove commented out code
2019-01-18 23:17:00 -06:00
Lachlan Sneff
ebeea0c71c
handle traps naively
2019-01-18 16:45:30 -08:00
Brandon Fish
7fc892be07
Removing some unused imports, cleanup
2019-01-18 18:36:28 -06:00
Lachlan Sneff
c18328aa4c
support the start function
2019-01-18 14:53:46 -08:00
Lachlan Sneff
9ed0018045
transition to protected_caller
2019-01-18 14:30:25 -08:00
Lachlan Sneff
c34df39095
Fix broken reference
2019-01-18 14:18:06 -08:00
Lachlan Sneff
4f8e567d91
Collect all linking errors
2019-01-18 13:44:51 -08:00
Lachlan Sneff
539db9f577
Starting to set up protected call in clif-backend
2019-01-18 13:29:43 -08:00
Lachlan Sneff
705708cafe
add 'ProtectedCaller' to runtime
2019-01-18 12:14:21 -08:00
Syrus
6d55776b8e
Fix formatting
2019-01-18 11:15:13 -08: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
Syrus
9c0d78ae46
Fix lint
2019-01-18 10:47:20 -08:00
Syrus
191907eedd
Hack fat tests out for now
2019-01-18 10:42:27 -08:00
Lachlan Sneff
ed87168c48
Fix spectests
2019-01-18 10:15:25 -08:00
Lachlan Sneff
e8dcbc5897
Merge branch 'feature/vm_refactor' into feature/vm_refactor_errors
2019-01-18 09:20:55 -08:00
Lachlan Sneff
d23601a810
Add error types and convert most results to wasmer-runtime results
2019-01-18 09:17:44 -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
Brandon Fish
321abe6644
Merge branch 'feature/vm_refactor' into fix/vm_refactor_esmcripten_integration
2019-01-17 23:20:56 -06:00
Syrus
a5d03ff7dc
Merge branch 'master' into feature/vm_refactor
2019-01-17 17:47:45 -08:00
Syrus
620f40c144
Make build and tests pass again by skipping emscripten
2019-01-17 17:44:33 -08:00
Steve Akinyemi
456a76a5e5
Fix emtest compilation issues
2019-01-18 01:25:05 +01:00
Lachlan Sneff
f5ab605878
Change authors listing to "The Wasmer Engineering Team <engineering@wasmer.io>"
2019-01-17 16:19:31 -08:00
Brandon Fish
68bfec6786
Readd vmctx host data and data finalizer
2019-01-17 14:26:52 -08: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
aa01fd50e9
Remove memory_offset_addr impl
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
ba6828c3d4
Add memory offset addr impl
2019-01-17 23:19:14 +01:00
Steve Akinyemi
76f6d3c33c
Fix emscripten imports
2019-01-17 23:19:14 +01:00
Lachlan Sneff
b7b6e9e319
Fix formatting
2019-01-17 14:14:06 -08:00
Lachlan Sneff
93d0918122
Passing all spectests
2019-01-17 14:13:28 -08:00
Lachlan Sneff
1dbbaa30b6
Get most spectests passing
2019-01-17 13:11:53 -08:00
Brandon Fish
c74eed8a06
Add data and data finalizer to Ctx ( #95 )
...
* Add data and data finalizer to Ctx
* Make data_finalizer optional
2019-01-17 10:22:50 -08:00
Lachlan Sneff
bb9ed66cea
Split codegen into multiple modules
2019-01-16 17:59:12 -08:00
Lachlan Sneff
5872d879f9
Local/Import index differentiation
2019-01-16 10:26:10 -08:00
Brandon Fish
de1da689f8
Add imported globals
2019-01-13 16:45:36 -06:00
Brandon Fish
185394cf1a
Add tables non-imported branch implementation
2019-01-13 16:34:26 -06:00
Lachlan Sneff
b7350a991c
Fix compile errors
2019-01-13 16:52:25 -05:00
Lachlan Sneff
bef2b05354
Fix some mutability issues (WIP)
2019-01-13 16:44:20 -05:00
Brandon Fish
902df8b303
Add imported tables
2019-01-13 10:46:04 -06:00
Lachlan Sneff
a9e58203f2
Remove generated spectest codes from repo.
2019-01-12 23:48:21 -05:00
Lachlan Sneff
a7ffb44bbc
Rework imports
2019-01-12 22:02:19 -05:00
Lachlan Sneff
f5c5f777c0
Make vm::Ctx::new unsafe
2019-01-12 18:04:50 -05:00
Lachlan Sneff
9fab2ea5df
Fix misleading comment
2019-01-12 18:02:47 -05:00
Lachlan Sneff
f08f49fa38
Fix formatting
2019-01-12 17:53:17 -05:00
Lachlan Sneff
a983e9ce8b
Rearrange some apis
2019-01-12 17:52:14 -05:00
Lachlan Sneff
60201ea7a6
Check if memory description fits imported memory
2019-01-12 16:45:32 -05:00
Lachlan Sneff
80a1fce329
Redesign import namespaces
2019-01-12 16:24:21 -05:00
Brandon Fish
8a0ea0b66d
Adding imported memories
2019-01-12 14:34:23 -06:00
Brandon Fish
8d2dacaba3
Add a failing test for stack overflow
2019-01-12 13:07:11 -06:00
Lachlan Sneff
a3b3523a78
Fix broken test that was creating a stack overflow
2019-01-12 09:51:32 -05:00
Syrus
e236e2f9b6
Merge branch 'master' into feature/vm_refactor
2019-01-10 21:55:44 -08:00
Syrus
34869ff3c8
Fixed emscripten emtests env var name
2019-01-10 21:52:14 -08:00
Syrus
0b48374682
Fixed Makefile emtests generator
2019-01-10 21:46:02 -08:00
Syrus
a358ab7a35
Merge branch 'feature/vm_refactor' into feature/vm_refactor_emscripten_lib
2019-01-10 21:38:57 -08:00
Syrus
de459fa5bd
Isolated emscripten in new lib
2019-01-10 21:38:10 -08:00
Lachlan Sneff
230e43a894
Rewrite exports and imports
2019-01-10 23:00:05 -05:00
Syrus
e11b8c5599
Improved fast-tests feature to skip slow big-test compilation
2019-01-10 11:38:57 -08:00
Lachlan Sneff
2e26f8547e
Fix arithmetic NaN handling in f32.nearest and f64.nearest
2019-01-10 12:20:23 -05:00
Lachlan Sneff
c44dcfec2b
call_indirect checks signature structural equality instead of nominal equality
2019-01-10 11:26:52 -05:00
Lachlan Sneff
e7e62cb6b7
Down to 30 failing spectests
2019-01-09 23:43:18 -05:00
Lachlan Sneff
874df337c0
Merge branch 'feature/vm_refactor' of github.com:wasmerio/wasmer into feature/vm_refactor
2019-01-09 21:15:08 -05:00
Lachlan Sneff
0c6f76a8ef
Fix more spectests
2019-01-09 21:14:35 -05:00
Brandon Fish
3e641d9f89
Updates to get wasmer crate compiling
2019-01-09 19:45:48 -06:00
Lachlan Sneff
985e2b2f42
Fix support for floating point numbers
2019-01-09 20:32:02 -05:00
Lachlan Sneff
e72aeddc60
Remove unnecessary stuff
2019-01-09 18:38:39 -05:00
Lachlan Sneff
8c74d0a551
Push debugging stuff to help debug calls not working
2019-01-09 18:32:13 -05:00
Brandon Fish
14c9512cf4
Remove old src/runtime and src/compilers directories
2019-01-09 00:49:11 -06:00
Lachlan Sneff
d696f9e6c8
Add spectests
2019-01-09 01:06:24 -05:00
Lachlan Sneff
2a29c361d3
Next go at spectests
2019-01-08 23:59:55 -05:00
Lachlan Sneff
f0a2f1f3dc
Initial spectests implementation
2019-01-08 23:50:37 -05:00
Lachlan Sneff
cfaa9ff494
Improve imports ergonomics
2019-01-08 22:23:07 -05:00
Lachlan Sneff
82771673b5
Make function imports unsafe
2019-01-08 22:09:09 -05:00
Lachlan Sneff
bba168e61e
Support imported functions
2019-01-08 21:57:28 -05:00
Lachlan Sneff
7324c85749
Add clif-backend crate and runtime example
2019-01-08 16:04:03 -05:00
Lachlan Sneff
8a73ff71af
Add separated runtime crate
2019-01-08 12:10:07 -05:00