For posterity's sake - the reason the library name was changed is
because Debian and Redhat refused to ship a libmozjs.so that wasn't ABI-
compatible with the libmozjs.so that they were already shipping, which
was based on 1.6.0 and then 1.7.0.   It was not possible to achieve this
goal and ship libmozjs.so for 1.8.0 -- although we tried -- and it was
even more impossible in 1.8.5 as the Tracemonkey JIT had been introduced
some time around 1.8.2, and 1.8.5 changed the internal representation of
jsvals from LISP-style tagged pointers (usually 32-bit but aligned on
64-bit word boundaries) to 64-bit tagged NANs. 1.8.5 was an important
release, being approximately the same engine that shipped with Firefox
4.0, and it also was the first ES5 release. So the introduction of a new
library name was the only solution that would let us ship something with
the OS vendors that was newer than 1.7.0.

You can also see from my comments that language features and ABI were
very closely intertwined back then, and being able to change ABI remains
very important to the team today. Spidermonkey can't carry any baggage
that impacts the browser performance, and maintaining an ABI-compatible
fork is out of scope.

I think the current solution that keeps ABI stable based on the library
name matching the ESR version of the corresponding Firefox is good
enough, and we are using it in the products that we are shipping without
issue.  These comments are more than a decade late, but if anybody is
thinking about changing this, I figured I'd give them something to read
and think about.

-- 
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to gnome-python-extras in Ubuntu.
https://bugs.launchpad.net/bugs/740815

Title:
  [FFe] Updates to enable us to drop xulrunner from main

To manage notifications about this bug go to:
https://bugs.launchpad.net/firefox/+bug/740815/+subscriptions


-- 
desktop-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to