summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* validate get_local type (#745)Alon Zakai2016-10-061-0/+3
|
* Update wasm.js (#743)Derek Schuff2016-10-042-303/+303
| | | Compatible with #740
* DCE bugfix (#736)Alon Zakai2016-10-046-2/+243
| | | | | * fix a dce bug where it is invalid to truncate a block if it leaves a final element with a bad type (wasm doesn't always allow removing unreachable code) * add wast pass fuzzer
* handle ifs with an i64 condition #741 (#742)Alon Zakai2016-10-045-5/+19
|
* Binary 0xc: Remove arity on return instruction (#740)Derek Schuff2016-10-042-4/+4
| | | | Also skip binary roundtrip on stacky spec tests
* Write global mutability into wasm binary (#739)Derek Schuff2016-10-041-3/+6
| | | | | For compatibility with 0xc Also update opcode for get_global
* Update i64 stores for 0xc (#731)jgravelle-google2016-10-047-10/+27
| | | | | | | | | | * Update i64 stores for 0xc * Update autogenerated LLVM tests * Update known torture test failures * Add i64.store32 test to unit.wast
* Update wasm.js (#737)Derek Schuff2016-10-042-327/+331
| | | Update the build so it accepts the binary format changes from #733
* More binary updates for 0xc (#733)Derek Schuff2016-10-038-40/+70
| | | | | | | | | | | | | | | Refine tables to explicitly exist or not. Previously they were printed or encoded if it had any segments, or an initial or max size. However tables can be defined but empty, so we had a special hack that defined an empty segment when we really just wanted an empty table. Now, just make the existence explicit. Update Function table encoding for 0xc (Table and Element sections) Add end opcodes after function bodies (these are consumed by getMaybeBlock with the same behavior that it had before when it reached the function end, so no explicit decode) Update call_indirect encoding for 0xc (no arity, call target is last)
* don't create an unnecessary duplicate block in asm2wasm switches, when there ↵Alon Zakai2016-10-039-9883/+9841
| | | | isn't a default (#734)
* Refactor Import::Kind and Export::Kind into an ExternalKind enum class (#725)Alon Zakai2016-10-0314-120/+113
|
* Document and clean up validation options (#730)Alon Zakai2016-10-031-9/+31
| | | | * document and clean up validation options
* Use new WebAssembly API (#724)Alon Zakai2016-10-031-2/+2
| | | | | | * use new WebAssembly.Instance/Module API * detect presence of wasm with WebAssembly object
* wasm-only additions: i32.cttz, copysign, popcnt (#729)Alon Zakai2016-10-026-5/+105
|
* fix vacuum big where we changed an unreachable node to a nop (#728)Alon Zakai2016-10-023-1/+24
|
* More wasm-only opts (#727)Alon Zakai2016-10-028-105/+864
| | | | | | * wasm-only loads and stores * wasm-only 32-bit bitcasts
* passRunner debug and validation improvements (#726)Alon Zakai2016-10-027-32/+80
|
* asm2wasm i64 support (#723)Alon Zakai2016-09-3027-80/+2500
| | | | | | | | | | | | * support i64 intrinsics from fastcomp, adding --wasm-only flag * refactor callImport logic in asm2wasm to avoid recomputing wasm types again * legalize illegal i64 params in exports and imports * do safe i64 binary ops depending on precision * fix addVar, only assert on names if we are using a name
* Make the linker always create a table segment (#722)Derek Schuff2016-09-3073-3/+145
| | | | | | | Previously a table was only created if there were any address-taken functions. New module validation rules require the existence of a table for any call-indirects to validate (even if they are dead and never called). However this use case seems common enough that we might want to make it continue to work. So the linker now always creates an empty table segment (indicating an empty table).
* validate drop (#712)Alon Zakai2016-09-303-16/+13
|
* Update waterfall to 11453 and re-enable torture tests (#721)Derek Schuff2016-09-29106-7077/+6544
| | | | | | | | Torture tests from the clang were disabled with the first 0xc udpate. This PR updates the tests to a new waterfall build and turns them on (also updating the known failures for 0xc). It also updates the download URL since mac and windows bots have been added to the waterfall (they are not up yet and support in this script is not tested yet).
* Print the name of memory along with size (#720)Derek Schuff2016-09-28151-234/+235
| | | | | Otherwise when we export it as "$0" it's an undefined name. The spec interpreter actually rejects this, although I think it's intended to work, given the tests in export.wast. wabt also accepts it.
* fix signed int64 LEB bug with large negative values (#719)Alon Zakai2016-09-284-7/+55
|
* s2wasm: Do not add drops for void values (#718)Derek Schuff2016-09-2833-3969/+3077
| | | Fixes #708
* Type check block/loop/if sigs (#717)Alon Zakai2016-09-2846-1368/+1223
| | | | | | * type check using block/loop/if types provided in text and binary formats. * print if and loop sigs which were missing. * remove dsl from OptimizeInstructions as after those changes it needs rethinking.
* Update binary encoding for block, loop, and if signatures (#711)Derek Schuff2016-09-2710-38/+82
| | | | | | Also updates the tests and has a few other changes for binary 0xc: Update nop/unrechable opcodes Fix for "name" section
* Make wasm-as emit the names section/debug info only with -g (#705)Alon Zakai2016-09-269-18/+1239
|
* precompute breaks and returns (#715)Alon Zakai2016-09-256-17/+300
|
* Merge pull request #714 from WebAssembly/precompute-voidAlon Zakai2016-09-2414-266/+138
|\ | | | | Precompute void expressions, which helps ifs
| * optimize if(const)Alon Zakai2016-09-2412-167/+96
| |
| * precompute void expressions tooAlon Zakai2016-09-2411-108/+51
|/
* add a pass fuzzer script (#709)Alon Zakai2016-09-231-0/+146
|
* Merge pull request #710 from WebAssembly/autodrop-fixAlon Zakai2016-09-2315-114/+390
|\ | | | | Autodrop fixes
| * fix a simplify-locals bug where we didn't notice and if already had a result ↵Alon Zakai2016-09-233-3/+57
| | | | | | | | value
| * replace two drops in an if-else with one on the ifAlon Zakai2016-09-238-2/+107
| |
| * autoDrop fixAlon Zakai2016-09-239-109/+226
| |
* | Update binary encodings for call instructions and segments (#706)Derek Schuff2016-09-221-9/+10
|/ | | | | * Call instructions no longer encode the arity * Segments encode the linear memory index (0 for MVP)
* Update binary format toward 0xc (#704)Derek Schuff2016-09-222-103/+141
| | | | | | Updates section headers and formats for type, import, function, table, memory, and export sections, as well as "names" section, which is now a user section.
* Merge pull request #703 from WebAssembly/spec-updateAlon Zakai2016-09-21105-3678/+4206
|\ | | | | Spec update - get us passing the 0xc spec tests (minus stacky stuff)
| * fix use of endOfFunction in an uninitialized state in wasm-binaryAlon Zakai2016-09-211-1/+1
| |
| * wasm.js needs wasm-emscripten.cppAlon Zakai2016-09-212-10/+11
| |
| * update spec tests and check.py's handling of themAlon Zakai2016-09-212-8/+8
| |
| * update wasm.js and binaryen.jsAlon Zakai2016-09-212-299/+323
| |
| * error on putting spectest.print in a tableAlon Zakai2016-09-212-0/+15
| |
| * auto-generated import names must be unique by kindAlon Zakai2016-09-211-12/+19
| |
| * fix start section in binary formatAlon Zakai2016-09-211-2/+2
| |
| * new if label behaviorAlon Zakai2016-09-212-41/+29
| |
| * loop block signaturesAlon Zakai2016-09-211-2/+6
| |
| * refactor wasm.h to remove numericIndex hacks, and move indexing to the parsersAlon Zakai2016-09-2114-81/+88
| |
| * function numbering fix in wasm-s-parserAlon Zakai2016-09-201-3/+8
| |