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
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