Closed
Bug 1724716
Opened 4 years ago
Closed 4 years ago
jsshell fails to start if Wasm SIMD is disabled
Categories
(Core :: JavaScript: WebAssembly, defect, P3)
Tracking
()
RESOLVED
FIXED
93 Branch
Tracking | Status | |
---|---|---|
firefox93 | --- | fixed |
People
(Reporter: yury, Assigned: yury)
Details
Attachments
(1 file)
There is
Assertion failure: framePushed() - framePushedInitial == PushRegsInMaskSizeInBytes(set), at ./mozilla-unified/js/src/jit/x86-shared/MacroAssembler-x86-shared.cpp:445
when ac_add_options --disable-wasm-simd
is used
Assignee | ||
Comment 1•4 years ago
|
||
Comment 3•4 years ago
|
||
The invariants around stack-dump layout are fragile and are documented
at jit/MacroAssembler.h:393 and after. Can you give some background here
about why the failure occurs and why the fix is correct? And does the fix
observe those documented invariants?
Assignee | ||
Comment 4•4 years ago
•
|
||
The problem is that in the PushRegsInMask the push size is calculated based on the reduced FPU set of registers. Though the assert is using PushRegsInMaskSizeInBytes, which calculates size based on non-reduced FPU set. The patch changes logic of PushRegsInMaskSizeInBytes to make asserts in PushRegsInMask and friends happy, and that is what required by invariant documented in MacroAssembler.h.
Comment 5•4 years ago
|
||
Thanks for the clarifications.
Pushed by ydelendik@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/417d86db010f
Reduce set in PushRegsInMaskSizeInBytes. r=jseward
Comment 7•4 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 4 years ago
status-firefox93:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 93 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•