Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Address review feedback for #1014 (#1016) | Alon Zakai | 2017-05-18 | 1 | -2/+2 |
| | | | | | | * address review feedback for #1014 | ||||
* | Validate finalization (#1014) | Alon Zakai | 2017-05-18 | 1 | -2/+19 |
| | | | | | | | * validate that types are properly finalized, when in pass-debug mode (BINARYEN_PASS_DEBUG env var): check after each pass is run that the type of each node is equal to the proper type (when finalizing it, i.e., fully recomputing the type). * fix many fuzz bugs found by that. * in particular, fix dce bugs with type changes not being fully updated during code removal. add a new TypeUpdater helper class that lets a pass update types efficiently, by the helper tracking deps between blocks and branches etc., and updating/propagating type changes only as necessary. | ||||
* | Default Walker subclasses to using Visitor<SubType> (#921) | jgravelle-google | 2017-02-23 | 1 | -3/+3 |
| | | | | Most module walkers use PostWalker<T, Visitor<T>>, let that pattern be expressed as simply PostWalker<T> | ||||
* | Improve handling of implicit traps (#898) | Alon Zakai | 2017-02-06 | 1 | -5/+5 |
| | | | | | | | | * add --ignore-implicit-traps option, and by default do not ignore them, to properly preserve semantics * implicit traps can be reordered, but are side effects and should not be removed * add testing for --ignore-implicit-traps | ||||
* | use MixedArena in asm.js ast | Alon Zakai (kripken) | 2017-01-31 | 1 | -1/+1 |
| | |||||
* | fix a reordering bug in merge-blocks (#846) | Alon Zakai | 2016-11-25 | 1 | -2/+6 |
| | |||||
* | optimize child blocks in merge-blocks when we drop values in them, they may ↵ | Alon Zakai | 2016-10-29 | 1 | -60/+73 |
| | | | | have new subchild blocks | ||||
* | fix break value removal in merge-blocks: a br_if's type changes without a ↵ | Alon Zakai | 2016-10-29 | 1 | -1/+10 |
| | | | | value, so finalize the node, and remove the drop | ||||
* | handle the case of a br_if whose value is used in merge-blocks | Alon Zakai | 2016-10-29 | 1 | -14/+38 |
| | |||||
* | move drop into blocks, dropping all the breaks as well, when possible | Alon Zakai | 2016-09-07 | 1 | -8/+58 |
| | |||||
* | add drop and tee expressions | Alon Zakai | 2016-09-07 | 1 | -0/+19 |
| | |||||
* | Add initialization functions for passes to avoid missing pass registration ↵ | Jukka Jylänki | 2016-06-21 | 1 | -1/+3 |
| | | | | due to linker dead code elimination. Fixes #577. | ||||
* | move function parallelism to pass and pass runner, which allows more ↵ | Alon Zakai | 2016-06-03 | 1 | -1/+3 |
| | | | | efficient parallel execution (#564) | ||||
* | fix a merge-blocks bug where we merged named blocks | Alon Zakai | 2016-05-25 | 1 | -1/+1 |
| | |||||
* | move blocks outside in merge-blocks so that they can be merged later | Alon Zakai | 2016-05-24 | 1 | -0/+124 |
| | |||||
* | add an ArenaVector for internal array allocations in expression nodes | Alon Zakai | 2016-04-26 | 1 | -1/+1 |
| | |||||
* | create a UnifiedExpressionVisitor for passes that want a single visitor ↵ | Alon Zakai | 2016-04-18 | 1 | -1/+1 |
| | | | | function, to avoid confusion with having both visit* and visitExpression in a single pass (#357) | ||||
* | Function parallelism (#343) | Alon Zakai | 2016-04-15 | 1 | -0/+2 |
| | | | | * 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 | ||||
* | dyn_cast => dynCast | Alon Zakai | 2016-04-11 | 1 | -1/+1 |
| | |||||
* | De-recurse traversals (#333) | Alon Zakai | 2016-04-11 | 1 | -1/+1 |
| | | | | | | | | | | | | * 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 | ||||
* | Some cleanup. | Michael Bebenita | 2016-01-14 | 1 | -1/+1 |
| | |||||
* | Use LLVM style static polymorphism for WasmVisitors. | Michael Bebenita | 2016-01-13 | 1 | -2/+2 |
| | |||||
* | A more generic compiler pass system. | Michael Bebenita | 2016-01-13 | 1 | -1/+1 |
| | |||||
* | MergeBlocks #32 | Alon Zakai | 2016-01-05 | 1 | -0/+56 |