Commit Graph

6495 Commits

Author SHA1 Message Date
Syrus
533983855d Fixed lint 2020-05-26 18:15:45 -07:00
Syrus
7db247e07c Added basic external tests 2020-05-26 18:12:01 -07:00
Syrus
64a51edc55 Improved types comparators 2020-05-26 18:11:51 -07:00
Nick Lewycky
10bb7a3e1e Fix discovery of stack base and size on mac. 2020-05-26 18:10:18 -07:00
Syrus Akbary
2c50e37f24 Merge pull request #63 from wasmerio/doc-warn
This is a normal comment, not a doc comment.
2020-05-26 18:02:57 -07:00
Nick Lewycky
448ae82ea2 This is a normal comment, not a doc comment. 2020-05-26 18:02:03 -07:00
Syrus Akbary
1ac65210cc Merge pull request #19 from wasmerio/use-signal-traps
Use a default TrapCode for memory access errors
2020-05-26 17:44:39 -07:00
Nick Lewycky
0b8e6e546e Auto-detect stack overflow vs heap out of bounds for traps caused by SIGSEGV and SIGBUS. 2020-05-26 17:38:53 -07:00
Nick Lewycky
d49ed7bd64 Fix build after rebase on master. 2020-05-26 17:38:18 -07:00
Nick Lewycky
321c452656 Use a default TrapCode for memory access errors 2020-05-26 17:34:05 -07:00
nlewycky
a46a249b0c Merge pull request #60 from wasmerio/llvm-dupe-type-code
Code cleanup. Remove reimplementation of type_to_llvm_ptr, use the one in intrinsics instead.
2020-05-26 15:49:00 -07:00
nlewycky
f1268a3b28 Merge pull request #59 from wasmerio/llvm-volatile-memaccess
Prevent loads and stores from being deleted.
2020-05-26 15:26:20 -07:00
Nick Lewycky
b035ebada2 Code cleanup. Remove reimplementation of type_to_llvm_ptr, use the one in intrinsics instead. 2020-05-26 15:22:24 -07:00
Nick Lewycky
bd8ffd6a17 Remove dead argument from CtxType::memory. 2020-05-26 14:59:59 -07:00
Nick Lewycky
7a1ac7b843 Don't mark loads and stores volatile when they're bounds checked at runtime. 2020-05-26 14:57:11 -07:00
Nick Lewycky
3d654d2c25 Add function that marks loads/store volatile. Static/dynamic condition is TODO.
Now that we apply three annotations to every user memory access, factor it out into a new function to apply them.

We do this for the load and stores, but not yet the atomicrmw's.
2020-05-26 14:57:11 -07:00
Nick Lewycky
2089c0a163 Support variable memory indices in the TBAA labelling too. 2020-05-26 14:57:11 -07:00
Nick Lewycky
07ec1fc004 Make memory_index a variable, we'll be reusing it soon. 2020-05-26 14:57:11 -07:00
Nick Lewycky
c82fe5fe8f Add a MemoryIndex parameter to resolve_memory_ptr.
It's always zero today, but it won't always be.
2020-05-26 14:57:05 -07:00
Syrus
659f113c95 Improved internal docs 2020-05-26 13:28:00 -07:00
Syrus
6e2ff6c749 Added dummy engine to api 2020-05-26 13:27:49 -07:00
Mark McCaskey
669fc76545 Merge pull request #58 from wasmerio/fix-wasmer-import-object-example
fix(api) The `func!` macro has been removed, fix example
2020-05-26 12:19:09 -07:00
Nick Lewycky
8a6f3beef5 memory_plans is a member, we don't need to pass it around. 2020-05-26 11:25:32 -07:00
nlewycky
09b0a0eb72 Merge pull request #36 from wasmerio/llvm-pic
Add support for producing .o files as PIC.
2020-05-26 11:19:08 -07:00
Mark McCaskey
d8b6e73338 Merge pull request #54 from wasmerio/feat-api-import
feat(api) Import from the current crate.
2020-05-26 11:06:03 -07:00
Nick Lewycky
3c9c214b2c Less editorializing. 2020-05-26 10:41:20 -07:00
Nick Lewycky
b81e241cdf Add support for producing .o files as PIC.
We then can't handle the relocations in those .o files, but it's progress.
2020-05-26 10:41:13 -07:00
Syrus Akbary
c2142752f8 Merge pull request #57 from wasmerio/feat-api-global-debug
feat(api) Implement `Debug` for `Global`
2020-05-26 10:16:12 -07:00
nlewycky
434afb071b Merge pull request #51 from wasmerio/llvm-probestack
Emit stack probes in LLVM.
2020-05-26 10:15:06 -07:00
nlewycky
b7747ec9de Merge branch 'master' into llvm-probestack 2020-05-26 09:40:33 -07:00
Ivan Enderlin
4c2b64a752 fix(api) The func! macro has been removed, fix example. 2020-05-26 14:37:47 +02:00
Ivan Enderlin
c20a237af4 feat(api) Implement Debug for Global. 2020-05-26 11:26:24 +02:00
Ivan Enderlin
fd43f8b833 doc(runtime) Fix a typo. 2020-05-26 11:26:13 +02:00
Syrus Akbary
9179ed02fc Merge pull request #53 from wasmerio/feat-compiler-wasmparser
feat(compiler) Simplify `wasmparser` re-export.
2020-05-25 23:13:41 -07:00
Syrus Akbary
73802fddeb Merge pull request #55 from wasmerio/feat-api-memroy-view-macro
feat(api) Use macro to avoid code duplication
2020-05-25 23:13:16 -07:00
Ivan Enderlin
ea9eb29daf Merge pull request #56 from wasmerio/feat-compiler-llvm-clean-up-comments
chore(compiler-llvm) Clean up comments
2020-05-25 21:49:57 +02:00
Ivan Enderlin
b5f0caf4be chore(compiler-llvm) Clean up comments. 2020-05-25 21:15:02 +02:00
Heyang Zhou
b2876ef3c8 Merge pull request #49 from wasmerio/singlepass-trap-opt
singlepass: Reduce machine code complexity on conditional trap.
2020-05-26 00:39:18 +08:00
nlewycky
31242bfb07 Merge pull request #52 from wasmerio/llvm-readonly-size
Add llvm 'readonly' attribute to calls of the memory size function.
2020-05-25 09:19:49 -07:00
Ivan Enderlin
7615052adb feat(api) Use macro to avoid code duplication. 2020-05-25 14:49:54 +02:00
Ivan Enderlin
58502f5d99 feat(api) Import from the current crate.
This patch imports `MemoryType`, `Pages` and `TableType` from the
current crate, which already re-exports them from the `wasm_common`
crate, but this way we reduce multiple dependencies from multiple
modules.
2020-05-25 14:17:48 +02:00
Ivan Enderlin
e3899045a1 feat(compiler) Simplify wasmparser re-export. 2020-05-25 11:15:21 +02:00
Nick Lewycky
630be7733d Add llvm 'readonly' attribute to calls of the memory size function.
In passing, delete a lot of dead code. Remove old VM intrinsics for memory.size, memory.grow and breakpoints.
2020-05-22 16:55:57 -07:00
Syrus
465604fa90 Improved comments 2020-05-22 13:33:52 -07:00
Syrus
f78072a8f1 Fixed compilation issues 2020-05-22 13:30:40 -07:00
Syrus
bcd42a1ede DummyEngine is now working all the way 2020-05-22 13:24:38 -07:00
Syrus
7c19649808 Merge branch 'master' into tests 2020-05-22 12:04:31 -07:00
Syrus Akbary
17908b6b45 Merge pull request #48 from wasmerio/feat-compiler-custom-sections
feat(runtime) Add custom sections to module info
2020-05-22 11:58:48 -07:00
Syrus
ed2b4c5761 Added custom sections to the base API 2020-05-22 11:51:31 -07:00
Syrus
5e161d3091 Use more flexible implementation for custom sections 2020-05-22 11:22:49 -07:00