Open Bug 2010439 Opened 9 hours ago Updated 4 hours ago

[mips64] Failed to build on MIPS64 due to incorrect saved register listing in WasmPI

Categories

(Core :: JavaScript: WebAssembly, defect)

Other
Unspecified
defect

Tracking

()

Tracking Status
firefox-esr140 --- unaffected
firefox147 --- affected
firefox148 --- affected
firefox149 --- affected

People

(Reporter: csmantle, Unassigned)

References

(Regression)

Details

(Keywords: regression)

The current CallOnMainStack implementation for MIPS64 [^1] uses non-existent register aliases (i.e. a4 - a7) [^2]. This is currently causing disruptions [^3] on Loongson3, a MIPS64 variant.

Another minor problem in [^1] is the inconsistent usage of $ between GP registers and FP registers.

Setting regression fields based on blame information.

Keywords: regression
Regressed by: 2001289
Hardware: Unspecified → Other
Summary: [mips64] Failed to build due to incorrect register lists in WasmPI → [mips64] Failed to build on MIPS64 due to incorrect saved register listing in WasmPI

CallOnMainStack was removed in bug 2002625 (Fx148). Will that fix the issue?

Flags: needinfo?(webmaster)

Set release status flags based on info from the regressing bug 2001289

(In reply to Ryan Hunt [:rhunt] from comment #2)

CallOnMainStack was removed in bug 2002625 (Fx148). Will that fix the issue?

I'm sorry that I couldn't verify it; I don't have access to mips64 hardwares other than simulators now. I'm forwarding this to Xuan.

Flags: needinfo?(webmaster) → needinfo?(chenx97)

I suspect that I wrote the wrong clobber list in the first place, because the weird clobber list was an attempt to satisfy both clang and gcc. Clang doesn't support GPR names like $at, and doesn't support FPR names without $. If we don't want to change too much code for fx147, we can use numbered names, such as $8 to $15 for registers from a4 to t3.

I'll soon report whether fx148 is working or not.

Flags: needinfo?(chenx97)

I'll soon report whether fx148 is working or not.

wasm/jsapi/jspi tests pass on fx148.

You need to log in before you can comment on or make changes to this bug.