Commit 1e3d4186 authored by Manos Koukoutos's avatar Manos Koukoutos Committed by Commit Bot

[wasm] Tail calls should not invalidate memory cache

In AnalyzeLoopAssignment, tail calls were marked as invalidating the
memory cache, which in turn caused its reloading in generated code.
This is not correct since return calls end the current control branch.

Change-Id: Id3b5e60a810915ace6d9b0b13160177251adaa5e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2578981Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71661}
parent 8d013ea1
......@@ -1263,10 +1263,7 @@ class WasmDecoder : public Decoder {
case kExprMemoryGrow:
case kExprCallFunction:
case kExprCallIndirect:
case kExprReturnCall:
case kExprReturnCallIndirect:
case kExprCallRef:
case kExprReturnCallRef:
// Add instance cache to the assigned set.
assigned->Add(locals_count);
break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment