Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | don't leak when running tests in shell | Alon Zakai | 2016-04-27 | 1 | -6/+6 |
| | |||||
* | use arena allocation for s-expr Elements | Alon Zakai | 2016-04-27 | 1 | -3/+2 |
| | |||||
* | Merge pull request #406 from WebAssembly/i64.load32_u | Alon Zakai | 2016-04-27 | 1 | -4/+4 |
|\ | | | | | Fix zero-extension in i64.load32_u. | ||||
| * | Fix zero-extension in i64.load32_u. | Dan Gohman | 2016-04-27 | 1 | -4/+4 |
| | | |||||
* | | Remove UB (#405) | JF Bastien | 2016-04-27 | 1 | -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 Schuff | 2016-04-27 | 13 | -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 nodes | Alon Zakai | 2016-04-26 | 15 | -278/+456 |
| | |||||
* | make chunk size flexible in arenas | Alon Zakai | 2016-04-26 | 1 | -5/+9 |
| | |||||
* | refactor arena to allow allocating space directly | Alon Zakai | 2016-04-26 | 1 | -8/+13 |
| | |||||
* | remove old globalAllocator | Alon Zakai | 2016-04-26 | 2 | -6/+0 |
| | |||||
* | ast_utils improvements (#399) | Alon Zakai | 2016-04-26 | 3 | -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 Schuff | 2016-04-26 | 3 | -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 format | Alon Zakai | 2016-04-26 | 1 | -2/+16 |
| | |||||
* | BreakSeeker needs to look at br_table too | Alon Zakai | 2016-04-26 | 1 | -0/+6 |
| | |||||
* | Merge pull request #393 from WebAssembly/arities | Alon Zakai | 2016-04-26 | 1 | -15/+23 |
|\ | | | | | Arities | ||||
| * | use arities in calls | Alon Zakai | 2016-04-25 | 1 | -3/+9 |
| | | |||||
| * | use arities on switch | Alon Zakai | 2016-04-25 | 1 | -4/+4 |
| | | |||||
| * | use arities on returns | Alon Zakai | 2016-04-25 | 1 | -4/+6 |
| | | |||||
| * | use arities on breaks | Alon Zakai | 2016-04-25 | 1 | -4/+4 |
| | | |||||
* | | selectify if-elses with no control flow in them | Alon Zakai | 2016-04-25 | 2 | -1/+31 |
| | | |||||
* | | optimize returns that flow out | Alon Zakai | 2016-04-25 | 1 | -3/+21 |
| | | |||||
* | | optimize breaks with values in RemoveUnusedBrs, check if their value can ↵ | Alon Zakai | 2016-04-25 | 1 | -14/+32 |
|/ | | | | flow to the target anyhow | ||||
* | Separate LinkerObject from Linker (#383) | Derek Schuff | 2016-04-25 | 4 | -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 Wolski | 2016-04-25 | 1 | -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 them | Alon Zakai | 2016-04-24 | 1 | -72/+300 |
| | |||||
* | comment on replaceCurrent | Alon Zakai | 2016-04-24 | 1 | -1/+4 |
| | |||||
* | provide the current expression to noteNonLinear | Alon Zakai | 2016-04-24 | 1 | -2/+2 |
| | |||||
* | fix EffectAnalyzer, blocks and loops do not branch by themselves | Alon Zakai | 2016-04-24 | 1 | -2/+0 |
| | |||||
* | go back to using a mutex in mixed arena, until we get the atomics working | Alon Zakai | 2016-04-24 | 1 | -19/+12 |
| | |||||
* | run multiple cycles of RemoveUnusedBrs | Alon Zakai | 2016-04-24 | 1 | -1/+15 |
| | |||||
* | run optimize-instructions a second time at the end | Alon Zakai | 2016-04-24 | 1 | -0/+1 |
| | |||||
* | get rid of nops in ifs | Alon Zakai | 2016-04-24 | 1 | -0/+20 |
| | |||||
* | handle general control flow in RemoveUnusedBrs | Alon Zakai | 2016-04-24 | 1 | -59/+89 |
| | |||||
* | vacuum dead code after br_table | Alon Zakai | 2016-04-24 | 1 | -1/+2 |
| | |||||
* | vacuum dead code after unconditional brs | Alon Zakai | 2016-04-24 | 1 | -3/+14 |
| | |||||
* | allow allocations on side threads (#365) | Alon Zakai | 2016-04-24 | 2 | -10/+68 |
| | |||||
* | Add missing algorithm and string headers | JF Bastien | 2016-04-23 | 1 | -0/+2 |
| | | | As in #382. | ||||
* | Simplify statics, segments, and relocations (#380) | Derek Schuff | 2016-04-22 | 4 | -45/+78 |
| | | | | Also defer address assignment until layout time in preparation for separating linker objects out from Linker | ||||
* | fix conversion opcodes (#381) | Alon Zakai | 2016-04-22 | 1 | -44/+44 |
| | |||||
* | Merge pull request #379 from WebAssembly/zero_x_b | Alon Zakai | 2016-04-22 | 1 | -4/+4 |
|\ | | | | | More 0xb fixes | ||||
| * | br_table offsets are int32s, not lebs | Alon Zakai | 2016-04-22 | 1 | -4/+4 |
| | | |||||
| * | put segments in right order | Alon Zakai | 2016-04-21 | 1 | -4/+6 |
| | | |||||
* | | put segments in right order (#378) | Alon Zakai | 2016-04-21 | 1 | -4/+6 |
| | | |||||
* | | Merge pull request #377 from WebAssembly/zero_x_b | Alon Zakai | 2016-04-21 | 4 | -60/+91 |
|\| | | | | | More 0xb work | ||||
| * | function toplevels is a list | Alon Zakai | 2016-04-21 | 1 | -6/+6 |
| | | |||||
| * | block helper utils | Alon Zakai | 2016-04-21 | 1 | -1/+14 |
| | | |||||
| * | ifs in the binary format always have a break scope | Alon Zakai | 2016-04-21 | 1 | -12/+23 |
| | | |||||
| * | fix if and else bodies, which can be lists | Alon Zakai | 2016-04-21 | 1 | -13/+11 |
| | | |||||
| * | fix loop binary parsing | Alon Zakai | 2016-04-21 | 1 | -4/+19 |
| | | |||||
| * | if condition is popped from before, not pre-order inline | Alon Zakai | 2016-04-21 | 1 | -3/+3 |
| | |