summaryrefslogtreecommitdiff
path: root/src/wasm-traversal.h
Commit message (Collapse)AuthorAgeFilesLines
...
* call_indirect now has the target at the endAlon Zakai2016-09-071-3/+3
|
* add drop and tee expressionsAlon Zakai2016-09-071-2/+11
|
* support wasm globals (#650)Alon Zakai2016-07-211-0/+21
|
* move function parallelism to pass and pass runner, which allows more ↵Alon Zakai2016-06-031-65/+2
| | | | efficient parallel execution (#564)
* add an option to run passes on individual functions, and to get default ↵Alon Zakai2016-06-021-2/+2
| | | | optimization passes suitable for that, or not. refactor visitFunction/Module for this.
* refactor walk logic into walk* and doWalk* methods, for a more regular API ↵Alon Zakai2016-05-301-3/+16
| | | | that is clearer where it should be overridden (#551)
* allow inheriting function-parallel classes, add a hook for creationAlon Zakai2016-05-171-3/+12
|
* make an instance per function in function-parallel passes, so passes don't ↵Alon Zakai2016-05-151-10/+12
| | | | need to clean up internal stuff
* allocate only expressions in arenas - functions, imports, exports, function ↵Alon Zakai2016-04-271-9/+9
| | | | types, can more simply be held by unique_ptrs on the owning module. this avoids need to coordinate arena allocation for their elements, and only the far more plentiful expression nodes are a perf factor anyhow
* comment on replaceCurrentAlon Zakai2016-04-241-1/+4
|
* provide the current expression to noteNonLinearAlon Zakai2016-04-241-2/+2
|
* save the module on Walker objects, so passes have an easy way to access the ↵Alon Zakai2016-04-191-0/+13
| | | | module (#366)
* create a UnifiedExpressionVisitor for passes that want a single visitor ↵Alon Zakai2016-04-181-31/+58
| | | | function, to avoid confusion with having both visit* and visitExpression in a single pass (#357)
* let traversals access the current function (#355)Alon Zakai2016-04-181-7/+22
|
* Function parallelism (#343)Alon Zakai2016-04-151-12/+55
| | | | * allow traversals to mark themselves as function-parallel, in which case we run them using a thread pool. also mark some thread-safety risks (interned strings, arena allocators) with assertions they modify only on the main thread
* allow overriding startWalk(Function*)Alon Zakai2016-04-111-1/+1
|
* remove unneeded virtual destructorAlon Zakai2016-04-111-1/+0
|
* De-recurse traversals (#333)Alon Zakai2016-04-111-328/+306
| | | | | | | | | | | | * refactor core walking to not recurse * add a simplify-locals test * reuse parent's non-branchey scan logic in SimpleExecutionWalker, reduce code duplication * update wasm.js * rename things following comments
* derecurse blocks helper, and use it in SimplifyLocalsAlon Zakai2016-04-071-0/+26
|
* traversal improvementsAlon Zakai2016-04-061-34/+55
|
* move some methods to WasmWalkerBaseAlon Zakai2016-04-061-27/+25
|
* refactor a WasmReplacerWalker classAlon Zakai2016-04-061-54/+51
|
* add FastExecutionWalkerAlon Zakai2016-04-061-1/+101
|
* remove obsolete commentAlon Zakai2016-04-061-1/+0
|
* refactor wasm traversal code into separate fileAlon Zakai2016-04-061-0/+321