Commit e8fe219a authored by Manos Koukoutos's avatar Manos Koukoutos Committed by V8 LUCI CQ

[wasm][liftoff] Fix storing of tagged pointer in tracing

Change-Id: Ibc3b7d73ce92f3d0f848e94b1266c99a78279392
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3259661
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77761}
parent 9f64eb09
......@@ -2246,8 +2246,12 @@ class LiftoffCompiler {
ValueKind return_kind = decoder->sig_->GetReturn(0).kind();
LiftoffRegister return_reg =
__ LoadToRegister(__ cache_state()->stack_state.back(), pinned);
__ Store(info.gp(), no_reg, 0, return_reg,
StoreType::ForValueKind(return_kind), pinned);
if (is_reference(return_kind)) {
__ StoreTaggedPointer(info.gp(), no_reg, 0, return_reg, pinned);
} else {
__ Store(info.gp(), no_reg, 0, return_reg,
StoreType::ForValueKind(return_kind), pinned);
}
}
// Put the parameter in its place.
WasmTraceExitDescriptor descriptor;
......
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