summaryrefslogtreecommitdiff
path: root/src/wasm-s-parser.h
Commit message (Collapse)AuthorAgeFilesLines
...
* allow appending in stringToBinaryAlon Zakai2016-05-091-5/+7
|
* parse binary modules encoded in watsAlon Zakai2016-05-091-0/+14
|
* refactor string to binary parsing in s-expression code so that we can use it ↵Alon Zakai2016-05-091-35/+44
| | | | in more places
* Harmonize the internal opcodes with the binary format (#433)Alon Zakai2016-05-031-5/+5
| | | | | | * 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
* Fix null UB (#428)JF Bastien2016-05-031-33/+37
| | | | | As a continuation to #404, fix a dereference of a std::vector's zeroth element when the size of the vector is zero. Symptom: stl_vector.h:866:9: runtime error: reference binding to null pointer of type 'char'
* validate in binaryen shell and on wasm binaries, and fix type checkingAlon Zakai2016-04-291-1/+2
|
* avoid dynamic allocas (#410)Alon Zakai2016-04-281-3/+4
|
* avoid leaks when s-parsing hits an errorAlon Zakai2016-04-271-6/+6
|
* don't leak currFunction in s-parserAlon Zakai2016-04-271-5/+4
|
* don't leak when parsing segments in s-parserAlon Zakai2016-04-271-2/+2
|
* allocate only expressions in arenas - functions, imports, exports, function ↵Alon Zakai2016-04-271-5/+5
| | | | 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
* use arena allocation for s-expr ElementsAlon Zakai2016-04-271-3/+2
|
* 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-6/+7
|
* update MemorySize => CurrentMemoryAlon Zakai2016-04-181-5/+1
|
* remove the AllocatingModule class, and just make Module have allocations. ↵Alon Zakai2016-04-181-3/+3
| | | | 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-30/+44
| | | | names are kept on the Function object (#354)
* rename function locals, to params and vars, which together are all the ↵Alon Zakai2016-04-141-3/+3
| | | | locals. preparation for #336 (#349)
* remove excessive wasm-s-parser debug logging (#345)Alon Zakai2016-04-141-5/+2
|
* dyn_cast => dynCastAlon Zakai2016-04-111-1/+1
|
* refactor printingAlon Zakai2016-04-041-0/+4
|
* add simpler constructor for SExpressionWasmBuilderAlon Zakai2016-04-041-0/+3
|
* add apis for accessing module elementsAlon Zakai2016-04-041-9/+9
|
* Use local enum.JF Bastien2016-03-291-1/+1
|
* Use static const, and init in-lineJF Bastien2016-03-291-3/+2
|
* avoid constexpr since visual studio doesn't like itAlon Zakai2016-03-291-1/+1
|
* Add missing <cctype> include.Jukka Jylänki2016-03-281-0/+1
| | | | | # Conflicts: # src/wasm-s-parser.h
* Use std::numeric_limits<uint32_t>::max() instead of 0xFFFFFFFF.Jukka Jylänki2016-03-281-1/+2
|
* Hide Visual Studio build warning on casting 64-bit int to 32-bit when we ↵Jukka Jylänki2016-03-281-1/+1
| | | | know it is safe to do so.
* Make type of EqZ unary operators always i32Derek Schuff2016-03-211-1/+1
| | | | | This makes them symmetric to binary relational operators. Also support eqz in the s2wasm parser.
* update spec tests and support eqzAlon Zakai2016-03-191-1/+4
|
* use getFunctionName in another placeAlon Zakai2016-03-161-6/+1
|
* Merge pull request #246 from WebAssembly/spec-binaryAlon Zakai2016-03-151-1/+24
|\ | | | | Binary spec stuff
| * parse start properly when it is an offsetAlon Zakai2016-03-151-1/+14
| |
| * add explicit memory export supportAlon Zakai2016-03-151-0/+10
| |
* | fix block commentsMichael Bebenita2016-03-151-1/+20
| |
* | Remove recursion from s-expr parsing.Michael Bebenita2016-03-151-32/+22
|/
* de-recurse operations on nested blocksAlon Zakai2016-03-101-14/+47
|
* Implement rotatesDerek Schuff2016-03-091-1/+5
|
* be more precise in br_table parsingAlon Zakai2016-03-071-1/+1
|
* br_table, no more casesAlon Zakai2016-03-071-34/+20
|
* parse empty blocks properlyAlon Zakai2016-03-071-2/+3
|
* parse then and elseAlon Zakai2016-03-071-0/+19
|
* refactoring in preparation for then-else parsingAlon Zakai2016-03-071-23/+29
|
* update if parsing to new spec rulesAlon Zakai2016-03-071-2/+26
|
* add a finalize() method for blocksAlon Zakai2016-03-071-4/+3
|
* update select changes in specAlon Zakai2016-03-021-4/+4
|
* support function indexes in tablesAlon Zakai2016-02-251-1/+8
|
* Merge pull request #210 from mbebenita/fix-parsingAlon Zakai2016-02-231-1/+1
|\ | | | | Bug fix and adds printing / parsing tests.
| * Bug fix and adds printing / parsing tests.Michael2016-02-221-1/+1
| |