Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add atomic loads and stores (#1077) | Derek Schuff | 2017-06-28 | 11 | -86/+224 | |
| | | | | | Add IR, wast and binary support for atomic loads and stores. Currently all IR generated by means other than parsing wast and binary files always generates non-atomic accesses, and optimizations have not yet been made aware of atomics, so they are certainly not ready to be used yet. | |||||
* | Runtime.stackAlloc should grow down for wasm (#1073) | jgravelle-google | 2017-06-28 | 1 | -8/+4 | |
| | | | | | | * Runtime.stackAlloc should grow down for wasm * stackAlloc should align properly; update tests | |||||
* | Add shared memories (#1069) | Derek Schuff | 2017-06-27 | 6 | -29/+57 | |
| | | | | | 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. | |||||
* | Consistently handle possible traps in all cases (#1062) | Alon Zakai | 2017-06-22 | 3 | -11/+81 | |
| | | | | | | * consistently handle possible traps in asm.js ffi results * consistently handle possible traps in i64/float conversions | |||||
* | Change char to auto to avoid type-limits warn on some arches (#1066) | Jakub Jirutka | 2017-06-22 | 1 | -1/+1 | |
| | | | Fixes #1059 | |||||
* | Untee pass (#1053) | Alon Zakai | 2017-06-14 | 4 | -3/+66 | |
| | ||||||
* | S-expression parsing in C API and binaryen.js (#1050) | Alon Zakai | 2017-06-13 | 3 | -0/+29 | |
| | | | | | | * add C API and binaryen.js support for parsing s-expressions * update js builds and tests | |||||
* | SSA pass (#1049) | Alon Zakai | 2017-06-13 | 13 | -29/+698 | |
| | | | | | | | * Add SSA pass which ensures a single assign for each local, except for merged locals where we ensure exactly a single assign from one of the paths leading to that use * Also add InstrumentLocals pass, useful for debugging locals (similar to InstrumentMemory but for locals) * Fix a PickLoadSigns bug with tees not being ignored, which was not noticed until now because we ran it on flatter output by default, but the ssa pass uncovered the bug | |||||
* | fix interpreted code from wasm.js (#1043) | Alon Zakai | 2017-06-12 | 1 | -2/+2 | |
| | | | | | | * fix interpreted code from wasm.js, when the result is none, we must return an empty Literal (the interpreter now asserts on this, it didn't before) * update js builds | |||||
* | Support new result syntax for if/loop/block (#1047) | Sam Clegg | 2017-06-12 | 7 | -25/+37 | |
| | | | | | | Support both syntax formats in input since the old spec tests still need to be parsable. | |||||
* | Optimize/merge duplicate function types (#1041) | Alon Zakai | 2017-06-12 | 1 | -1/+66 | |
| | ||||||
* | Log callImport fatal error to cerr so it is not buffered. (#1036) | Sam Clegg | 2017-06-12 | 3 | -3/+13 | |
| | | | | | | | Use Fatal() rather than stdout or report callImport error Without this the write to stdout can be lost (Since the following line aborts) | |||||
* | Output inf/-inf rather than infinity/-infinity | Sam Clegg | 2017-06-09 | 1 | -1/+1 | |
| | | | | | wast2wasm wes recently updated to only support the former: https://github.com/WebAssembly/wabt/pull/482 | |||||
* | C API fixes (#1042) | Alon Zakai | 2017-06-07 | 1 | -16/+17 | |
| | | | | | | * fix mutex usage in C API, and some minor cleanup around it too * update testcase that was forgotten to be updated before | |||||
* | Update binaryen-c/binaryen.js, fixes #1028, fixes #1029 (#1030) | Daniel Wirtz | 2017-06-07 | 6 | -11/+179 | |
| | | | This PR adds global variable support (addGlobal, getGlobal, setGlobal), host operations (currentMemory, growMemory), a few utility functions (removeImport, removeExport, getFunctionTypeBySignature with the latter being scheduled for removal once a better alternative is in place) and it introduces an additional argument to specify the result type in BinaryenBlock (effectively breaking the C-API but retaining previous behaviour by introducing the BinaryenUndefined() type for this purpose). Additionally, it enables compilation with exception support in build-js.sh as exceptions are thrown and caught when optimizing endless loops, intentionally resulting in an unreachable opcode. Affected test cases have been updated accordingly. | |||||
* | S2wasm runtime funcs (#1027) | jgravelle-google | 2017-06-05 | 4 | -16/+137 | |
| | | | | | | | | | | | | | | | | * 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 | |||||
* | validate returned values in all cases, even if the function returns none we ↵ | Alon Zakai | 2017-06-02 | 1 | -6/+4 | |
| | | | | should still not have returns with a value, etc. update spec tests to remove some stacky tests that do not fit these new validation rules (#1034) | |||||
* | clean up unnecessary spacing | Alon Zakai | 2017-06-01 | 1 | -1/+1 | |
| | ||||||
* | use atoll in getCheckedAddress string parsing | Alon Zakai | 2017-06-01 | 1 | -1/+1 | |
| | ||||||
* | refactor s-expr parsing code to remove duplication and unnecessary things | Alon Zakai | 2017-06-01 | 2 | -39/+23 | |
| | ||||||
* | remove unneeded code in interpreter | Alon Zakai (kripken) | 2017-06-01 | 1 | -1/+0 | |
| | ||||||
* | error if select sides are concrete but different | Alon Zakai (kripken) | 2017-06-01 | 1 | -0/+3 | |
| | ||||||
* | fix fuzz-exec catching of traps, they can occur during init, not just call | Alon Zakai (kripken) | 2017-06-01 | 1 | -6/+7 | |
| | ||||||
* | handle out of range memory size values in s-expr parsing | Alon Zakai (kripken) | 2017-06-01 | 1 | -2/+10 | |
| | ||||||
* | handle out of range break offset parsing | Alon Zakai | 2017-06-01 | 1 | -0/+2 | |
| | ||||||
* | verify s-expr parsing of alignments | Alon Zakai | 2017-06-01 | 1 | -2/+6 | |
| | ||||||
* | validate memory/table Address values in s-expr parsing | Alon Zakai (kripken) | 2017-06-01 | 1 | -4/+20 | |
| | ||||||
* | trap on bad result types in shell-interface callTable | Alon Zakai (kripken) | 2017-06-01 | 1 | -0/+3 | |
| | ||||||
* | handle empty stack in sourceToUnique | Alon Zakai (kripken) | 2017-06-01 | 1 | -1/+4 | |
| | ||||||
* | host op parsing error handling | Alon Zakai (kripken) | 2017-06-01 | 2 | -2/+11 | |
| | ||||||
* | handle duplicate functions in s-expr parsing | Alon Zakai (kripken) | 2017-06-01 | 1 | -0/+1 | |
| | ||||||
* | throw parse errors in UniqueNameMapper | Alon Zakai (kripken) | 2017-06-01 | 1 | -2/+8 | |
| | ||||||
* | handle duplicate function types in s-expr parsing | Alon Zakai (kripken) | 2017-06-01 | 1 | -0/+2 | |
| | ||||||
* | handle duplicate imports and globals in s-expr parsing | Alon Zakai (kripken) | 2017-06-01 | 1 | -0/+6 | |
| | ||||||
* | handle a parse error of a function declaration with mixed import inside | Alon Zakai (kripken) | 2017-06-01 | 1 | -0/+1 | |
| | ||||||
* | s-expr parsing: handle empty switch | Alon Zakai (kripken) | 2017-06-01 | 1 | -0/+1 | |
| | ||||||
* | harden parsing.h | Alon Zakai (kripken) | 2017-06-01 | 1 | -46/+50 | |
| | ||||||
* | harden s-expr parsing | Alon Zakai (kripken) | 2017-06-01 | 1 | -25/+29 | |
| | ||||||
* | fix call depth detection in wasm-opt interpreting | Alon Zakai (kripken) | 2017-06-01 | 2 | -2/+2 | |
| | ||||||
* | handle the wrong number of functions being provided in binary format | Alon Zakai (kripken) | 2017-06-01 | 1 | -0/+8 | |
| | ||||||
* | in extra pass-debug validation, don't assume there is always a function, the ↵ | Alon Zakai (kripken) | 2017-06-01 | 1 | -1/+1 | |
| | | | | error may be in a global init | |||||
* | Exporting/importing debug location information from .wast/.asm.js/.s formats ↵ | Yury Delendik | 2017-06-01 | 15 | -27/+438 | |
| | | | | | | | | (#1017) * Extends wasm-as, wasm-dis and s2wasm to consume debug locations. * Exports source map from asm2wasm | |||||
* | Refactor optimization opts (#1023) | Alon Zakai | 2017-05-24 | 3 | -98/+129 | |
| | | | | * refactor optimization opts helper code to a class | |||||
* | More fuzz fixes (#1021) | Alon Zakai | 2017-05-22 | 1 | -4/+16 | |
| | | | | | | * validate that memory/table segment values fit in the initial range * validate that select condition should be i32 | |||||
* | add --fuzz-exec option to wasm-opt, which (when possible) executes results ↵ | Alon Zakai (kripken) | 2017-05-20 | 1 | -0/+73 | |
| | | | | before and after optimizations are run, checking for changes. this can be used when fuzzing | |||||
* | relooper improvements | Alon Zakai (kripken) | 2017-05-20 | 2 | -1/+9 | |
| | ||||||
* | use TypeUpdater in vacuum | Alon Zakai (kripken) | 2017-05-20 | 2 | -36/+48 | |
| | ||||||
* | afl-fuzz bug fixes (#1018) | Alon Zakai | 2017-05-20 | 2 | -0/+7 | |
| | | | | | | | | * values cannot flow through an if without an else, they never return a value * check pass tests in pass-debug mode too * add missing finalization in binary reading | |||||
* | Address review feedback for #1014 (#1016) | Alon Zakai | 2017-05-18 | 8 | -35/+77 | |
| | | | | | | * address review feedback for #1014 | |||||
* | optimize dceing of blocks and known-to-exist children (#1015) | Alon Zakai | 2017-05-18 | 1 | -57/+34 | |
| |