Closed Bug 1637328 Opened 2 months ago Closed 2 months ago

SetupABIArguments and StackCopy must handle v128 stack arguments

Categories

(Core :: Javascript: WebAssembly, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla78
Tracking Status
firefox78 --- fixed

People

(Reporter: lth, Assigned: lth)

References

Details

Attachments

(1 file)

The interp stubs for exports that pass v128 must handle the v128 ending up on the stack. My feeble tests for v128 did not hit this case (they only hit the register case and I neglected to make the obvious connection that the stack case would have to be handled too) but as I was noodling around with the x86 port I hit this pretty quick, and it will be needed for x64 too.

Blocks: 1637332
Summary: SetupABIArguments must handle v128 stack arguments → SetupABIArguments and StackCopy must handle v128 stack arguments

We can't MOZ_CRASH for the v128 cases of the stack copies in
SetupABIArguments and StackCopy. In the former case we can emit a
breakpoint instruction because the code should never be executed. In
the latter case we just copy the data.

Adds test cases that triggered the MOZ_CRASHes, and other test cases
that are related but left out of the test cases when SIMD for baseline
first landed.

Attachment #9147746 - Attachment description: Bug 1637328 - Make stack copies in stubs handle v128 data. → Bug 1637328 - Make stack copies in stubs handle v128 data. r?rhunt
Priority: P3 → P1
Type: task → defect
Attachment #9147746 - Attachment description: Bug 1637328 - Make stack copies in stubs handle v128 data. r?rhunt → Bug 1637328 - Make stack copies in stubs handle v128 data. r=rhunt
Pushed by lhansen@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9d54a4e4532c
Make stack copies in stubs handle v128 data.  r=rhunt
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
You need to log in before you can comment on or make changes to this bug.