Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
| * | autodrop if body if no else | Alon Zakai | 2016-09-07 | 2 | -0/+10 | |
| | | ||||||
| * | properly handle blocks with return values in vacuum - we cannot remove their ↵ | Alon Zakai | 2016-09-07 | 1 | -3/+22 | |
| | | | | | | | | final value directly, we can only do that if it is dropped, from the drop | |||||
| * | vacuum drops better | Alon Zakai | 2016-09-07 | 1 | -8/+21 | |
| | | ||||||
| * | do a first pass in SimplifyLocals that focuses on single-use locals | Alon Zakai | 2016-09-07 | 1 | -12/+36 | |
| | | ||||||
| * | flip select-eqz when possible | Alon Zakai | 2016-09-07 | 1 | -2/+13 | |
| | | ||||||
| * | optimize out a set of a get of a global | Alon Zakai | 2016-09-07 | 1 | -0/+8 | |
| | | ||||||
| * | track globals in EffectAnalyzer | Alon Zakai | 2016-09-07 | 1 | -4/+22 | |
| | | ||||||
| * | optimize loads+shifts into signed loads | Alon Zakai | 2016-09-07 | 1 | -0/+27 | |
| | | ||||||
| * | optimize out eqz^2 | Alon Zakai | 2016-09-07 | 2 | -0/+30 | |
| | | ||||||
| * | add option to remove duplicate funcs by name | Alon Zakai | 2016-09-07 | 1 | -0/+10 | |
| | | ||||||
| * | use eqz as an optimization | Alon Zakai | 2016-09-07 | 2 | -2/+40 | |
| | | ||||||
* | | In AsmConstWalker, don't assume a segment exists (#697) | jgravelle-google | 2016-09-14 | 1 | -2/+10 | |
| | | | | | | | | | | | | | | | | | | | | It's possible to generate an EM_ASM call with empty contents (due to ifdefs, for example), and this gets converted to an empty string. AsmConstWalker assumes that by this point any addresses it is pointing to have a corresponding data section, which is reasonable. However in the case of an empty string, we don't create a data section, but just leave that address uninitialized, i.e. set to 0. In the case of AsmConstWalker, a correct thing to do is to emit the empty string as metadata, which becomes an empty emscripten_asm_v call. | |||||
* | | Add flag to s2wasm to export __growWasmMemory function (#696) | jgravelle-google | 2016-09-09 | 6 | -175/+303 | |
|/ | | | | | | | | | | | | | | | | | | | | | * Add a flag to s2wasm to export grow_memory Binaryen's wasm.js-post.js calls back in to wasm in order to grow the linear memory, via a function that asm2wasm exports called __growWasmMemory. This changes exposes that method through s2wasm when invoked with a flag. * Move AsmConstWalker from wasm-linker to wasm-emscripten * Add test for memory growth in s2wasm * Move makeDynCallThunks into wasm-emscripten module * Move mutation in getTableSegment into a separate method * Move emscripten metadata generation into wasm-emscripten Also make AsmConstWalker internal to the wasm-emscripten module, as it's only used for the metadata pass. | |||||
* | ensure we create the OptimizeInstructions database on demand, avoiding ↵ | Alon Zakai | 2016-09-07 | 3 | -3/+43 | |
| | | | | global ctors | |||||
* | make sure to use the right order of operations when loading composite ints ↵ | Alon Zakai | 2016-09-07 | 1 | -3/+6 | |
| | | | | in binary format reading | |||||
* | if we don't recognize the platform in colors.h, just do nothing for colors | Alon Zakai | 2016-09-07 | 1 | -0/+9 | |
| | ||||||
* | new validation checks for upcoming spec tests | Alon Zakai | 2016-09-07 | 2 | -5/+34 | |
| | ||||||
* | additional parsing support for new spec things | Alon Zakai | 2016-09-07 | 1 | -22/+74 | |
| | ||||||
* | new export syntax in spec repo | Alon Zakai | 2016-09-07 | 3 | -23/+53 | |
| | ||||||
* | new import syntax in spec repo | Alon Zakai | 2016-09-07 | 2 | -31/+40 | |
| | ||||||
* | Add a ReFinalize helper, and use that to properly handle asm.js imports ↵ | Alon Zakai | 2016-09-07 | 2 | -9/+53 | |
| | | | | whose return value is polymorphic | |||||
* | support HEAP8[x | 0| notation in asm2wasm | Alon Zakai | 2016-09-07 | 1 | -1/+3 | |
| | ||||||
* | import memoryBase and tableBase | Alon Zakai | 2016-09-07 | 3 | -11/+29 | |
| | ||||||
* | import table | Alon Zakai | 2016-09-07 | 3 | -17/+47 | |
| | ||||||
* | import memory #684 | Alon Zakai | 2016-09-07 | 3 | -6/+41 | |
| | ||||||
* | refactor reallocBuffer assignment location, it is not technically part of ↵ | Alon Zakai | 2016-09-07 | 1 | -6/+8 | |
| | | | | mergeMemory | |||||
* | add asm2wasm option to import a mem init file | Alon Zakai | 2016-09-07 | 2 | -3/+32 | |
| | | | | | | | | apply memory segments only if there isn't a memory initializer (which we need for asmjs and asm2wasm modes) use wasm-opt to check recreated wasts for validity, as wasm-shell would try to execute them add testing for combined modes like asmjs,interpret-binary | |||||
* | do a little more optimization at the end of asm2wasm processing | Alon Zakai | 2016-09-07 | 1 | -1/+4 | |
| | ||||||
* | sink a drop into a single if arm | Alon Zakai | 2016-09-07 | 1 | -0/+19 | |
| | ||||||
* | autodrop must be run before we optimize in asm2wasm, as otherwise its input ↵ | Alon Zakai | 2016-09-07 | 3 | -4/+12 | |
| | | | | | | is not yet valid then after finalizeCalls, we must autodrop again to drop things that finalizeCalls changed | |||||
* | don't simplify locals out of loops if they contain branching, as it may ↵ | Alon Zakai | 2016-09-07 | 1 | -0/+3 | |
| | | | | invalidate the branch | |||||
* | use ControlFlowWalker in CFGWalker | Alon Zakai | 2016-09-07 | 1 | -35/+25 | |
| | ||||||
* | when replacing an if with its condition (when it has no body), we must drop it | Alon Zakai | 2016-09-07 | 1 | -1/+1 | |
| | ||||||
* | allow forcing full print mode in the env | Alon Zakai | 2016-09-07 | 1 | -0/+3 | |
| | ||||||
* | add some finalize() calls for ifs | Alon Zakai | 2016-09-07 | 1 | -1/+3 | |
| | ||||||
* | finalize loops in asm2wasm, which is now necessary as they may need to be ↵ | Alon Zakai | 2016-09-07 | 1 | -0/+5 | |
| | | | | dropped | |||||
* | drop the first element in a block too, if necessary | Alon Zakai | 2016-09-07 | 1 | -1/+1 | |
| | ||||||
* | run vacuum again after autodrop in asm2wasm, if optimizing | Alon Zakai | 2016-09-07 | 1 | -0/+1 | |
| | ||||||
* | handle asm.js globals that are set and the return value used | Alon Zakai | 2016-09-07 | 1 | -1/+4 | |
| | ||||||
* | fix AutoDrop block handling - the block type might change as we modify its ↵ | Alon Zakai | 2016-09-07 | 1 | -0/+1 | |
| | | | | contents | |||||
* | improve full mode printing | Alon Zakai | 2016-09-07 | 1 | -0/+3 | |
| | ||||||
* | fix ControlFlowWalker handling of ifs when looking for break targets | Alon Zakai | 2016-09-07 | 1 | -1/+2 | |
| | ||||||
* | asm2wasm debugging asserts | Alon Zakai | 2016-09-07 | 1 | -1/+2 | |
| | ||||||
* | set type of calls to their target, instead of the previous behavior where ↵ | Alon Zakai | 2016-09-07 | 1 | -4/+10 | |
| | | | | the asm.js context informed us. this lets us add drops where necessary | |||||
* | use globals in asm2wasm | Alon Zakai | 2016-09-07 | 10 | -143/+131 | |
| | ||||||
* | get_global and set_global use a Name instead of an Index, to be more ↵ | Alon Zakai | 2016-09-07 | 7 | -54/+39 | |
| | | | | consistent with refering to other global objects; e.g. this avoids ordering issues with imported vs non-imported globals | |||||
* | import type for globals | Alon Zakai | 2016-09-07 | 9 | -25/+36 | |
| | ||||||
* | import kinds | Alon Zakai | 2016-09-07 | 8 | -28/+84 | |
| | ||||||
* | export kinds | Alon Zakai | 2016-09-07 | 9 | -33/+96 | |
| | ||||||
* | support (data .. ..), separate strings in a data() | Alon Zakai | 2016-09-07 | 1 | -7/+7 | |
| |