Commit 9bfbe799 authored by Milad Fa's avatar Milad Fa Committed by V8 LUCI CQ

S390: Fix floating point offset calculation

During `WasmDebugBreak` we push the full 128-bit vector register
instead of only the 64-bit FP value. As a result offset calculation
must use kSimd128Size instead of kDoubleSize.

Change-Id: Icaa44d9663024b9740acbbf054f6c334ae349cf8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3487958Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#79271}
parent 647b41ef
......@@ -61,7 +61,7 @@ class WasmDebugBreakFrameConstants : public TypedFrameConstants {
-TypedFrameConstants::kFixedFrameSizeFromFp -
kSystemPointerSize * kNumPushedGpRegisters;
static constexpr int kLastPushedFpRegisterOffset =
kLastPushedGpRegisterOffset - kDoubleSize * kNumPushedFpRegisters;
kLastPushedGpRegisterOffset - kSimd128Size * kNumPushedFpRegisters;
// Offsets are fp-relative.
static int GetPushedGpRegisterOffset(int reg_code) {
......@@ -75,7 +75,7 @@ class WasmDebugBreakFrameConstants : public TypedFrameConstants {
DCHECK_NE(0, kPushedFpRegs & (1 << reg_code));
uint32_t lower_regs = kPushedFpRegs & ((uint32_t{1} << reg_code) - 1);
return kLastPushedFpRegisterOffset +
base::bits::CountPopulation(lower_regs) * kDoubleSize;
base::bits::CountPopulation(lower_regs) * kSimd128Size;
}
};
......
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