Stream: git-wasmtime

Topic: wasmtime / PR #4038 Cranelift: remove slow invariant vali...


view this post on Zulip Wasmtime GitHub notifications bot (Apr 15 2022 at 07:08):

cfallin requested alexcrichton for a review on PR #4038.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 15 2022 at 07:08):

cfallin requested fitzgen for a review on PR #4038.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 15 2022 at 07:08):

cfallin opened PR #4038 from machbuffer-remove-slow-validation to main:

Following the merge of regalloc2 support, this became slower because we
are stricter about the critical-edge invariant, generating a separate
edge block for every out-edge even if two or more out-edges go to the
same successor (this is significant in cases of br_table with many
entries having the same target block, for example).

Many of those edge blocks are empty and end up collapsed by the
MachBuffer, which leads to a large set of aliased labels.

The invariant validation will dutifully iterate over all the data
structures at every step, validating all of our conditions. But this
gets way slower in the new context, to the point that we'll probably
have some fuzz timeouts.

This was pointed out in [1] but I missed removing this in #3989. Given
that MachBuffer has been around for nearly two years now, has been
fuzzed continuously with the invariant validation for that time, and
also has a correctness proof in the comments, it's probably reasonable
to remove this high (recently increased) cost from the fuzzing-specific
compilation configuration.

[1]
https://github.com/bytecodealliance/wasmtime/pull/3989#discussion_r847712263

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Apr 15 2022 at 14:03):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 15 2022 at 14:04):

alexcrichton merged PR #4038.


Last updated: Dec 23 2024 at 12:05 UTC