summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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-271-4/+4
|\ | | | | Fix zero-extension in i64.load32_u.
| * 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.
* add an ArenaVector for internal array allocations in expression nodesAlon Zakai2016-04-2615-278/+456
|
* 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
* Defer creation of CallImports to link time (#395)Derek Schuff2016-04-263-21/+41
| | | 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.
* 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-261-15/+23
|\ | | | | Arities
| * 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
| |
* | selectify if-elses with no control flow in themAlon Zakai2016-04-252-1/+31
| |
* | optimize returns that flow outAlon Zakai2016-04-251-3/+21
| |
* | optimize breaks with values in RemoveUnusedBrs, check if their value can ↵Alon Zakai2016-04-251-14/+32
|/ | | | 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-251-0/+1
| | | | | | * Use Module instead of AllocatingModule in binaryen.js tests * include compiled binaryen.js, too
* optimize block and if returns, by merging set_locals that flow out of themAlon Zakai2016-04-241-72/+300
|
* 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
|
* go back to using a mutex in mixed arena, until we get the atomics workingAlon Zakai2016-04-241-19/+12
|
* run multiple cycles of RemoveUnusedBrsAlon Zakai2016-04-241-1/+15
|
* run optimize-instructions a second time at the endAlon Zakai2016-04-241-0/+1
|
* get rid of nops in ifsAlon Zakai2016-04-241-0/+20
|
* handle general control flow in RemoveUnusedBrsAlon Zakai2016-04-241-59/+89
|
* vacuum dead code after br_tableAlon Zakai2016-04-241-1/+2
|
* vacuum dead code after unconditional brsAlon Zakai2016-04-241-3/+14
|
* allow allocations on side threads (#365)Alon Zakai2016-04-242-10/+68
|
* Add missing algorithm and string headersJF Bastien2016-04-231-0/+2
| | | As in #382.
* Simplify statics, segments, and relocations (#380)Derek Schuff2016-04-224-45/+78
| | | | Also defer address assignment until layout time in preparation for separating linker objects out from Linker
* fix conversion opcodes (#381)Alon Zakai2016-04-221-44/+44
|
* Merge pull request #379 from WebAssembly/zero_x_bAlon Zakai2016-04-221-4/+4
|\ | | | | More 0xb fixes
| * br_table offsets are int32s, not lebsAlon Zakai2016-04-221-4/+4
| |
| * put segments in right orderAlon Zakai2016-04-211-4/+6
| |
* | put segments in right order (#378)Alon Zakai2016-04-211-4/+6
| |
* | Merge pull request #377 from WebAssembly/zero_x_bAlon Zakai2016-04-214-60/+91
|\| | | | | More 0xb work
| * function toplevels is a listAlon Zakai2016-04-211-6/+6
| |
| * block helper utilsAlon Zakai2016-04-211-1/+14
| |
| * ifs in the binary format always have a break scopeAlon Zakai2016-04-211-12/+23
| |
| * fix if and else bodies, which can be listsAlon Zakai2016-04-211-13/+11
| |
| * fix loop binary parsingAlon Zakai2016-04-211-4/+19
| |
| * if condition is popped from before, not pre-order inlineAlon Zakai2016-04-211-3/+3
| |