diff options
author | Daniel Wirtz <dcode@dcode.io> | 2020-04-28 04:59:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-27 19:59:24 -0700 |
commit | d9ec300d178d68f0a1dca587fa6f8f66e74acfae (patch) | |
tree | 6dc92a54b4075c9c005540e089ebcde6c44baa19 /src/wasm-binary.h | |
parent | 1e6435ac012a20025ae499d498f2b8901e01c326 (diff) | |
download | binaryen-d9ec300d178d68f0a1dca587fa6f8f66e74acfae.tar.gz binaryen-d9ec300d178d68f0a1dca587fa6f8f66e74acfae.tar.bz2 binaryen-d9ec300d178d68f0a1dca587fa6f8f66e74acfae.zip |
Refactor ExpressionRunner (#2804)
Tackles the concerns raised in https://github.com/WebAssembly/binaryen/issues/2797 directly related to https://github.com/WebAssembly/binaryen/pull/2702 by reverting merging all of `PrecomputeExpressionRunner` into the base `ExpressionRunner`, instead adding a common base for both the precompute pass and the new C-API to inherit. No functional changes.
---
### Current hierarchy after https://github.com/WebAssembly/binaryen/pull/2702 is
```
ExpressionRunner
├ [PrecomputeExpressionRunner]
├ [CExpressionRunner]
├ ConstantExpressionRunner
└ RuntimeExpressionRunner
```
where `ExpressionRunner` contains functionality not utilized by `ConstantExpressionRunner` and `RuntimeExpressionRunner`.
### New hierarchy will be:
```
ExpressionRunner
├ ConstantExpressionRunner
│ ├ [PrecomputeExpressionRunner]
│ └ [CExpressionRunner]
├ InitializerExpressionRunner
└ RuntimeExpressionRunner
```
with the precompute pass's and the C-API's shared functionality now moved out of `ExpressionRunner` into a new `ConstantExpressionRunner`. Also renames the previous `ConstantExpressionRunner` to `InitializerExpressionRunner` to [better represent its uses](https://webassembly.org/docs/modules/#initializer-expression) and to make its previous name usable for the new intermediate template, where it fits perfectly. Also adds a few comments answering some of the questions that came up recently.
### Old hierarchy before https://github.com/WebAssembly/binaryen/pull/2702 for comparison:
```
ExpressionRunner
├ [PrecomputeExpressionRunner]
├ ConstantExpressionRunner
└ RuntimeExpressionRunner
```
Diffstat (limited to 'src/wasm-binary.h')
0 files changed, 0 insertions, 0 deletions