SIGN IN SIGN UP

wasm: fix `with` handling in call_indirect optimization (#3109)

Recursively planning all the rules we've found in the optimization
case will make this happen:

Assume we're optimizing the call for data.foo[x] where x is a "seen"
variable. If we have rules for data.foo[x] (for some `x`) that involve
`with` statements, that bumps the funcstack generation in the planner.
The any subsequent planned rule for data.foo[x] will keep using that
bumped 'gen'; and it will eventually cause the CallDynamicStmt's first
path element -- 'gen' -- to not match any of those functions.
(Descriptions are difficult, there's a test case :D)

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
S
Stephan Renatus committed
d7af056a7c62db48434bbc36d734bfa51fdeb630
Parent: 33703cf
Committed by GitHub <noreply@github.com> on 1/29/2021, 3:24:25 PM