diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2022-01-04 11:34:45 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-04 19:34:45 +0000 |
commit | 28665b1d8f0632216ceb2de475560c64dc260b9d (patch) | |
tree | 805f8ab3efb22a2001180483aaa30f8efc6b6c6a /src/wasm/wasm-validator.cpp | |
parent | 1980e5570bce241945360abe8105101019f64bc6 (diff) | |
download | binaryen-28665b1d8f0632216ceb2de475560c64dc260b9d.tar.gz binaryen-28665b1d8f0632216ceb2de475560c64dc260b9d.tar.bz2 binaryen-28665b1d8f0632216ceb2de475560c64dc260b9d.zip |
Factor out a utility for replacing types during canonicalization (#4416)
Equirecursive canonicalization generates new minimal type definitions for each
distinct type, but then it must replace the old, non-minimial definitions with
the new ones. That second part where the types are replaced is not unique to
equirecursive canonicalization; the same replacement happens with BasicKind
types and in the future the hybrid isorecursive system will also need to do that
kind of replacement. To improve code reuse and separation of concerns, factor
the type replacement logic out into a separate utility.
This change slightly slows down shape canonicalization, but shape
canonicalization is still much faster than global canonicalization. Nominal
typing performance is not affected.
Diffstat (limited to 'src/wasm/wasm-validator.cpp')
0 files changed, 0 insertions, 0 deletions