Brandon Fish
557be77338
Merge branch 'master' into feature/dynasm-backend
2019-03-12 20:58:22 -05:00
Syrus
4acb826bf2
Fixed default compiler on windows
2019-03-07 19:11:29 -08:00
Syrus
3a4325c5a3
Only use llvm in non windows envs
2019-03-07 18:26:29 -08:00
Lachlan Sneff
fe8f8a0132
Add illegal arithmetic runtime error
2019-03-04 19:56:02 -08:00
Lachlan Sneff
2969409ca7
Add hacky reinterpret instructions and pop used arguments off the value stack
2019-03-04 16:44:46 -08:00
Lachlan Sneff
7ef2c0dece
Fix execute after free issue with llvm (and presumably cranelift?)
2019-03-04 14:41:56 -08:00
Lachlan Sneff
4e198bca8b
merge upstream/master into wasmer-private/feature/llvm-backend
2019-03-04 13:03:32 -08: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
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
87ddf4f855
Add personality function.
...
- This is part of supporting exceptions in the future.
2019-03-02 10:20:18 -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
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
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
Syrus
60f8f15db3
Updated version to 0.2.1
2019-02-27 17:20:49 -08:00
Syrus
f7197bf456
Added debug build
2019-02-26 15:39:54 -08:00
Syrus
53c8603464
Updated crates version to 0.2.0
2019-02-25 13:33:33 -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
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
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
Lachlan Sneff
f1b190743b
Change file.write to file.write_all
2019-02-21 17:11:28 -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
f9d7d56195
Add documentation and make load safe
2019-02-21 14:00:33 -08:00
Lachlan Sneff
7fa818ea06
Finalize new cache api
2019-02-21 11:47:28 -08:00
Lachlan Sneff
336c1d9c5f
Fix lint
2019-02-20 17:00:48 -08:00
Lachlan Sneff
82eea00a02
Saved
2019-02-19 15:36:22 -08:00
Lachlan Sneff
e381bbd07b
Use ModuleInfo instead of ModuleInner when possible
2019-02-18 11:56:20 -08:00
losfair
8d8db4aa09
Starting integration.
2019-02-14 00:53:36 +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
Lachlan Sneff
00db5410c5
Change memory access api again
2019-02-04 23:07:58 -08:00
Lachlan Sneff
dcc75b98ba
Fix some tests
2019-02-02 16:02:28 -08:00
Lachlan Sneff
ccd43df767
Instantiate takes reference
2019-02-02 15:58:33 -08:00
Lachlan Sneff
eba66f3b33
Add typed functions and weird type parameter things
2019-02-02 15:28:50 -08:00
Lachlan Sneff
69e9c5154d
Add Pages and Bytes newtypes
2019-01-29 15:44:15 -08:00
Lachlan Sneff
581363119b
More review fixes
2019-01-29 13:04:42 -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
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
Syrus
29a3af11fc
Updated lib crate versions
2019-01-25 10:38:31 -08:00