Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | allocate only expressions in arenas - functions, imports, exports, function ↵ | Alon Zakai | 2016-04-27 | 2 | -7/+10 |
| | | | | types, can more simply be held by unique_ptrs on the owning module. this avoids need to coordinate arena allocation for their elements, and only the far more plentiful expression nodes are a perf factor anyhow | ||||
* | add an ArenaVector for internal array allocations in expression nodes | Alon Zakai | 2016-04-26 | 3 | -3/+4 |
| | |||||
* | ast_utils improvements (#399) | Alon Zakai | 2016-04-26 | 1 | -6/+3 |
| | | | | | | | | | * make EffectAnalyzer a little more fun to use * create a convert() method that can turn a node into a smaller node, reusing its memory, and use that in nop() * use convert in wasm-linker | ||||
* | selectify if-elses with no control flow in them | Alon Zakai | 2016-04-25 | 1 | -0/+30 |
| | |||||
* | optimize returns that flow out | Alon Zakai | 2016-04-25 | 1 | -3/+21 |
| | |||||
* | optimize breaks with values in RemoveUnusedBrs, check if their value can ↵ | Alon Zakai | 2016-04-25 | 1 | -14/+32 |
| | | | | flow to the target anyhow | ||||
* | optimize block and if returns, by merging set_locals that flow out of them | Alon Zakai | 2016-04-24 | 1 | -72/+300 |
| | |||||
* | run multiple cycles of RemoveUnusedBrs | Alon Zakai | 2016-04-24 | 1 | -1/+15 |
| | |||||
* | get rid of nops in ifs | Alon Zakai | 2016-04-24 | 1 | -0/+20 |
| | |||||
* | handle general control flow in RemoveUnusedBrs | Alon Zakai | 2016-04-24 | 1 | -59/+89 |
| | |||||
* | vacuum dead code after br_table | Alon Zakai | 2016-04-24 | 1 | -1/+2 |
| | |||||
* | vacuum dead code after unconditional brs | Alon Zakai | 2016-04-24 | 1 | -3/+14 |
| | |||||
* | fix nop printing in br_table | Alon Zakai | 2016-04-21 | 1 | -3/+1 |
| | |||||
* | optimize --vacuum a little | Alon Zakai | 2016-04-20 | 1 | -0/+8 |
| | |||||
* | do not crash when printing an expression whose function is not known | Alon Zakai | 2016-04-20 | 1 | -1/+4 |
| | |||||
* | update MemorySize => CurrentMemory | Alon Zakai | 2016-04-18 | 1 | -1/+1 |
| | |||||
* | handle dead stores in SimplifyLocals | Alon Zakai | 2016-04-18 | 1 | -2/+3 |
| | |||||
* | remove old comments in SimplifyLocals | Alon Zakai | 2016-04-18 | 1 | -2/+1 |
| | |||||
* | create a UnifiedExpressionVisitor for passes that want a single visitor ↵ | Alon Zakai | 2016-04-18 | 11 | -14/+14 |
| | | | | function, to avoid confusion with having both visit* and visitExpression in a single pass (#357) | ||||
* | use a vector for get_local counts in SimplifyLocals (#356) | Alon Zakai | 2016-04-18 | 1 | -1/+2 |
| | |||||
* | index locals, so that get_local and set_local have just an index, and local ↵ | Alon Zakai | 2016-04-18 | 4 | -35/+112 |
| | | | | names are kept on the Function object (#354) | ||||
* | Function parallelism (#343) | Alon Zakai | 2016-04-15 | 8 | -2/+18 |
| | | | | * allow traversals to mark themselves as function-parallel, in which case we run them using a thread pool. also mark some thread-safety risks (interned strings, arena allocators) with assertions they modify only on the main thread | ||||
* | rename function locals, to params and vars, which together are all the ↵ | Alon Zakai | 2016-04-14 | 3 | -8/+8 |
| | | | | locals. preparation for #336 (#349) | ||||
* | drop completely unused locals in ReorderLocals | Alon Zakai | 2016-04-11 | 2 | -1/+10 |
| | |||||
* | continue simplifying locals while opportunities present themselves | Alon Zakai | 2016-04-11 | 1 | -23/+37 |
| | |||||
* | dyn_cast => dynCast | Alon Zakai | 2016-04-11 | 6 | -17/+17 |
| | |||||
* | remove set_locals with no remaining gets in SimplifyLocals | Alon Zakai | 2016-04-11 | 1 | -4/+51 |
| | |||||
* | De-recurse traversals (#333) | Alon Zakai | 2016-04-11 | 12 | -45/+55 |
| | | | | | | | | | | | | * refactor core walking to not recurse * add a simplify-locals test * reuse parent's non-branchey scan logic in SimpleExecutionWalker, reduce code duplication * update wasm.js * rename things following comments | ||||
* | add option to print full ast, no elisions | Alon Zakai | 2016-04-09 | 1 | -6/+28 |
| | |||||
* | clean up in Print | Alon Zakai | 2016-04-09 | 1 | -12/+14 |
| | |||||
* | fold eqz+comparisons | Alon Zakai | 2016-04-09 | 1 | -0/+22 |
| | |||||
* | add missing checks on nested blocks in SimplifyExpressions | Alon Zakai | 2016-04-07 | 1 | -2/+7 |
| | |||||
* | refactor checks in SimplifyLocals | Alon Zakai | 2016-04-07 | 1 | -8/+15 |
| | |||||
* | handle loops in effect analyzer | Alon Zakai | 2016-04-07 | 1 | -8/+19 |
| | |||||
* | fix invalidation logic in SimplifyLocals, visit each node as we hit it, do ↵ | Alon Zakai | 2016-04-07 | 1 | -1/+3 |
| | | | | not walk it to look for invalidating elements that are children, we already saw them | ||||
* | derecurse blocks helper, and use it in SimplifyLocals | Alon Zakai | 2016-04-07 | 1 | -8/+6 |
| | |||||
* | add vacuum pass | Alon Zakai | 2016-04-07 | 1 | -0/+48 |
| | |||||
* | rewrite SimplifyLocals to use FastExecutionWalker | Alon Zakai | 2016-04-07 | 1 | -12/+71 |
| | |||||
* | optimize if-eqz | Alon Zakai | 2016-04-06 | 1 | -0/+43 |
| | |||||
* | refactor printing | Alon Zakai | 2016-04-04 | 1 | -1/+2 |
| | |||||
* | add apis for accessing module elements | Alon Zakai | 2016-04-04 | 1 | -6/+8 |
| | |||||
* | Make type of EqZ unary operators always i32 | Derek Schuff | 2016-03-21 | 1 | -1/+1 |
| | | | | | This makes them symmetric to binary relational operators. Also support eqz in the s2wasm parser. | ||||
* | update spec tests and support eqz | Alon Zakai | 2016-03-19 | 1 | -0/+1 |
| | |||||
* | add explicit memory export support | Alon Zakai | 2016-03-15 | 1 | -0/+6 |
| | |||||
* | de-recurse operations on nested blocks | Alon Zakai | 2016-03-10 | 1 | -6/+31 |
| | |||||
* | Implement rotates | Derek Schuff | 2016-03-09 | 1 | -0/+2 |
| | |||||
* | br_table, no more cases | Alon Zakai | 2016-03-07 | 4 | -126/+14 |
| | |||||
* | update if parsing to new spec rules | Alon Zakai | 2016-03-07 | 1 | -3/+14 |
| | |||||
* | add a finalize() method for blocks | Alon Zakai | 2016-03-07 | 3 | -2/+5 |
| | |||||
* | update select changes in spec | Alon Zakai | 2016-03-02 | 1 | -1/+1 |
| |