diff options
author | Alon Zakai <alonzakai@gmail.com> | 2017-04-28 14:34:25 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-28 14:34:25 -0700 |
commit | a88d9b83a4629f4bf4c3b210b07d11d2396c594d (patch) | |
tree | 0df6fa75b22d4eb5a1590e6ee9fe5e6352ace5e4 /test/ctor-eval/unsafe_store3.wast | |
parent | 5d4f9eb82226acc0fdb5e2dea1a04e17c340c371 (diff) | |
download | binaryen-a88d9b83a4629f4bf4c3b210b07d11d2396c594d.tar.gz binaryen-a88d9b83a4629f4bf4c3b210b07d11d2396c594d.tar.bz2 binaryen-a88d9b83a4629f4bf4c3b210b07d11d2396c594d.zip |
ctor evaller (#982)
Add wasm-ctor-eval, which evaluates functions at compile time - typically static constructor functions - and applies their effects into memory, saving work at startup. If we encounter something we can't evaluate at compile time in our interpreter, stop there.
This is similar to ctor_evaller.py in emscripten (which was for asm.js).
Diffstat (limited to 'test/ctor-eval/unsafe_store3.wast')
-rw-r--r-- | test/ctor-eval/unsafe_store3.wast | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/ctor-eval/unsafe_store3.wast b/test/ctor-eval/unsafe_store3.wast new file mode 100644 index 000000000..701e4b32e --- /dev/null +++ b/test/ctor-eval/unsafe_store3.wast @@ -0,0 +1,10 @@ +(module + (memory 256 256) + (data (i32.const 10) "waka waka waka waka waka") + (export "test1" $test1) + (export "test2" $test2) + (export "test3" $test3) + (func $test1 + (i32.store16 (i32.const 33) (i32.const 109)) ;; after last segment due to size of type + ) +) |