Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | ignore unknown user sections, fixes #857 (#858) | Alon Zakai | 2016-12-07 | 2 | -8/+13 | |
| | | ||||||
* | | use exported static base and bump (#853) | Alon Zakai | 2016-12-06 | 1 | -2/+2 | |
|/ | ||||||
* | Generate global imports separately from emscripten glue (#852) | jgravelle-google | 2016-12-01 | 4 | -19/+21 | |
| | ||||||
* | Handle importing globals in s2wasm (#843) | jgravelle-google | 2016-11-30 | 6 | -36/+127 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Handle importing globals in s2wasm * Make importedGlobals a set of Names, make Names hashable * Revert "Make importedGlobals a set of Names, make Names hashable" This reverts commit 1d0ca7a5e3839b15ca60593330979864c9c3ed60. * Refactor relocation parsing to handle expressions directly * PR Feedback - Move comment where it belongs - Add comment about ownership to addRelocation - Remove do-nothing parseImportGlobal * Reword "imported globals" to "imported objects" - Flip isObjectImported to isObjectImplemented, for consistency * Add tests for s2wasm globals. Also implement import relocation expression handling * Simplify globals.s test * Fix memory leak of relocation * Use unique_ptr instead of delete in getRelocatableExpression | |||||
* | Fix regression from #850 (#851) | Alon Zakai | 2016-11-30 | 3 | -56/+37 | |
| | | | | | | * fix regression from #850 - it is not always safe to fold added offsets into load/store offsets, as the add wraps but offset does not * small refactoring to simplify asm2wasm pass invocation | |||||
* | Optimize added factors into load/store offsets (#850) | Alon Zakai | 2016-11-29 | 1 | -0/+40 | |
| | | | | | * optimize added factors into load/store offsets, removing the add * optimize offset of load/store of a constant into the constant | |||||
* | more consistent placement of & and *, on the type (#848) | Alon Zakai | 2016-11-28 | 3 | -105/+111 | |
| | ||||||
* | increase limit in RelooperJumpThreading (#847) | Alon Zakai | 2016-11-28 | 1 | -3/+3 | |
| | ||||||
* | Wrap description (#839) | Loo Rong Jie | 2016-11-28 | 3 | -5/+32 | |
| | ||||||
* | fix a reordering bug in merge-blocks (#846) | Alon Zakai | 2016-11-25 | 1 | -2/+6 | |
| | ||||||
* | add --mem-max option to set the maximum size of memory, overriding the ↵ | Alon Zakai | 2016-11-11 | 1 | -0/+10 | |
| | | | | default (which is the normal size of memory if no growth, or infinity if growth) (#837) | |||||
* | Run wasm natively by default, no fallbacks to interpreting (#838) | Alon Zakai | 2016-11-11 | 1 | -2/+2 | |
| | | | | | | * run wasm natively by default, no fallbacks to interpreting * improve error message, suggesting people add methods if they want more | |||||
* | improve memory growth ignoring code in asm2wasm, we may not have the marker ↵ | Alon Zakai | 2016-11-11 | 1 | -15/+21 | |
| | | | | symbols (e.g. in ONLY_MY_CODE that is the case) (#835) | |||||
* | Fix Windows colors (#833) | Loo Rong Jie | 2016-11-11 | 1 | -3/+2 | |
| | | | | * Fix Windows colors and update README.md | |||||
* | show a warning with guidance when a memory size incompatibility issue makes ↵ | Alon Zakai | 2016-11-10 | 1 | -0/+3 | |
| | | | | wasm compilation fail (#834) | |||||
* | emit entries in the Names section for imports as well, as was recently ↵ | Alon Zakai | 2016-11-09 | 1 | -3/+35 | |
| | | | | changed in the spec | |||||
* | add a --symbolmap option to wasm-as, which emits a side file with the name ↵ | Alon Zakai | 2016-11-09 | 3 | -0/+21 | |
| | | | | mapping (similar to Names section, but external) | |||||
* | support assigns of f32 to HEAP64 in asm2wasm (#830) | Alon Zakai | 2016-11-07 | 1 | -1/+7 | |
| | ||||||
* | handle a label setting inside the if-body of a label value in ↵ | Alon Zakai | 2016-11-06 | 1 | -1/+15 | |
| | | | | RelooperJumpThreading | |||||
* | make ExtractFunction use an env var instead of a hardcoded string | Alon Zakai | 2016-11-06 | 1 | -2/+8 | |
| | ||||||
* | improve local simplication: simplify without if/block structure values ↵ | Alon Zakai | 2016-11-06 | 2 | -7/+11 | |
| | | | | before coalesce, so that coalesce can remove all copies, then do another pass of full simplification after it | |||||
* | add variants of simplify-locals with and without teeing and structural opts | Alon Zakai | 2016-11-05 | 3 | -11/+49 | |
| | ||||||
* | optimize booleans through i32.or | Alon Zakai | 2016-11-04 | 1 | -2/+6 | |
| | ||||||
* | remove-unused-brs after coalesce-locals | Alon Zakai | 2016-11-04 | 1 | -1/+2 | |
| | ||||||
* | Fixes fround of an unsigned integer (#821) | Alon Zakai | 2016-11-04 | 1 | -1/+5 | |
| | | | | | | | | * fix fround of unsigned * add testing for f32 ops, and remove a duplicate test (now that f32 is on by default in wasm, we don't need to check with and without PRECISE_F32) * update wasm.js and binaryen.js | |||||
* | Merge pull request #819 from WebAssembly/optimize-memory | Alon Zakai | 2016-11-01 | 5 | -2/+103 | |
|\ | | | | | Pack memory segments | |||||
| * | add a pass to optimize memory segments, and pack memory in asm2wasm | Alon Zakai | 2016-11-01 | 5 | -1/+91 | |
| | | ||||||
| * | add a --memory-base options to asm2wasm, to fix the memory base instead of ↵ | Alon Zakai | 2016-10-31 | 1 | -1/+12 | |
| | | | | | | | | depending on an import | |||||
* | | fix large f32 consts, fixes #817 (#820) | Alon Zakai | 2016-11-01 | 2 | -8/+10 | |
| | | ||||||
* | | Work around dot quirks related to updating node styles. Remove indirect call ↵ | Michael Bebenita | 2016-11-01 | 1 | -26/+21 | |
|/ | | | | edges as they greatly increase the size of the graph. (#818) | |||||
* | Optimize away copies through an if (#816) | Alon Zakai | 2016-10-31 | 2 | -4/+58 | |
| | ||||||
* | add an inlining pass (#814) | Alon Zakai | 2016-10-29 | 5 | -0/+214 | |
| | ||||||
* | optimize child blocks in merge-blocks when we drop values in them, they may ↵ | Alon Zakai | 2016-10-29 | 1 | -60/+73 | |
| | | | | have new subchild blocks | |||||
* | fix break value removal in merge-blocks: a br_if's type changes without a ↵ | Alon Zakai | 2016-10-29 | 1 | -1/+10 | |
| | | | | value, so finalize the node, and remove the drop | |||||
* | handle the case of a br_if whose value is used in merge-blocks | Alon Zakai | 2016-10-29 | 1 | -14/+38 | |
| | ||||||
* | refactor get_local counting out of simplify-locals (#812) | Alon Zakai | 2016-10-28 | 2 | -19/+57 | |
| | ||||||
* | merge adjacent br_ifs | Alon Zakai | 2016-10-27 | 1 | -24/+46 | |
| | ||||||
* | recreate simply ifs | Alon Zakai | 2016-10-27 | 1 | -0/+25 | |
| | ||||||
* | recurse in optimizeBoolean (#809) | Alon Zakai | 2016-10-27 | 1 | -0/+10 | |
| | ||||||
* | Set the type of the implicit blocks we use for a loop body in s2wasm (#810) | jgravelle-google | 2016-10-27 | 1 | -0/+1 | |
| | | | | | | | Loops are modeled in Binaryen IR as having a Block as a body. The block is added to module walkers and validated like a normal block. In s2wasm when we add the blocks, we need to make sure that the type of the loop body matches the type of the loop itself, or we run into issues. | |||||
* | optimize ne of 0 in a boolean context (#808) | Alon Zakai | 2016-10-27 | 1 | -7/+17 | |
| | ||||||
* | Code pushing (#807) | Alon Zakai | 2016-10-26 | 5 | -0/+275 | |
| | | | Push code forward, potentially letting it not execute | |||||
* | update wasm.js and binaryen.js (#806) | Alon Zakai | 2016-10-26 | 1 | -0/+1 | |
| | ||||||
* | Conditionalize boolean operations based on cost (#805) | Alon Zakai | 2016-10-26 | 3 | -1/+297 | |
| | | | When we have expensive | expensive, and both are boolean, then we can execute one of them conditionally if it doesn't have side effects. | |||||
* | Binary 0xd changes (#803) | Derek Schuff | 2016-10-26 | 3 | -209/+240 | |
| | | | | | | | | | | | | | | | | | | | | | * Renumber opcodes for 0xd * Unified type encoding * Add reserved flags fields to host instructions and call_indirect * Rename flags->reserved * Fix line numbers in wast parser Also don't throw if the memory is defined in the same Element as the export of memory (the validity is checked later anyway). * Skip spec binary.wast The spec testsuite is still on 0xc, so 0xd doesn't match. In order to update to 0xd we need to implement some additional functionality for the import test, namely (register) | |||||
* | Optimize out bool & 1 (#804) | Alon Zakai | 2016-10-25 | 3 | -3/+79 | |
| | | | | | | * asm.js corrections to unit.asm.js test * optimize out bool&1 | |||||
* | Update s2wasm for reordered call_indirect (#802) | jgravelle-google | 2016-10-24 | 1 | -3/+2 | |
| | | | | | | | | | | | | | | | * Update s2wasm for reordered call_indirect https://reviews.llvm.org/D25708 fixed call_indirect for 0xc by reordering the operands. s2wasm needs to be aware of that too. * Update llvm_autogenerated tests * Update torture-s tests * run auto_update_tests * update handwritten dot_s test that had call_indirect with args | |||||
* | fix binary format regression from 9afa80951a3e9e59d5348780370a8b67d829ded1 - ↵ | Alon Zakai | 2016-10-22 | 2 | -22/+13 | |
| | | | | we must handle float literals carefully to not change their sign bit on some platforms/compilers, and that commit made relevant functions non-inline which hit a bug (#801) | |||||
* | pass PassOptions to OptimizingIncrementalModuleBuilder, so that it can pass ↵ | Alon Zakai | 2016-10-21 | 2 | -8/+8 | |
| | | | | them to all the PassRunners it creates, letting them have the proper options at all times | |||||
* | LinearExecutionWalker cleanups: call noteNonLinear for only necessary ↵ | Alon Zakai | 2016-10-21 | 1 | -1/+8 | |
| | | | | blocks, as some do not have branches, and add a missing call for unreachable which just like return halts control flow |