There are significant constraints that are being imposed on other parts of
the codebase to support this extra architecture branch. From the
perspective of a production spidermonkey build, it often lags behind in
feature support, correctness, and bugfixes. It imposes API requirements on
the masm, and requires work whenever there are cross-system patches (e.g.
changing the boxing format as in:
https://bugzilla.mozilla.org/show_bug.cgi?id=1401624).
With the current design, every additional CPU architecture imposes a cost
on all the other implementations (mostly due to API changes needed, and
convoluted expression of concepts shared across all of them). The ideal
way to move forward with MIPS would be to shift development towards a
general code-generator backend that can support multiple architectures.
To the longsoon stakeholders: would there be openness to considering
contributing a MIPS codegen implementation to CraneLift (
https://github.com/CraneStation/cranelift)? The team is interesting to
eventually transitioning to a single codegen backend. It's not on the
immediate roadmap due to priority, but we intend on moving in that
direction as opportunity allows. If we can find some common path on the
roadmap that allows us to reduce the independent maintenance burden of the
architecture, we can manage support for this architecture much better.
Regards.
Kannan