summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * refactor asm.js ast to use an AssignName node, for the common case of ↵Alon Zakai (kripken)2017-01-313-61/+100
| | | | | | | | assigning to a name and not an arbitrary ast node
| * refactor asm.js ast to not use STAT nodes - we don't need to print the ↵Alon Zakai (kripken)2017-01-316-651/+7
| | | | | | | | asm.js anyhow, so knowing where ;s are is unnecessary bloat
| * refactor asm.js ast to use an Assign nodeAlon Zakai (kripken)2017-01-315-180/+216
| |
| * use MixedArena in asm.js astAlon Zakai (kripken)2017-01-315-107/+99
| |
| * refactor asm.js ast to use a string node directly instead of [NAME, string]Alon Zakai (kripken)2017-01-316-108/+107
| |
| * refactor asm.js ast to use a number node directly instead of [NUM, number]Alon Zakai (kripken)2017-01-306-75/+86
| |
* | Make ast_utils into a library (#892)Derek Schuff2017-01-316-651/+717
|/ | | | Split ExpressionAnalyzer and ExpressionManipulator into cpp files, and turn their giant template functions into simple functions which take a callback. More organization, fewer mammoth headers, makes the build a few seconds faster, and the binaries a couple MB smaller.
* Read/Write Abstraction (#889)Alon Zakai2017-01-265-13/+194
| | | | | * Added ModuleReader/Writer classes that support text and binary I/O * Use them in wasm-opt and asm2wasm
* code-pushing fix: we cannot push a set_local with side effects, as it may ↵Alon Zakai2017-01-261-1/+8
| | | | not execute any more (#890)
* Export memalign along with malloc and friends (#888)Derek Schuff2017-01-241-9/+5
| | | Emscripten's mmap2 syscall started using memalign instead of malloc with kripken/emscripten#4874, so we need to export that as well.
* DCE even in -O0 (#884)Alon Zakai2017-01-191-1/+3
|
* handle an unreachable param to an export in asm2wasm, which is ignorable (#885)Alon Zakai2017-01-191-1/+3
|
* asm2wasm: when a switch is too big, create an if-else chain instead (#877)Alon Zakai2017-01-121-52/+112
|
* add a dce at the end of asm2wasm, so it handles code changes from ↵Alon Zakai (kripken)2017-01-121-0/+1
| | | | intermediate optimization passes
* Merge pull request #865 from WebAssembly/fix-abAlon Zakai2017-01-102-7/+30
|\ | | | | Fix AngryBots parsing
| * handle a binary that breaks to returnAlon Zakai (kripken)2017-01-042-6/+28
| |
| * handle a module which has no globals at allAlon Zakai (kripken)2017-01-041-1/+2
| |
* | Merge pull request #863 from WebAssembly/linking-fixAlon Zakai2017-01-052-18/+23
|\ \ | | | | | | Linking cleanups
| * | do not add memoryBase/tableBase if already thereAlon Zakai2016-12-301-4/+4
| | |
| * | memoryBase and tableBase should not be mutable, as we need to use them in ↵Alon Zakai2016-12-301-10/+15
| | | | | | | | | | | | segment/element offsets
| * | emit globals before table and memory, because they may use a global for ↵Alon Zakai2016-12-301-4/+4
| | | | | | | | | | | | their element/segment offsets
* | | Merge pull request #871 from WebAssembly/fix-c-api-unused-memAlon Zakai2017-01-053-4/+7
|\ \ \ | |_|/ |/| | Mark memory as existing when it is created in the C API
| * | mark memory as existing when it is created in the C APIAlon Zakai (kripken)2017-01-041-0/+1
| | |
| * | ensure exports are added deterministically from binariesAlon Zakai (kripken)2017-01-042-4/+6
| |/
* | Handle stacky code (#868)Alon Zakai2017-01-042-22/+49
| | | | | | | | * handle stacky code in binaries, using a block+local
* | Print long string in one call (#864)Loo Rong Jie2017-01-032-23/+23
|/
* Merge pull request #859 from WebAssembly/linkingAlon Zakai2016-12-2715-154/+369
|\ | | | | Dynamic linking
| * handle imports in tables in interpreterAlon Zakai2016-12-071-3/+12
| |
| * properly legalize imported table elementsAlon Zakai2016-12-071-0/+9
| |
| * fix legalization issues with f32sAlon Zakai2016-12-071-2/+2
| |
| * commentAlon Zakai2016-12-071-1/+1
| |
| * lower min and max in asm2wasm in wasm f*.min/maxAlon Zakai2016-12-071-1/+29
| |
| * make legalizeJSInterface handle f32s as well, which are not valid in asm.js ffisAlon Zakai2016-12-072-6/+19
| |
| * convert ftCall_* and mftCall_* into table callsAlon Zakai2016-12-071-7/+36
| |
| * support asm.js numeric exports by creating a global and exporting thatAlon Zakai2016-12-071-16/+35
| |
| * add a RemoveUnusedModuleElements pass, and make LegalizeJSInterface create ↵Alon Zakai2016-12-079-115/+198
| | | | | | | | TempRet0 if needed (otherwise we might remove it before we use it)
| * use tableBase for the table segmentsAlon Zakai2016-12-071-1/+1
| |
| * export the wasm table on ModuleAlon Zakai2016-12-071-0/+1
| |
| * use wasmMaxTableSizeAlon Zakai2016-12-071-1/+6
| |
| * fix the order of emitting the start sectionAlon Zakai2016-12-071-1/+1
| |
| * fix table import size when no maximum is providedAlon Zakai2016-12-071-1/+1
| |
| * add table-max option, and make it and mem-max set the limit to no limit for -1Alon Zakai2016-12-071-2/+21
| |
* | fix copy of call_indirect bug (#860)Alon Zakai2016-12-211-1/+1
| |
* | hash the type of nodes (#856)Alon Zakai2016-12-071-0/+10
| |
* | ignore unknown user sections, fixes #857 (#858)Alon Zakai2016-12-072-8/+13
| |
* | use exported static base and bump (#853)Alon Zakai2016-12-061-2/+2
|/
* Generate global imports separately from emscripten glue (#852)jgravelle-google2016-12-014-19/+21
|
* Handle importing globals in s2wasm (#843)jgravelle-google2016-11-306-36/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 Zakai2016-11-303-56/+37
| | | | | | * 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 Zakai2016-11-291-0/+40
| | | | | * optimize added factors into load/store offsets, removing the add * optimize offset of load/store of a constant into the constant