summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * autodrop if body if no elseAlon Zakai2016-09-072-0/+10
| |
| * properly handle blocks with return values in vacuum - we cannot remove their ↵Alon Zakai2016-09-071-3/+22
| | | | | | | | final value directly, we can only do that if it is dropped, from the drop
| * vacuum drops betterAlon Zakai2016-09-071-8/+21
| |
| * do a first pass in SimplifyLocals that focuses on single-use localsAlon Zakai2016-09-071-12/+36
| |
| * flip select-eqz when possibleAlon Zakai2016-09-071-2/+13
| |
| * optimize out a set of a get of a globalAlon Zakai2016-09-071-0/+8
| |
| * track globals in EffectAnalyzerAlon Zakai2016-09-071-4/+22
| |
| * optimize loads+shifts into signed loadsAlon Zakai2016-09-071-0/+27
| |
| * optimize out eqz^2Alon Zakai2016-09-072-0/+30
| |
| * add option to remove duplicate funcs by nameAlon Zakai2016-09-071-0/+10
| |
| * use eqz as an optimizationAlon Zakai2016-09-072-2/+40
| |
* | In AsmConstWalker, don't assume a segment exists (#697)jgravelle-google2016-09-141-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-google2016-09-096-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 Zakai2016-09-073-3/+43
| | | | global ctors
* make sure to use the right order of operations when loading composite ints ↵Alon Zakai2016-09-071-3/+6
| | | | in binary format reading
* if we don't recognize the platform in colors.h, just do nothing for colorsAlon Zakai2016-09-071-0/+9
|
* new validation checks for upcoming spec testsAlon Zakai2016-09-072-5/+34
|
* additional parsing support for new spec thingsAlon Zakai2016-09-071-22/+74
|
* new export syntax in spec repoAlon Zakai2016-09-073-23/+53
|
* new import syntax in spec repoAlon Zakai2016-09-072-31/+40
|
* Add a ReFinalize helper, and use that to properly handle asm.js imports ↵Alon Zakai2016-09-072-9/+53
| | | | whose return value is polymorphic
* support HEAP8[x | 0| notation in asm2wasmAlon Zakai2016-09-071-1/+3
|
* import memoryBase and tableBaseAlon Zakai2016-09-073-11/+29
|
* import tableAlon Zakai2016-09-073-17/+47
|
* import memory #684Alon Zakai2016-09-073-6/+41
|
* refactor reallocBuffer assignment location, it is not technically part of ↵Alon Zakai2016-09-071-6/+8
| | | | mergeMemory
* add asm2wasm option to import a mem init fileAlon Zakai2016-09-072-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 processingAlon Zakai2016-09-071-1/+4
|
* sink a drop into a single if armAlon Zakai2016-09-071-0/+19
|
* autodrop must be run before we optimize in asm2wasm, as otherwise its input ↵Alon Zakai2016-09-073-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 Zakai2016-09-071-0/+3
| | | | invalidate the branch
* use ControlFlowWalker in CFGWalkerAlon Zakai2016-09-071-35/+25
|
* when replacing an if with its condition (when it has no body), we must drop itAlon Zakai2016-09-071-1/+1
|
* allow forcing full print mode in the envAlon Zakai2016-09-071-0/+3
|
* add some finalize() calls for ifsAlon Zakai2016-09-071-1/+3
|
* finalize loops in asm2wasm, which is now necessary as they may need to be ↵Alon Zakai2016-09-071-0/+5
| | | | dropped
* drop the first element in a block too, if necessaryAlon Zakai2016-09-071-1/+1
|
* run vacuum again after autodrop in asm2wasm, if optimizingAlon Zakai2016-09-071-0/+1
|
* handle asm.js globals that are set and the return value usedAlon Zakai2016-09-071-1/+4
|
* fix AutoDrop block handling - the block type might change as we modify its ↵Alon Zakai2016-09-071-0/+1
| | | | contents
* improve full mode printingAlon Zakai2016-09-071-0/+3
|
* fix ControlFlowWalker handling of ifs when looking for break targetsAlon Zakai2016-09-071-1/+2
|
* asm2wasm debugging assertsAlon Zakai2016-09-071-1/+2
|
* set type of calls to their target, instead of the previous behavior where ↵Alon Zakai2016-09-071-4/+10
| | | | the asm.js context informed us. this lets us add drops where necessary
* use globals in asm2wasmAlon Zakai2016-09-0710-143/+131
|
* get_global and set_global use a Name instead of an Index, to be more ↵Alon Zakai2016-09-077-54/+39
| | | | consistent with refering to other global objects; e.g. this avoids ordering issues with imported vs non-imported globals
* import type for globalsAlon Zakai2016-09-079-25/+36
|
* import kindsAlon Zakai2016-09-078-28/+84
|
* export kindsAlon Zakai2016-09-079-33/+96
|
* support (data .. ..), separate strings in a data()Alon Zakai2016-09-071-7/+7
|