summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
| |
| * rewrite SimplifyLocals to use FastExecutionWalkerAlon Zakai2016-04-071-12/+71
| |
| * traversal improvementsAlon Zakai2016-04-061-34/+55
| |
| * move some methods to WasmWalkerBaseAlon Zakai2016-04-061-27/+25
| |
| * EffectsAnalyzerAlon Zakai2016-04-061-0/+42
| |
| * refactor a WasmReplacerWalker classAlon Zakai2016-04-061-54/+51
| |
| * add FastExecutionWalkerAlon Zakai2016-04-061-1/+101
| |
| * remove obsolete commentAlon Zakai2016-04-061-1/+0
| |
| * refactor wasm traversal code into separate fileAlon Zakai2016-04-065-295/+324
| |
* | Ensure that all static initializer functions are exportedDerek Schuff2016-04-061-10/+14
|/
* optimize if-eqzAlon Zakai2016-04-063-0/+45
|
* Fix output of initializer list metadataDerek Schuff2016-04-061-1/+6
| | | | | | * Fix output of initializer list metadata Turns out trailing commas aren't valid JSON
* Fix s2wasm handling of aliased functionsDerek Schuff2016-04-061-2/+5
| | | | | | This fixes 2 bugs in s2wasm: * Handle address-taken aliases (i.e. when they appear in relocations), by looking up and subsituting the address of the aliasee. * Skip whitespace at the top of the scan() loop instead of requiring it to match. When there are multiple alias declarations in a row, the match("FUNCTION") at the end of an alias delcaration consumes the whitespace at the beginning of the next line, causing it to fail to match the tab character specified in the match pattern at the top of the loop.
* Allocate __dso_handle in s2wasmDerek Schuff2016-04-061-0/+5
| | | | | | Unlike asm.js modules, wasm modules cannot have imported/extern objects. So allocate __dso_handle (which is traditionally defined in a crtbegin or similar toolchain file linked with the user code) in s2wasm.
* Properly align the stack pointerDerek Schuff2016-04-063-34/+40
| | | | | | | | | | | | * Properly align the stack pointer By default (if no global base is given) the global base is 1, which seems wrong. In this case the stack pointer gets an address of 1, which is unaligned and definitely wrong. So, start the global base at 0 instead of 1 by default and align the stack pointer. Also factor allocation of statics into a function. * unconditionally allocate stack pointer; explicitly reserve address 0
* Handle static initializersDerek Schuff2016-04-061-2/+32
| | | | | | | LLVM emits static initializers in the ELF style, by placing pointers to the constructor functions in a .init_array section. Handle this in s2wasm for now by converting these to standard emscripten metadata.
* fix assertionAlon Zakai2016-04-051-1/+1
|
* binary codes update and if/else update, see design#641Alon Zakai2016-04-051-35/+44
|
* reorder section size location in binary format, see design#639Alon Zakai2016-04-051-4/+7
|
* more idl additions fix idl testAlon Zakai2016-04-041-0/+3
|
* trap on bad callExport, don't assertAlon Zakai2016-04-041-1/+1
|
* more idlAlon Zakai2016-04-041-0/+16
|
* refactor printingAlon Zakai2016-04-047-16/+29
|
* add necessary idl constructorsAlon Zakai2016-04-041-0/+4
|
* add debug param for SExpressionWasmBuilderAlon Zakai2016-04-043-3/+3
|
* refactor shell interface into its own fileAlon Zakai2016-04-044-166/+191
|
* add simpler constructor for SExpressionWasmBuilderAlon Zakai2016-04-043-0/+84
|
* clean up callExport typesAlon Zakai2016-04-041-1/+1
|
* clean up old commentsAlon Zakai2016-04-041-2/+0
|
* add apis for accessing module elementsAlon Zakai2016-04-0412-58/+72
|