Eric Holk | 16f8061 | 2016-04-04 17:07:42 -0700 | [diff] [blame] | 1 | # Wasm Prototype Experiment Notes |
| 2 | |
| 3 | Here's the command I use to test: |
| 4 | |
| 5 | ``` |
| 6 | LD_LIBRARY_PATH=~/nacl/v8/out/native/lib.target make -j48 \ |
| 7 | -f Makefile.standalone WASM=1 && \ |
| 8 | LD_LIBRARY_PATH=~/nacl/v8/out/native/lib.target ./pnacl-sz -O2 -filetype=asm \ |
| 9 | -target=arm32 ./torture-s2wasm-sexpr-wasm/20000112-1.c.s.wast.wasm |
| 10 | ``` |
| 11 | |
| 12 | You'll probably need to adjust your `LD_LIBRARY_PATH` to point to where your v8 |
| 13 | libraries are. |
| 14 | |
| 15 | You'll need to build v8 as a shared library. Build it like this: |
| 16 | |
| 17 | ``` |
| 18 | make -j48 native component=shared_library |
| 19 | ``` |
| 20 | |
Eric Holk | 67c7c41 | 2016-04-15 13:05:37 -0700 | [diff] [blame] | 21 | `wasm-run-torture-tests.py` can be used to run all the tests, or some |
| 22 | subset. Running a subset will enable verbose output. You can download the |
| 23 | torture tests from the [WebAssembly waterfall](https://wasm-stat.us/console) or |
| 24 | by running `./fetch-torture-tests.sh`. |
| 25 | |
| 26 | |
| 27 | To compile and run an executable, do the following from the subzero directory. |
| 28 | |
| 29 | ``` |
| 30 | ./pnacl-sz -filetype=obj -o foo.o foo.wasm |
| 31 | clang -m32 foo.o src/wasm-runtime.c |
| 32 | ./a.out |
| 33 | ``` |
| 34 | |
| 35 | Other useful commands: |
| 36 | |
| 37 | Compile a C file to a .wasm |
| 38 | ``` |
| 39 | ./wasm-install/bin/emscripten/emcc hello-wasm.c -s BINARYEN=1 |
| 40 | ./wasm-install/bin/sexpr-wasm a.out.wast -o a.out.wasm |
| 41 | ``` |