Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | remove unneeded masks using getMaxBits | Alon Zakai (kripken) | 2017-02-16 | 4 | -26/+134 |
| | |||||
* | fix fuzz testcase, xor maxBits is the max, not the min | Alon Zakai (kripken) | 2017-02-16 | 2 | -6/+36 |
| | |||||
* | handle fallthrough values in load_s/u and sign/zero-extend optimization | Alon Zakai (kripken) | 2017-02-16 | 4 | -48/+108 |
| | |||||
* | handle load in getMaxBits | Alon Zakai (kripken) | 2017-02-16 | 2 | -0/+58 |
| | |||||
* | handle tee_local in getMaxBits | Alon Zakai (kripken) | 2017-02-16 | 2 | -0/+42 |
| | |||||
* | optimize out a sign-ext into a store of the same size | Alon Zakai (kripken) | 2017-02-16 | 2 | -0/+141 |
| | |||||
* | optimize out add/sub of 0 | Alon Zakai (kripken) | 2017-02-16 | 11 | -106/+80 |
| | |||||
* | optimize sign-extends to a boolean | Alon Zakai (kripken) | 2017-02-16 | 2 | -0/+27 |
| | |||||
* | optimize sign-extends to eqz | Alon Zakai (kripken) | 2017-02-16 | 6 | -36/+35 |
| | |||||
* | optimize sign-extends to ne | Alon Zakai (kripken) | 2017-02-16 | 2 | -0/+77 |
| | |||||
* | Optimize "squared" operations (#905) | Alon Zakai | 2017-02-16 | 10 | -658/+591 |
| | | | | * optimize 'almost' sign extends: when we can remove one entirely, then extra shifts can be left behind. with that in place, we can then optimize 'squared' operations like shl on shl, as doing so does not break our sign extend opts | ||||
* | optimize linear sums (#904) | Alon Zakai | 2017-02-16 | 6 | -92/+348 |
| | |||||
* | Optimize sign-extends (#902) | Alon Zakai | 2017-02-16 | 6 | -143/+1117 |
| | | | | | | * optimize sign-extend output * optimize sign-extend input | ||||
* | add sqrt test (#912) | Alon Zakai | 2017-02-16 | 5 | -1/+103 |
| | |||||
* | update wasm version to 0x01 (#913) | Alon Zakai | 2017-02-16 | 2 | -0/+0 |
| | | | | | | * update wasm version to 0x01, in prep for release, and since browsers are ready to accept it * update wasm.js | ||||
* | Fix emitting of unreachable block/if/loop (#911) | Alon Zakai | 2017-02-16 | 25 | -2/+2062 |
| | | | | | | | | | | | | | | | | | | | | | | * an unreachable block is one with an unreachable child, plus no breaks * document new difference between binaryen IR and wasm * fix relooper missing finalize * add a bunch of tests * don't assume that test/*.wast files print to themselves exactly; print to from.wast. this allows wast tests with comments in them * emit unreachable blocks as (block .. unreachable) unreachable * if without else and unreachable ifTrue is still not unreachable, it should be none * update wasm.js * cleanups * empty blocks have none type | ||||
* | Optimize precise mode integer ops (#907) | Alon Zakai | 2017-02-16 | 12 | -32/+240 |
| | | | | | | * improve precise integer operations: call into a wasm function to do the possibly-trapping div/rem, which handles the corner cases, instead of an ffi. also fix a bug in the existing parallel 64-bit code for this * remove no longer needed wasm.js-post.js file (it moved into emscripten repo) | ||||
* | asm2wasm debuginfo (#895) | Alon Zakai | 2017-02-07 | 7 | -0/+288 |
| | | | | | | | | | | | | * parse file/line comments in asm.js into debug intrinsics * convert debug intrinsics into annotations, and print them * ignore --debuginfo if not emitting text, as wasm binaries don't support that yet * emit full debug info when -g and emitting text; when -g and emitting binary, all we can do is the Names section * update wasm.js | ||||
* | Improve handling of implicit traps (#898) | Alon Zakai | 2017-02-06 | 11 | -102/+357 |
| | | | | | | | | * 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 | ||||
* | code-pushing fix: we cannot push a set_local with side effects, as it may ↵ | Alon Zakai | 2017-01-26 | 2 | -8/+88 |
| | | | | not execute any more (#890) | ||||
* | Export memalign along with malloc and friends (#888) | Derek Schuff | 2017-01-24 | 2 | -1/+26 |
| | | | Emscripten's mmap2 syscall started using memalign instead of malloc with kripken/emscripten#4874, so we need to export that as well. | ||||
* | fix bustage caused by conflict between last two landings (#886) | Alon Zakai | 2017-01-19 | 2 | -2/+0 |
| | |||||
* | DCE even in -O0 (#884) | Alon Zakai | 2017-01-19 | 8 | -68/+2 |
| | |||||
* | handle an unreachable param to an export in asm2wasm, which is ignorable (#885) | Alon Zakai | 2017-01-19 | 5 | -0/+318 |
| | |||||
* | asm2wasm: when a switch is too big, create an if-else chain instead (#877) | Alon Zakai | 2017-01-12 | 3 | -0/+300 |
| | |||||
* | add a dce at the end of asm2wasm, so it handles code changes from ↵ | Alon Zakai (kripken) | 2017-01-12 | 4 | -6/+0 |
| | | | | intermediate optimization passes | ||||
* | add a test showing unreachable code after a return | Alon Zakai (kripken) | 2017-01-12 | 5 | -0/+165 |
| | |||||
* | Merge pull request #865 from WebAssembly/fix-ab | Alon Zakai | 2017-01-10 | 2 | -0/+16 |
|\ | | | | | Fix AngryBots parsing | ||||
| * | handle a binary that breaks to return | Alon Zakai (kripken) | 2017-01-04 | 2 | -0/+16 |
| | | |||||
* | | Merge pull request #863 from WebAssembly/linking-fix | Alon Zakai | 2017-01-05 | 31 | -31/+708 |
|\ \ | | | | | | | Linking cleanups | ||||
| * | | memoryBase and tableBase should not be mutable, as we need to use them in ↵ | Alon Zakai | 2016-12-30 | 5 | -0/+677 |
| | | | | | | | | | | | | segment/element offsets | ||||
| * | | emit globals before table and memory, because they may use a global for ↵ | Alon Zakai | 2016-12-30 | 26 | -31/+31 |
| | | | | | | | | | | | | their element/segment offsets | ||||
* | | | Merge pull request #871 from WebAssembly/fix-c-api-unused-mem | Alon Zakai | 2017-01-05 | 2 | -0/+194 |
|\ \ \ | |_|/ |/| | | Mark memory as existing when it is created in the C API | ||||
| * | | mark memory as existing when it is created in the C API | Alon Zakai (kripken) | 2017-01-04 | 2 | -0/+194 |
| |/ | |||||
* / | Handle stacky code (#868) | Alon Zakai | 2017-01-04 | 2 | -0/+21 |
|/ | | | | * handle stacky code in binaries, using a block+local | ||||
* | properly legalize imported table elements | Alon Zakai | 2016-12-07 | 5 | -9/+81 |
| | |||||
* | fix legalization issues with f32s | Alon Zakai | 2016-12-07 | 5 | -9/+81 |
| | |||||
* | verify we don't legalize table elements | Alon Zakai | 2016-12-07 | 5 | -4/+10 |
| | |||||
* | lower min and max in asm2wasm in wasm f*.min/max | Alon Zakai | 2016-12-07 | 3 | -0/+69 |
| | |||||
* | make legalizeJSInterface handle f32s as well, which are not valid in asm.js ffis | Alon Zakai | 2016-12-07 | 9 | -25/+288 |
| | |||||
* | convert ftCall_* and mftCall_* into table calls | Alon Zakai | 2016-12-07 | 5 | -1/+75 |
| | |||||
* | support asm.js numeric exports by creating a global and exporting that | Alon Zakai | 2016-12-07 | 5 | -1/+9 |
| | |||||
* | add a RemoveUnusedModuleElements pass, and make LegalizeJSInterface create ↵ | Alon Zakai | 2016-12-07 | 20 | -288/+223 |
| | | | | TempRet0 if needed (otherwise we might remove it before we use it) | ||||
* | use tableBase for the table segments | Alon Zakai | 2016-12-07 | 16 | -16/+16 |
| | |||||
* | fix table import size when no maximum is provided | Alon Zakai | 2016-12-07 | 6 | -0/+6 |
| | |||||
* | Update known test failures and waterfall revision (#854) | jgravelle-google | 2016-12-01 | 8 | -18/+20 |
| | |||||
* | Handle importing globals in s2wasm (#843) | jgravelle-google | 2016-11-30 | 2 | -0/+153 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Handle importing globals in s2wasm * Make importedGlobals a set of Names, make Names hashable * Revert "Make importedGlobals a set of Names, make Names hashable" This reverts commit 1d0ca7a5e3839b15ca60593330979864c9c3ed60. * Refactor relocation parsing to handle expressions directly * PR Feedback - Move comment where it belongs - Add comment about ownership to addRelocation - Remove do-nothing parseImportGlobal * Reword "imported globals" to "imported objects" - Flip isObjectImported to isObjectImplemented, for consistency * Add tests for s2wasm globals. Also implement import relocation expression handling * Simplify globals.s test * Fix memory leak of relocation * Use unique_ptr instead of delete in getRelocatableExpression | ||||
* | Fix regression from #850 (#851) | Alon Zakai | 2016-11-30 | 7 | -322/+556 |
| | | | | | | * fix regression from #850 - it is not always safe to fold added offsets into load/store offsets, as the add wraps but offset does not * small refactoring to simplify asm2wasm pass invocation | ||||
* | Optimize added factors into load/store offsets (#850) | Alon Zakai | 2016-11-29 | 6 | -332/+476 |
| | | | | | * optimize added factors into load/store offsets, removing the add * optimize offset of load/store of a constant into the constant | ||||
* | increase limit in RelooperJumpThreading (#847) | Alon Zakai | 2016-11-28 | 4 | -324/+324 |
| |