Create JS 1.8.5 source release
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
People
(Reporter: wes, Assigned: wes)
References
()
Details
Attachments
(3 files)
845 bytes,
patch
|
Details | Diff | Splinter Review | |
2.16 KB,
patch
|
Details | Diff | Splinter Review | |
1.46 KB,
patch
|
Details | Diff | Splinter Review |
Comment 1•15 years ago
|
||
Comment 2•15 years ago
|
||
Comment 3•15 years ago
|
||
Assignee | ||
Comment 4•15 years ago
|
||
Comment 5•15 years ago
|
||
Comment 6•15 years ago
|
||
Assignee | ||
Comment 7•15 years ago
|
||
Comment 8•15 years ago
|
||
Assignee | ||
Comment 9•15 years ago
|
||
Assignee | ||
Comment 10•15 years ago
|
||
Comment 11•15 years ago
|
||
Assignee | ||
Comment 12•15 years ago
|
||
Comment 13•15 years ago
|
||
Assignee | ||
Comment 14•15 years ago
|
||
Assignee | ||
Comment 15•15 years ago
|
||
Comment 16•15 years ago
|
||
Assignee | ||
Comment 17•15 years ago
|
||
Comment 18•15 years ago
|
||
Assignee | ||
Updated•15 years ago
|
Comment 19•15 years ago
|
||
Assignee | ||
Comment 20•15 years ago
|
||
Comment 21•15 years ago
|
||
Comment 22•15 years ago
|
||
Comment 23•15 years ago
|
||
Comment 24•15 years ago
|
||
Comment 25•15 years ago
|
||
Comment 26•15 years ago
|
||
Comment 27•15 years ago
|
||
Comment 28•15 years ago
|
||
Assignee | ||
Comment 29•15 years ago
|
||
Comment 30•15 years ago
|
||
Comment 31•15 years ago
|
||
Comment 32•15 years ago
|
||
Comment 33•15 years ago
|
||
Comment 34•15 years ago
|
||
Comment 35•15 years ago
|
||
Comment 36•15 years ago
|
||
Comment 37•15 years ago
|
||
Assignee | ||
Comment 38•15 years ago
|
||
Assignee | ||
Updated•15 years ago
|
Comment 39•15 years ago
|
||
Comment 40•14 years ago
|
||
Assignee | ||
Comment 41•14 years ago
|
||
Comment 42•14 years ago
|
||
Assignee | ||
Comment 43•14 years ago
|
||
Comment 44•14 years ago
|
||
Assignee | ||
Comment 45•14 years ago
|
||
Comment 46•14 years ago
|
||
Comment 47•14 years ago
|
||
Assignee | ||
Comment 48•14 years ago
|
||
Comment 49•14 years ago
|
||
Comment 50•14 years ago
|
||
Assignee | ||
Comment 51•21 days ago
|
||
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.
Description
•