summaryrefslogtreecommitdiff
path: root/test/lit/wasm-split
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2021-05-18 16:33:25 -0700
committerGitHub <noreply@github.com>2021-05-18 23:33:25 +0000
commit8099dd859dc2732bea9b9f0c56440bb34a4d22c3 (patch)
treebb28ae34409c5b44be538653a741f7c5808eee7a /test/lit/wasm-split
parent9343cbc52def4c9f2400a215589d9d31f3c7c321 (diff)
downloadbinaryen-8099dd859dc2732bea9b9f0c56440bb34a4d22c3.tar.gz
binaryen-8099dd859dc2732bea9b9f0c56440bb34a4d22c3.tar.bz2
binaryen-8099dd859dc2732bea9b9f0c56440bb34a4d22c3.zip
Switch from Hopcroft's to Valmari and Lehtinen's DFA minimization (#3883)
Valmari and Lehtinen's algorithm is broadly similar to Hopcroft's algorithm, but it more precisely keeps track of which input transitions might be able to split a partition of states so it ends up doing much less work. Unlike our implementation of Hopcroft's algorithm, which naively used sets of HeapTypes, this new algorithm also uses optimized data structures that can split partitions in constant time and never reallocate. This change improves the shape canonicalization time for a real-world unoptimized type section from 40 minutes to 1.5 seconds.
Diffstat (limited to 'test/lit/wasm-split')
0 files changed, 0 insertions, 0 deletions