summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* current_memory now returns in units of page sizeAlon Zakai2016-04-181-1/+1
|
* update MemorySize => CurrentMemoryAlon Zakai2016-04-186-15/+11
|
* fix br_table order of evaluation, the value is firstAlon Zakai2016-04-181-9/+8
|
* handle dead stores in SimplifyLocalsAlon Zakai2016-04-181-2/+3
|
* remove old comments in SimplifyLocalsAlon Zakai2016-04-181-2/+1
|
* create a UnifiedExpressionVisitor for passes that want a single visitor ↵Alon Zakai2016-04-1817-52/+79
| | | | 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 Zakai2016-04-181-1/+2
|
* update binary section names per latest design (#363)Alon Zakai2016-04-181-9/+9
|
* remove the AllocatingModule class, and just make Module have allocations. ↵Alon Zakai2016-04-1814-34/+25
| | | | the distinction is not really that useful, and passes do need to allocate, so we would need to pass around AllocatingModules all around anyhow. (#361)
* let traversals access the current function (#355)Alon Zakai2016-04-181-7/+22
|
* index locals, so that get_local and set_local have just an index, and local ↵Alon Zakai2016-04-1815-213/+413
| | | | names are kept on the Function object (#354)
* Merge pull request #353 from WebAssembly/thread-tweaksAlon Zakai2016-04-181-1/+4
|\ | | | | Thread fixes
| * fix ThreadPool::size, we don't have any thread objects created if there is ↵Alon Zakai2016-04-181-1/+1
| | | | | | | | just one core, since then we run it all on the main thread anyhow
| * allow limiting # of cores in thread pool, useful for debuggingAlon Zakai2016-04-181-0/+3
| |
* | nicer pass printing (#358)Alon Zakai2016-04-181-2/+19
| |
* | Fixes typo in hex number parsing in asm2wasm. (#362)Yury Delendik2016-04-181-1/+1
|/ | | Fixes #352
* Function parallelism (#343)Alon Zakai2016-04-1514-27/+384
| | | | * 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 Zakai2016-04-1411-38/+38
| | | | locals. preparation for #336 (#349)
* Add a debug mode to PassRunner, which logs out times (#344)Alon Zakai2016-04-143-1/+22
| | | | | | * add a debug mode to PassRunner, which logs out times * address comments
* remove excessive wasm-s-parser debug logging (#345)Alon Zakai2016-04-144-9/+6
|
* Generate emscripten dynCall thunks in s2wasm (#342)Derek Schuff2016-04-132-15/+34
| | | | | | | | | | | * Generate emscripten dynCall thunks in s2wasm Part of the usual emscripten glue for asm.js is thunks for calling functions on the module given a function pointer; aka a dynCall. This is implemented via thunks generated on the Module called 'dynCall_<signature>'. This gives support to s2wasm to generate these thunks in the wasm module along with other emscripten glue. It also introduces a flag to s2wasm to make generation of emscripten glue optional.
* Merge pull request #341 from WebAssembly/optsAlon Zakai2016-04-127-40/+69
|\ | | | | More optimization goodies
| * drop completely unused locals in ReorderLocalsAlon Zakai2016-04-112-1/+10
| |
| * continue simplifying locals while opportunities present themselvesAlon Zakai2016-04-111-23/+37
| |
| * allow overriding startWalk(Function*)Alon Zakai2016-04-111-1/+1
| |
| * refactor default optimization passes to a central locationAlon Zakai2016-04-114-15/+21
| |
* | Add a method to generate a dyncall thunk (#337)Derek Schuff2016-04-123-21/+62
|/ | | | | Currently it's not called anywhere. The bulk of this change is refactoring to add makeFunction, makeCallIndirect, and makeReturn to wasm::Builder, and make S2wasmBuilder call it
* dyn_cast => dynCastAlon Zakai2016-04-1111-24/+24
|
* remove unneeded virtual destructorAlon Zakai2016-04-111-1/+0
|
* remove set_locals with no remaining gets in SimplifyLocalsAlon Zakai2016-04-111-4/+51
|
* track individual locals in EffectAnalyzerAlon Zakai2016-04-111-11/+27
|
* De-recurse traversals (#333)Alon Zakai2016-04-1120-384/+378
| | | | | | | | | | | | * 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 elisionsAlon Zakai2016-04-091-6/+28
|
* clean up in PrintAlon Zakai2016-04-091-12/+14
|
* add counter for expression idsAlon Zakai2016-04-091-1/+2
|
* fold eqz+comparisonsAlon Zakai2016-04-091-0/+22
|
* optimize asm2wasm loop branches using eqzAlon Zakai2016-04-091-7/+7
|
* fix asm2wasm udivmoddi4 optimization when there is no getTempRet0Alon Zakai2016-04-091-3/+3
|
* AST Builder class, and use it to optimzie umoddi4 in asm2wasmAlon Zakai2016-04-085-6/+231
|
* fix bug in If.finalizeAlon Zakai2016-04-081-1/+1
|
* optimize llvm.cttz.i32 into i32.ctzAlon Zakai2016-04-083-3/+12
|
* Merge pull request #319 from WebAssembly/traversalAlon Zakai2016-04-079-308/+672
|\ | | | | Refactor traversal into its own header
| * add missing checks on nested blocks in SimplifyExpressionsAlon Zakai2016-04-071-2/+7
| |
| * refactor checks in SimplifyLocalsAlon Zakai2016-04-071-8/+15
| |
| * handle loops in effect analyzerAlon Zakai2016-04-072-8/+36
| |
| * blocks must mark as branching in effects analyzer, as control flow can join ↵Alon Zakai2016-04-071-0/+1
| | | | | | | | there if the end of the block was branched to
| * fix invalidation logic in SimplifyLocals, visit each node as we hit it, do ↵Alon Zakai2016-04-071-1/+3
| | | | | | | | not walk it to look for invalidating elements that are children, we already saw them
| * derecurse blocks helper, and use it in SimplifyLocalsAlon Zakai2016-04-072-8/+32
| |
| * fix effect invalidation logicAlon Zakai2016-04-071-1/+3
| |
| * add vacuum passAlon Zakai2016-04-073-1/+51
| |