summaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* wasm-reduce tool (#1139)Alon Zakai2017-09-011-4/+13
| | | Reduce an interesting wasm to a smaller still interesting wasm. This takes an arbitrary command to run, and reduces the wasm as much as it can while keeping the behavior of that command fixed. This can be used to reduce compiler bugs in an arbitrary VM, etc.
* i64 to i32 lowering for wasm2asm (#1134)Thomas Lively2017-09-011-5/+7
|
* Move test/local-revision into test/wasm-install (#1157)Sam Clegg2017-08-301-9/+8
| | | | This means you can do `rm -rf test/wasm-install` and have it get redownloaded.
* Fix locaion of wasm-merge in auto_update_tests.py (#1151)Sam Clegg2017-08-291-2/+5
| | | | | Also, fix -l and -rpath lib directories so that it can be run out-of-tree
* wasm2asm test generation (#1124)Thomas Lively2017-08-161-10/+49
| | | | | | | | | | | | | | | | | * Translate assert_return invokes to asm * Translate assert_trap tests to JS * Enable wasm2asm tests * Fix wasm2asm translation of store * Update ubuntu nodejs in Travis * Free JSPrinter buffer * Use unique_ptr for Functions to prevent leaks * Add tests for assert translation
* Get wasm2asm building again (#1107)Thomas Lively2017-08-023-2/+57
| | | | | | | | | | | | | | | | | | * Get wasm2asm building again Updates CMakeLists.txt to have wasm2asm built by default, updates wasm2asm.h to account for recent interface changes, and restores JSPrinter functionality. * Implement splice for array values * Clean up wasm2asm testing * Print semicolons after statements in blocks * Cleanups and semicolons for condition arms * Prettify semicolon emission
* Add shared memories (#1069)Derek Schuff2017-06-271-1/+2
| | | | | Begin to implement wasm threading proposal in https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md This PR just has shared memory attribute with wast and binary support.
* Fix path to wasm-ctor-eval binary used in test codeSam Clegg2017-06-091-0/+1
|
* S2wasm runtime funcs (#1027)jgravelle-google2017-06-051-4/+11
| | | | | | | | | | | | | | | | * Generate stackSave function in s2wasm * Generate stackAlloc in s2wasm * Generate stackRestore in s2wasm * Update dot_s tests for runtime functions * Add s2wasm check for exporting runtime functions * Fix flake8 for s2wasm.py * Rename wasmBuilder to builder
* Unreachable typing fixes (#1004)Alon Zakai2017-05-091-0/+5
| | | | | | | | | | | | * fix type of drop, set_local, set_global, load, etc: when operand is unreachable, so is the node itself * support binary tests properly in test/passes * fix unreachable typing of blocks with no name and an unreachable child * fix continue emitting in asm2wasm * properly handle emitting of unreachable load
* --no-js-ffi opt to disable JS FFI mangling. (#984)Joel Martin2017-05-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Always use scripts.test.shared for bin paths. Update scripts/test/shared.py to add WASM_MERGE relative to build directory. Update auto_update_tests.py to use scripts.test.shared variables for all bin paths. Update check.py to use scripts.test.shared for wasm-merge path (this was missing). This allows check.py and auto_update_tests.py to be run from the source directory using built binaries in a different location. * --no-legalize-javascript-ffi disables JS FFI mangling. For JS/Web platform, calls to JS imports are wrapped to convert i64 to i32 and f32 to f64. Likewise calls from JS into exports do the inverse wrapping. This change provides an option to disable that wrapping and use the original types for the call. Includes tests test/noffi_f32.asm.js and test/noffi_i64.asm.js to make sure neither f32->f64 nor i64->i32 type mangling is happening when --no-legalize-javascript-ffi is specified. To fully disable JS FFI mangling when using emscripten, the fastcomp FFI mangling must also be disabled using the -emscripten-legalize-javascript-ffi=0 flag.
* fix s2wasm.py hanging indent (#969)Alon Zakai2017-04-171-2/+2
|
* s2wasm: Add command line option for importing memory (#963)Max Klein2017-04-121-0/+6
| | | | | | This option allows to import the linear memory from JS code instead of exporting it. --emscripten-glue does this too but often the emscripten glue isn't needed, so this option only affects the memory. All the code necessary for importing the memory basically already exists, so nothing except for the command line option itself had to be added.
* Read/Write Abstraction (#889)Alon Zakai2017-01-261-11/+11
| | | | | * Added ModuleReader/Writer classes that support text and binary I/O * Use them in wasm-opt and asm2wasm
* Refactor check.py so that groups of tests can be split into separate … (#849)jgravelle-google2016-12-064-0/+526
| | | | | | | | | | | | | | * Refactor check.py so that groups of tests can be split into separate files - Move helper util functions into test/shared.py - Move scripts/support.py to test/support.py - Split s2wasm tests into its own file * Fix flake8 warnings for shared.py and s2wasm.py * Move test scripts from test/ to scripts/test/ * Replace 'from shared import *' with explicit imports
* fix python spacing in some scripts (#841)Alon Zakai2016-11-152-0/+2
|
* Add priority to copies on backedges (#791)Alon Zakai2016-10-201-0/+13
| | | | | | | | * add a coalesce-locals test for costly backedges * add script to strip local names out, for convenient diffing * prioritize backedge copies
* pass/wast fuzzer improvementsAlon Zakai2016-10-131-3/+5
|
* update spidermonkify.pyAlon Zakai2016-10-111-18/+1
|
* DCE bugfix (#736)Alon Zakai2016-10-041-0/+136
| | | | | * fix a dce bug where it is invalid to truncate a block if it leaves a final element with a bad type (wasm doesn't always allow removing unreachable code) * add wast pass fuzzer
* add a pass fuzzer script (#709)Alon Zakai2016-09-231-0/+146
|
* Update s2wasm for 0xc changes (#698)Derek Schuff2016-09-151-1/+8
| | | | | | | | | | | Several updates for s2wasm and its tests: Add explicit drops where they are emitted by LLVM already Convert loops (which are still modeled in the old way by LLVM) to wrap them in an explicit block (for the exit label). This also allows simplifying the loop creation (no need to post-process the implicit block which is the loop's body). After the engines update to 0xc we should update LLVM to model loops in the 0xc way, but for now it remains compatible with 0xb and 0xc. Fix the order of the calls to setTee() when creating tee_locals Add an explicit drop when creating the _start entry function wrapper if needed Update dot_s and llvm_autogenerated tests to remove store-results optimization (and few other minor updates) Fix the test auto-updater to fail if subprocesses fail There still seems to be a validation failure when building libc (I think it's from the stricter drop rules, but it may be in the source rather than the compiler), but this at least makes Binaryen's tests pa
* add drop and tee expressionsAlon Zakai2016-09-071-2/+4
|
* fix parsing in split_wastAlon Zakai2016-09-071-1/+6
|
* update relooper fuzzerAlon Zakai2016-07-181-1/+1
|
* separate wasm-opt out from wasm-shell: opt optimizes, shell runs wast shell ↵Alon Zakai2016-07-131-0/+57
| | | | tests
* add a tracing option to the c api, which logs out a runnable program from c ↵Alon Zakai2016-07-121-0/+23
| | | | api calls
* Relooper switch support (#617)Alon Zakai2016-07-021-4/+41
| | | | | | * support switches in relooper and c api * update relooper fuzzer for switches
* rewrite OptimizeInstructions to use a dsl of patternsAlon Zakai2016-06-261-0/+16
|
* use separate internal opcodes for binary variantsAlon Zakai2016-05-181-6/+6
|
* remove obsolete comment from relooper fuzzerAlon Zakai2016-05-071-1/+1
|
* relooper fuzzing improvements (#453)Alon Zakai2016-05-061-15/+22
|
* add a fuzzer for the relooper through the C APIAlon Zakai2016-05-061-0/+282
|
* br_table offsets are int32s, not lebsAlon Zakai2016-04-221-2/+2
|
* update wasm.jsAlon Zakai2016-04-211-0/+3
|
* fix spidermonkifyAlon Zakai2016-04-211-5/+8
|
* spidermonkify debugging commentAlon Zakai2016-04-211-1/+5
|
* we export memory properly now, no need in spidermonkify.pyAlon Zakai2016-03-301-10/+0
|
* python fixAlon Zakai2016-03-121-1/+0
|
* update spidermonkify.py to not fix page size, which is already done nowAlon Zakai2016-03-121-10/+4
|
* Re-enable flake8JF Bastien2016-03-121-9/+26
| | | | Was disabled in https://github.com/WebAssembly/binaryen/pull/229
* commentAlon Zakai2016-03-091-0/+2
|
* remove lower-if-else from spidermonkifyAlon Zakai2016-03-071-8/+0
|
* remove br_table hack in spidermonkfiyAlon Zakai2016-03-071-2/+0
|
* remove temp fileAlon Zakai2016-03-071-0/+1
|
* no need for .buffer for instantiateModuleAlon Zakai2016-03-061-4/+0
|
* more python fixesAlon Zakai2016-03-051-6/+6
|
* more python fixesAlon Zakai2016-03-051-2/+4
|
* python formattingAlon Zakai2016-03-051-5/+16
|
* spidermonkify improvements, enough for -O1 hello world to workAlon Zakai2016-03-051-1/+2
|