summaryrefslogtreecommitdiff
path: root/test/empty_table.2asm.js
Commit message (Collapse)AuthorAgeFilesLines
* Clean up wasm2asm testing (#1546)Alon Zakai2018-05-131-58/+0
| | | | | * Move wasm2asm test outputs into their natural location, test/wasm2asm/ * Let people create new tests in there that ./auto_update_tests.py will auto-generate outputs for, just like all the other tests.
* reorder locals in wasm2asm (#1482)Nathan Froyd2018-03-221-8/+6
| | | | | | | The documentation for the simplify-locals pass suggests running reorder-locals after it to clean up unnecessary locals. wasm2asm wasn't doing this, which meant that generated code had a number of unused variables. A good minimizer will probably clean that up, but let's go ahead and clean it up in wasm2asm itself.
* add the highbits global to the IR (#1483)Nathan Froyd2018-03-201-0/+1
| | | | | We were using the global to return 64-bit values from functions, but said global wasn't actually present in the IR. This omission caused the generated code to fail validation.
* create Math_{min,max} variables for wasm2asm-generated JS (#1476)Nathan Froyd2018-03-161-0/+2
| | | | | | | | | We were using Math_{min,max} in wasm2asm-generated files without declaring said functions. This decision created problems for tests, because Math_min (resp. max) would first be used on f32s, thus returning f32, and then validation would fail when it was used on f64s. The resulting changes make wasm2asm tests pass with MOZJS asm.js validation, which moves #1443 forward.
* eliminate multiple return statements for wasm2asm functions (#1448)Nathan Froyd2018-03-011-4/+2
| | | | This change eliminates one issue that prevents asm.js validation of the generated code, see #1443.
* Improve name mangling of asm.js identifiers (#1433)Daniel Wirtz2018-02-211-8/+8
| | | | | | Also refactors mangling to its own file so it can be reused by generators and consumers, i.e., where it is important to know that an import must be named 'switch_' where it otherwise would be 'switch'. * Update tests and JS dist files
* use simplify-locals in wasm2asm, so the output is not horribly verbose with ↵Alon Zakai2017-10-201-73/+13
| | | | los of extra inefficient variables. this is more similar to the output we had before the flatten rewrite (#1229)
* Flattening rewrite (#1201)Alon Zakai2017-10-031-11/+74
| | | | | | | | | | | | | | | | | | | | Rename flatten-control-flow to flatten, which now flattens everything, not just control flow, so e.g. (i32.add (call $x) (call $y) ) ==> (block (set_local $temp_x (call $x)) (set_local $temp_y (call $y)) (i32.add (get_local $x) (get_local $y) ) ) This uses more locals than before, but is much simpler and avoids a bunch of corner cases and fuzz bugs the old one hit. We can optimize later if necessary.
* i64 to i32 lowering for wasm2asm (#1134)Thomas Lively2017-09-011-9/+8
|
* wasm2asm i32 arithmetic support (#1120)Thomas Lively2017-08-071-0/+38
| | | * Rotations, popcnt, ctz, etc
* Get wasm2asm building again (#1107)Thomas Lively2017-08-021-0/+19
* Get wasm2asm building again Updates CMakeLists.txt to have wasm2asm built by default, updates wasm2asm.h to account for recent interface changes, and restores JSPrinter functionality. * Implement splice for array values * Clean up wasm2asm testing * Print semicolons after statements in blocks * Cleanups and semicolons for condition arms * Prettify semicolon emission