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
