Syrus
d67bfdb2c5
Renamed dynasm backend to singlepass
2019-04-11 12:44:03 -07:00
Lachlan Sneff
1cb3fbea0a
Add support for panicking/returning err back to llvm
2019-04-10 14:17:10 -07:00
Lachlan Sneff
cc656b26a9
Add implementations for typed func errors to cranelift and llvm
2019-04-09 17:09:33 -07:00
Brandon Fish
1ff6ed6d1b
Add Export and GlobalDescriptor to Runtime API
2019-04-02 22:10:49 -05:00
Ivan Enderlin
316cbc54ab
doc(lib) Add basic README.md
.
2019-03-29 10:17:24 +01:00
Mark McCaskey
315d8286c4
clean up (second pass)
2019-03-27 14:08:17 -07:00
Mark McCaskey
09068c1a74
clean up implementation
2019-03-27 14:01:27 -07:00
Mark McCaskey
9c58bed344
add support for symbol maps
2019-03-26 16:41:40 -07:00
losfair
395161acdc
Merge remote-tracking branch 'origin/master' into feature/dynasm-backend
2019-03-20 19:54:29 +08:00
Lachlan Sneff
5657be1df0
Merge branch 'master' into add-versioning-to-cache
2019-03-19 16:22:55 -07:00
Mark McCaskey
cd9ef3c49a
fix bugs and clean up path logic
2019-03-19 11:31:45 -07:00
Mark McCaskey
8e5f250ed0
generate the hash at compile time
2019-03-19 10:58:58 -07:00
losfair
01f18b2f43
Merge remote-tracking branch 'origin/master' into feature/dynasm-backend
2019-03-20 01:57:40 +08:00
Mark
874b613f56
fmt it
2019-03-18 17:46:06 -07:00
Mark
2580871f63
update the binary too
2019-03-18 17:40:36 -07:00
Mark
a152b85729
Add versioning to cache
2019-03-18 17:27:23 -07:00
losfair
b06a49e1c0
Move wasmer-dynasm-backend out of default-compiler.
2019-03-18 16:22:57 +08:00
losfair
cd5c1456d7
Fix default compiler.
2019-03-18 16:15:48 +08:00
losfair
6c40ea1cb5
Cargo fmt more files.
2019-03-18 00:35:55 +08:00
losfair
08f4526b45
Merge remote-tracking branch 'origin/master' into feature/dynasm-backend
2019-03-17 21:14:01 +08:00
Ivan Enderlin
92ff24f5a2
feat(runtime) Make default_compiler
public.
...
This is required to be able to deserialize a serialized module in
`runtime-c-api`.
2019-03-15 12:04:23 +01:00
Brandon Fish
557be77338
Merge branch 'master' into feature/dynasm-backend
2019-03-12 20:58:22 -05:00
Mackenzie Clark
ee55cd5e64
create an llvm flag
2019-03-11 09:58:09 -07: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