summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* simplify wasm-builder: it has an allocator, and should never need to access ↵Alon Zakai2016-06-271-23/+24
| | | | a module (#605)
* make creating functions and types parallelizable in c api (#603)Alon Zakai2016-06-262-2/+35
|
* Merge pull request #602 from WebAssembly/dsl-niceAlon Zakai2016-06-2615-150/+736
|\ | | | | Use a DSL in OptimizeInstructions
| * rewrite OptimizeInstructions to use a dsl of patternsAlon Zakai2016-06-263-50/+440
| |
| * make makeCallImport more similar to makeCall; do not assume all imports ↵Alon Zakai2016-06-263-4/+4
| | | | | | | | exist, let functions be created in a way independent from global state
| * expression copying utilityAlon Zakai2016-06-262-7/+149
| |
| * add ExpressionAnalyzer::flexibleEqualsAlon Zakai2016-06-261-1/+13
| |
| * add shared-constants.h for wasm constantsAlon Zakai2016-06-2610-89/+131
| |
* | add c api method to interpret a module, calling its start method (#601)Alon Zakai2016-06-252-0/+13
|/
* finalize blocks properly in relooper (#600)Alon Zakai2016-06-241-1/+7
|
* add BinaryenExpressionPrint to c api (#599)Alon Zakai2016-06-242-1/+9
|
* prefix make_unique in binaryen_shell for visual studio workarounds (#595)Alon Zakai2016-06-231-4/+4
|
* make assertion error more useful (#597)Dominic Chen2016-06-231-1/+1
|
* Merge pull request #593 from WebAssembly/remove-div0Alon Zakai2016-06-2127-43/+175
|\ | | | | Explicit registering of passes
| * Add initialization functions for passes to avoid missing pass registration ↵Jukka Jylänki2016-06-2127-43/+175
| | | | | | | | due to linker dead code elimination. Fixes #577.
* | Build fixes/workarounds to support Visual Studio 2013 build, which has ↵juj2016-06-215-6/+7
|/ | | | trouble with some new C++11 constructs. (#581)
* support -o in binaryen-shell (#592)Alon Zakai2016-06-181-0/+9
|
* Merge pull request #590 from WebAssembly/precomputeAlon Zakai2016-06-188-416/+544
|\ | | | | Precompute expressions at compile time when possible
| * run precompute after every optimize-instructionsAlon Zakai2016-06-181-0/+2
| |
| * add a precompute passAlon Zakai2016-06-186-37/+111
| |
| * refactor interpreter code to provide expression executors for both ↵Alon Zakai2016-06-183-414/+466
| | | | | | | | standalone and full funtime execution
* | fix an assert to a proper error, in bad func declsAlon Zakai2016-06-171-1/+1
| |
* | fix interpreter on indirect calls, do arguments before checking and doing ↵Alon Zakai2016-06-171-3/+3
|/ | | | the call (they might flow)
* Do not create dyncall thunks for functions with i64 results or params (#586)Derek Schuff2016-06-141-0/+9
| | | | | | Dyncall thunks are meant to be used with emscripten on the web; however on the web, functions with i64 results or params are not allowed to be exported.
* Add mode to wasm validator to check for web-environment constraints (#584)Derek Schuff2016-06-144-21/+61
| | | | | | | In the web embedding, modules are not allowed to import or export functions which have i64 params or return values. Add a mode to the validator to check for this, and add flags to s2wasm and wasm-as to enable or disable this check. Also add tests.
* Merge pull request #583 from WebAssembly/br-moreAlon Zakai2016-06-113-1/+9
|\ | | | | Fix and improve br optimizations
| * run remove-unused-brs after simplify-localsAlon Zakai2016-06-112-1/+2
| |
| * fix br_if with value optimization in remove-unused-brsAlon Zakai2016-06-111-0/+7
| |
* | s2wasm: Validate the result module (#574)Derek Schuff2016-06-104-18/+38
|/ | | | Add an s2wasm option `--no-validate` to disable validation for debugging purposes. Also fix several validation errors by adding calls to `finalize()` after creating expressions, and ensuring that an import is created earlier in `Linker::getImportThunk`.
* use WASM_UNUSED in some places to fix compiler warning/error on unused ↵Alon Zakai2016-06-084-2/+9
| | | | variables we only use in asserts (#579)
* add a pass to remove memory segments (#580)Alon Zakai2016-06-082-0/+35
|
* fix if type; if one is none and the other is concrete, still none (#575)Alon Zakai2016-06-061-1/+9
|
* handle breaks to the function's implicit block scope (#573)Alon Zakai2016-06-061-7/+23
|
* Fixed missing type assignment of host operations in s2wasm (#572)Alexander Meißner2016-06-061-0/+1
|
* if we start to parse an s-string and find it empty, that is invalid #570 (#571)Alon Zakai2016-06-041-0/+1
|
* make call_indirect type a name, so that it is not a dependency on the ↵Alon Zakai2016-06-0311-25/+25
| | | | module, which would break consistency and make some parallel passes tricky (#568)
* Do not generate duplicate import thunks at link time. (#569)Derek Schuff2016-06-032-4/+6
| | | | | Previously every address-take of an import would cause a new thunk to be generated. Now check in getImportThunk if the thunk exists already and just return it if so.
* move function parallelism to pass and pass runner, which allows more ↵Alon Zakai2016-06-0317-139/+145
| | | | efficient parallel execution (#564)
* check function types in s-parsingAlon Zakai2016-06-031-1/+2
|
* trap on invalid call_indirects with bad arguments when no type providedAlon Zakai2016-06-031-0/+4
|
* improve some parsing error textsAlon Zakai2016-06-032-2/+2
|
* check locals in s-parserAlon Zakai2016-06-031-2/+8
|
* check calls more carefully in validatorAlon Zakai2016-06-031-6/+9
|
* add nm pass, that prints function names and sizes (#562)Alon Zakai2016-06-033-3/+42
|
* Fix leak of FunctionType from parseFuncType when not already in the module ↵Derek Schuff2016-06-031-2/+8
| | | | | (#563) Pass ownership into the wasm module.
* add OptimizingIncrementalModuleBuilder for faster incremental module ↵Alon Zakai2016-06-023-22/+286
| | | | building + optimizing
* refactor a getNumCores methodAlon Zakai2016-06-022-5/+12
|
* add an option to run passes on individual functions, and to get default ↵Alon Zakai2016-06-023-2/+50
| | | | optimization passes suitable for that, or not. refactor visitFunction/Module for this.
* Generate thunks for address-taken imports (#554)Derek Schuff2016-06-027-22/+95
| | | | | | | | | | | Under emscripten, C code can take the address of a function implemented in Javascript (which is exposed via an import in wasm). Because imports do not have linear memory address in wasm, we need to generate a thunk to be the target of the indirect call; it call the import directly. This is facilited by a new .s directive (.functype) which declares the types of functions which are declared but not defined. Fixes https://github.com/WebAssembly/binaryen/issues/392
* Merge pull request #555 from WebAssembly/spec-test-fixesAlon Zakai2016-06-012-3/+3
|\ | | | | Spec test fixes