summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* clean up import if not passed to wasm module in asm2wasmAlon Zakai2016-04-271-0/+1
|
* clean up in emscripten-optimizer arenasAlon Zakai2016-04-272-0/+10
|
* use an arena vector for switch targetsAlon Zakai2016-04-271-3/+2
|
* allocate only expressions in arenas - functions, imports, exports, function ↵Alon Zakai2016-04-2713-82/+82
| | | | types, can more simply be held by unique_ptrs on the owning module. this avoids need to coordinate arena allocation for their elements, and only the far more plentiful expression nodes are a perf factor anyhow
* don't leak when running tests in shellAlon Zakai2016-04-271-6/+6
|
* use arena allocation for s-expr ElementsAlon Zakai2016-04-271-3/+2
|
* Merge pull request #406 from WebAssembly/i64.load32_uAlon Zakai2016-04-2716-13154/+12148
|\ | | | | Fix zero-extension in i64.load32_u.
| * use ONLY hack only for _only files in test/wasm_backendAlon Zakai2016-04-2711-1/+1
| |
| * update wasm.jsAlon Zakai2016-04-272-13149/+12126
| |
| * Add a testcase.Dan Gohman2016-04-272-0/+17
| |
| * Fix zero-extension in i64.load32_u.Dan Gohman2016-04-271-4/+4
| |
* | Remove UB (#405)JF Bastien2016-04-271-8/+6
|/ | | | | ubsan fails with: wasm-binary.h:97:32: runtime error: left shift of negative value -1 Also use type_traits for is_signed.
* Split construction, scanning, and building phases of S2WasmBuilder (#400)Derek Schuff2016-04-2713-80/+250
| | | | | | | | | | | Instead of doing all of the S2Wasm work in the constructor, split construction, scanning (to determine implemented functions) and building of the wasm module. This allows the linker to get the symbol information (e.g. implemented functions) without having to build an entire module (which will be useful for archives) and to allow the linker to link a new object into the existing one by building the wasm module in place on the existing module.
* Prep for arena vectorsAlon Zakai2016-04-2617-297/+478
|\ | | | | Arena vectors
| * add an ArenaVector for internal array allocations in expression nodesAlon Zakai2016-04-2615-278/+456
| |
| * do not ignore stderr in binary format check testsAlon Zakai2016-04-261-3/+3
| |
| * make chunk size flexible in arenasAlon Zakai2016-04-261-5/+9
| |
| * refactor arena to allow allocating space directlyAlon Zakai2016-04-261-8/+13
| |
| * remove old globalAllocatorAlon Zakai2016-04-262-6/+0
|/
* ast_utils improvements (#399)Alon Zakai2016-04-263-13/+25
| | | | | | | | | * make EffectAnalyzer a little more fun to use * create a convert() method that can turn a node into a smaller node, reusing its memory, and use that in nop() * use convert in wasm-linker
* Update waterfall and LLVM torture tests build to 5780 (#398)Derek Schuff2016-04-26302-6230/+6274
| | | This brings in the fix from LLVM r267511
* Defer creation of CallImports to link time (#395)Derek Schuff2016-04-2610-47/+67
| | | s2wasm currently creates a Call AST node if the target is implemented in the current object (thus far assumed to be the final executable) and a CallImport node if not. In preparation for adding additional objects to the link before layout time, we make only Call nodes until link time, and then convert them to CallImport if they are undefined at that time.
* Merge pull request #397 from WebAssembly/binary-optsAlon Zakai2016-04-262-2/+22
|\ | | | | Improve emitting of ifs in binary format
| * emit ifs in an optimized way in binary formatAlon Zakai2016-04-261-2/+16
| |
| * BreakSeeker needs to look at br_table tooAlon Zakai2016-04-261-0/+6
|/
* Merge pull request #393 from WebAssembly/aritiesAlon Zakai2016-04-262-4252/+4400
|\ | | | | Arities
| * update wasm.jsAlon Zakai2016-04-251-4237/+4377
| |
| * use arities in callsAlon Zakai2016-04-251-3/+9
| |
| * use arities on switchAlon Zakai2016-04-251-4/+4
| |
| * use arities on returnsAlon Zakai2016-04-251-4/+6
| |
| * use arities on breaksAlon Zakai2016-04-251-4/+4
| |
* | Merge pull request #396 from WebAssembly/more-optsAlon Zakai2016-04-2510-4155/+3903
|\ \ | | | | | | Selectify if-elses with no side effects
| * | selectify if-elses with no control flow in themAlon Zakai2016-04-2510-4155/+3903
|/ /
* | Merge pull request #394 from WebAssembly/more-br-optsAlon Zakai2016-04-2517-3059/+2627
|\ \ | |/ |/| More control flow optimization
| * optimize returns that flow outAlon Zakai2016-04-2517-3015/+2593
| |
| * optimize breaks with values in RemoveUnusedBrs, check if their value can ↵Alon Zakai2016-04-252-47/+37
|/ | | | flow to the target anyhow
* Separate LinkerObject from Linker (#383)Derek Schuff2016-04-254-141/+171
| | | | | Create the LinkerObject class, which has a wasm Module and represents the module plus the information needed to relocate and lay it out. Each Linker owns a "main executable" LinkerObject, and S2WasmBuilder requires a LinkerObject instead of just a Module because LLVM asm files require relocation/linking before they represent a full wasm module. No merging support yet, but the real functionality for #370 is coming soon.
* Use Module instead of AllocatingModule in binaryen.js tests (#391)Jan Wolski2016-04-253-11017/+22473
| | | | | | * Use Module instead of AllocatingModule in binaryen.js tests * include compiled binaryen.js, too
* update build-js.shAlon Zakai2016-04-241-1/+1
|
* Merge pull request #387 from WebAssembly/block-returns-niceAlon Zakai2016-04-2413-24872/+27531
|\ | | | | Optimize block and if returns
| * update wasm.jsAlon Zakai2016-04-242-5592/+8856
| |
| * optimize block and if returns, by merging set_locals that flow out of themAlon Zakai2016-04-249-19275/+18669
| |
| * comment on replaceCurrentAlon Zakai2016-04-241-1/+4
| |
| * provide the current expression to noteNonLinearAlon Zakai2016-04-241-2/+2
| |
| * fix EffectAnalyzer, blocks and loops do not branch by themselvesAlon Zakai2016-04-241-2/+0
|/
* Merge pull request #389 from WebAssembly/fixesAlon Zakai2016-04-242-21/+13
|\ | | | | Thread fix
| * make optimized build optimized againAlon Zakai2016-04-241-2/+1
| |
| * go back to using a mutex in mixed arena, until we get the atomics workingAlon Zakai2016-04-241-19/+12
|/
* Merge pull request #386 from WebAssembly/improve-remove-brsAlon Zakai2016-04-2415-4331/+3930
|\ | | | | Improve RemoveBrs
| * run multiple cycles of RemoveUnusedBrsAlon Zakai2016-04-244-7/+19
| |