[wasm][liftoff] Fix reftype parameter handling
LiftoffCompiler::ProcessParameter assumed that by processing parameters in the order of their index, register parameters get processed first, and that for processing stack parameters it can already use all registers as temp registers. This is not true with reference type parameters, because registers always first get assigned to value type parameters even when there is a reference type parameter with a lower index. Because of this incorrect assumption register parameters were overwritten by reference type parameters on the stack that got processed first. With this CL, only those registers get used as temp registers for reference type parameters that are not used for parameters. CC=jkummerow@chromium.org, clemensb@chromium.org R=thibaudm@chromium.org Bug: v8:11596 Change-Id: I30ed7f073147df0bd81b9ef4d2b2a54d7badc937 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784560 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#73635}
Showing
Please
register
or
sign in
to comment