summaryrefslogtreecommitdiff
path: root/test/get-set-local.2asm.js
Commit message (Collapse)AuthorAgeFilesLines
* Clean up wasm2asm testing (#1546)Alon Zakai2018-05-131-73/+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.
* Optimize equivalent locals (#1540)Alon Zakai2018-05-101-3/+2
| | | | | | | | | If locals are known to contain the same value, we can * Pick which local to use for a get_local of any of them. Makes sense to prefer the most common, to increase the chance of one dropping to zero uses. * Remove copies between a local and one that we know contains the same value. This is a consistent win, small though, around 0.1-0.2%.
* remap {get,set}_local indices (#1486)Nathan Froyd2018-03-231-0/+74
When lowering i64 values in a function, we create new local variables for all of the i64 local variables, one local for the low bits, and one for the high bits. We create a mapping between the old locals and the new as well. During translation, when we encountered a `get_local` that didn't have type `i64`, we skipped it, on the supposition that there was nothing to do. But that's not true; the local it was getting may have been remapped to a new index in the lowered function, and we need to account for that change. Similar logic holds for `set_local`.