summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Improve handling of implicit traps (#898)Alon Zakai2017-02-0622-164/+480
| | | | | | | | * 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
* Remove unused captures to fix warnings/errors when compiling with Clang (#896)Eric Holk2017-02-033-5/+3
|
* only read first 4 bytes to check if a file is a wasm binary (#894)Alon Zakai2017-02-021-3/+8
|
* Merge pull request #893 from WebAssembly/shrink-asm-parserAlon Zakai2017-02-0110-1088/+521
|\ | | | | Shrink asm.js ast
| * 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-317-658/+725
|/ | | | 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-268-30/+231
| | | | | * 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-263-9/+96
| | | | not execute any more (#890)
* Export memalign along with malloc and friends (#888)Derek Schuff2017-01-243-10/+31
| | | 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 Zakai2017-01-192-2/+0
|
* DCE even in -O0 (#884)Alon Zakai2017-01-199-69/+5
|
* handle an unreachable param to an export in asm2wasm, which is ignorable (#885)Alon Zakai2017-01-196-1/+321
|
* Allow release builds with asserts on windows (#882)Derek Schuff2017-01-131-3/+21
| | | | | | | | | | | | | | | The posix build enables assertions on release builds with ADD_NONDEBUG_COMPILE_FLAG("-UNDEBUG") but the windows build does not. This PR adds /UNDEBUG to the release build flags but has the additional complication that /DNDEBUG is added to CFLAGS by CMake by default, and MSVC will warn about having /UFOO after /DFOO on the command line. So we scrub DNDEBUG from CFLAGS as well. Additional windows build cleanups: Disable conversion/truncation warnings Canonicalize flag style to use slashes everywhere instead of mixing MSVC uses /Od (not /O0) to disable optimization
* asm2wasm: when a switch is too big, create an if-else chain instead (#877)Alon Zakai2017-01-124-52/+412
|
* Merge pull request #880 from WebAssembly/dce-moarAlon Zakai2017-01-128-4/+164
|\ | | | | DCE at the end of asm2wasm
| * add a dce at the end of asm2wasm, so it handles code changes from ↵Alon Zakai (kripken)2017-01-125-6/+1
| | | | | | | | intermediate optimization passes
| * add a test showing unreachable code after a returnAlon Zakai (kripken)2017-01-125-0/+165
|/
* Merge pull request #865 from WebAssembly/fix-abAlon Zakai2017-01-104-7/+46
|\ | | | | Fix AngryBots parsing
| * handle a binary that breaks to returnAlon Zakai (kripken)2017-01-044-6/+44
| |
| * 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-0533-49/+731
|\ \ | | | | | | 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-306-10/+692
| | | | | | | | | | | | segment/element offsets
| * | emit globals before table and memory, because they may use a global for ↵Alon Zakai2016-12-3027-35/+35
| | | | | | | | | | | | their element/segment offsets
* | | Merge pull request #871 from WebAssembly/fix-c-api-unused-memAlon Zakai2017-01-055-4/+201
|\ \ \ | |_|/ |/| | 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-043-0/+195
| | |
| * | ensure exports are added deterministically from binariesAlon Zakai (kripken)2017-01-042-4/+6
| |/
* | Handle stacky code (#868)Alon Zakai2017-01-046-23/+96
| | | | | | | | * 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-2755-497/+1218
|\ | | | | Dynamic linking
| * handle imports in tables in interpreterAlon Zakai2016-12-073-13/+23
| |
| * properly legalize imported table elementsAlon Zakai2016-12-076-9/+90
| |
| * fix legalization issues with f32sAlon Zakai2016-12-076-11/+83
| |
| * verify we don't legalize table elementsAlon Zakai2016-12-075-4/+10
| |
| * commentAlon Zakai2016-12-071-1/+1
| |
| * lower min and max in asm2wasm in wasm f*.min/maxAlon Zakai2016-12-074-1/+98
| |
| * make legalizeJSInterface handle f32s as well, which are not valid in asm.js ffisAlon Zakai2016-12-0711-31/+307
| |
| * convert ftCall_* and mftCall_* into table callsAlon Zakai2016-12-076-8/+111
| |
| * support asm.js numeric exports by creating a global and exporting thatAlon Zakai2016-12-076-17/+44
| |
| * add a RemoveUnusedModuleElements pass, and make LegalizeJSInterface create ↵Alon Zakai2016-12-0729-403/+421
| | | | | | | | TempRet0 if needed (otherwise we might remove it before we use it)
| * use tableBase for the table segmentsAlon Zakai2016-12-0717-17/+17
| |
| * 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-077-1/+7
| |