summaryrefslogtreecommitdiff
path: root/src/wasm-binary.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Harmonize the internal opcodes with the binary format (#433)Alon Zakai2016-05-031-30/+40
| | | | | | * harmonize the internal opcodes with the binary format, so they clearly parallel, and also this helps us avoid needing the type to disambiguate * comment on GetLocal in C API
* Check LEB128 encoding fits in destination integer (#408)JF Bastien2016-04-301-7/+23
| | | | | | | | | | | * Check LEB128 encoding fits in destination integer As found by #404, the insignificant LEB128 bits were silently dropped when dealing with signed LEB values which tripped UBSAN in hello_world. This fixes #409. * Fix typo.
* validate in binaryen shell and on wasm binaries, and fix type checkingAlon Zakai2016-04-291-0/+6
|
* get the reinterpret opcodes right on float/intAlon Zakai2016-04-281-6/+6
|
* fix size detection on reinterpret operations in binary formatAlon Zakai2016-04-281-2/+2
|
* avoid dynamic allocas (#410)Alon Zakai2016-04-281-2/+3
|
* just use a simple vector in data segmentsAlon Zakai2016-04-271-8/+6
|
* allocate only expressions in arenas - functions, imports, exports, function ↵Alon Zakai2016-04-271-15/+14
| | | | 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
* 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-271-1/+1
| | | | | | | | | | | 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-261-111/+113
|
* emit ifs in an optimized way in binary formatAlon Zakai2016-04-261-2/+16
|
* 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
|
* allow allocations on side threads (#365)Alon Zakai2016-04-241-3/+1
|
* fix conversion opcodes (#381)Alon Zakai2016-04-221-44/+44
|
* br_table offsets are int32s, not lebsAlon Zakai2016-04-221-4/+4
|
* put segments in right orderAlon Zakai2016-04-211-4/+6
|
* function toplevels is a listAlon Zakai2016-04-211-6/+6
|
* 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
|
* update br_table in binary formatAlon Zakai2016-04-211-13/+8
|
* fix a reinterpret opcodeAlon Zakai2016-04-211-1/+1
|
* update eqz opcodesAlon Zakai2016-04-211-3/+2
|
* name unnamed functions in binariesAlon Zakai2016-04-211-1/+1
|
* function ending fixesAlon Zakai2016-04-211-16/+15
|
* support not exporting memory in binariesAlon Zakai2016-04-211-2/+5
|
* update binary version to 0xbAlon Zakai2016-04-201-4/+9
|
* extensible type forms, update for design#640 (#367)Alon Zakai2016-04-191-2/+20
|
* update MemorySize => CurrentMemoryAlon Zakai2016-04-181-5/+5
|
* update binary section names per latest design (#363)Alon Zakai2016-04-181-9/+9
|
* remove the AllocatingModule class, and just make Module have allocations. ↵Alon Zakai2016-04-181-2/+2
| | | | the distinction is not really that useful, and passes do need to allocate, so we would need to pass around AllocatingModules all around anyhow. (#361)
* index locals, so that get_local and set_local have just an index, and local ↵Alon Zakai2016-04-181-39/+33
| | | | names are kept on the Function object (#354)
* rename function locals, to params and vars, which together are all the ↵Alon Zakai2016-04-141-9/+9
| | | | locals. preparation for #336 (#349)
* De-recurse traversals (#333)Alon Zakai2016-04-111-1/+1
| | | | | | | | | | | | * refactor core walking to not recurse * add a simplify-locals test * reuse parent's non-branchey scan logic in SimpleExecutionWalker, reduce code duplication * update wasm.js * rename things following comments
* refactor wasm traversal code into separate fileAlon Zakai2016-04-061-0/+1
|
* fix assertionAlon Zakai2016-04-051-1/+1
|
* binary codes update and if/else update, see design#641Alon Zakai2016-04-051-35/+44
|
* reorder section size location in binary format, see design#639Alon Zakai2016-04-051-4/+7
|
* add apis for accessing module elementsAlon Zakai2016-04-041-2/+1
|
* Clean Visual Studio build warning C4800: 'int64_t': forcing value to bool ↵Jukka Jylänki2016-03-281-1/+1
| | | | 'true' or 'false' (performance warning).
* Merge pull request #251 from mbebenita/opt-wasm-asAlon Zakai2016-03-221-11/+22
|\ | | | | Optimize function => index mapping.
| * Flip condition.Michael Bebenita2016-03-221-8/+2
| |
| * Optimize function => index mapping.Michael Bebenita2016-03-161-9/+26
| |
* | update spec tests and support eqzAlon Zakai2016-03-191-0/+5
| |
* | proper signed LEBAlon Zakai2016-03-181-12/+63
| |