{"slug": "spidermonkey", "name": "SpiderMonkey", "category": "other", "category_name": "Other software", "description": "", "recommenders": 4, "commenters": 5, "warners": 0, "score": 3.792, "rising": 0.02, "first": "2025-11-11", "latest": "2026-09-22", "why": "SpiderMonkey, which uses these beautiful, long expository comments", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 1, "compare": 0, "warn": 0}, "spark": [1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "SpiderMonkey, which uses these beautiful, long expository comments", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/servo/mozjs", "official_url": "https://spidermonkey.dev", "pricing": "", "aliases": ["SpiderMonkey"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 796926368, "item_id": 49807898, "url": "https://news.ycombinator.com/item?id=49807898", "by": "fifferfaffer", "date": "2026-09-22", "stance": "recommend", "quote": "SpiderMonkey, which uses these beautiful, long expository comments", "excerpt": "My favourite projects typically have documentation in comments. One example is SpiderMonkey, which uses these beautiful, long expository comments explaining not only what, but why design choices have been made. https://searchfox.org/firefox-main/source/js/public/RootingAPI.h#33 If the goal is \"locality\", you can't get much closer than as a comment. As far as markdown becoming \"source code for agents\" under the agenti", "context": "", "use_case": "JavaScript engine", "switched_from": "", "story": "Markdown in /src"}, {"id": 765612804, "item_id": 47850800, "url": "https://news.ycombinator.com/item?id=47850800", "by": "dogtimeimmortal", "date": "2026-04-21", "stance": "recommend", "quote": "it appears they are keeping up to date with security features", "excerpt": "> there is a concrete danger to asymmetric cryptography I guess there is genuine cause for concern and a reason why i keep seeing these error pages telling me to update my browser. note, firefox 78(esr) still gets a 32/32 in security on https://html5test.co/ basilisk 2025: 26/32(-6 experimental features) pale moon 33.5: 26/32(-6 exp. feat.) seamonkey 2.53.23: 24/32(-6 exp. -2 prop.) I don't know why i experience so m", "context": "", "use_case": "", "switched_from": "", "story": "Quantum Computers Are Not a Threat to 128-Bit Symmetric Keys"}, {"id": 762512753, "item_id": 47657047, "url": "https://news.ycombinator.com/item?id=47657047", "by": "anematode", "date": "2026-04-05", "stance": "recommend", "quote": "SpiderMonkey did the best with almost no regression", "excerpt": "Nice post :) Last year I was working on a tail-call interpreter (https://github.com/anematode/b-jvm/blob/main/vm/interpreter2.c) and found a similar regression on WASM when transforming it from a switch-dispatch loop to tail calls. SpiderMonkey did the best with almost no regression, while V8 and JSC totally crapped out \u2013 same finding as the blog post. Because I was targeting both native and WASM I wrote a convoluted", "context": "", "use_case": "", "switched_from": "", "story": "A tail-call interpreter in (nightly) Rust"}, {"id": 734354849, "item_id": 45897178, "url": "https://news.ycombinator.com/item?id=45897178", "by": "robocat", "date": "2025-11-11", "stance": "recommend", "quote": "Servo and SpiderMonkey", "excerpt": "Servo and SpiderMonkey: https://github.com/servo/mozjs", "context": "", "use_case": "", "switched_from": "", "story": "XSLT RIP"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["javascript engine", "javascript engine for 0 a.d."], "compared": [{"slug": "v8", "name": "V8", "co": 5, "switched_from": 0, "switched_to": 0}, {"slug": "boa", "name": "Boa", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "quickjs", "name": "QuickJS", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 771338752, "item_id": 48208672, "url": "https://news.ycombinator.com/item?id=48208672", "by": "bvisness", "date": "2026-05-20", "stance": "neutral", "quote": "In SpiderMonkey, asm.js code has been compiled by exactly the same pipeline as wasm", "excerpt": "In SpiderMonkey, asm.js code has been compiled by exactly the same pipeline as wasm since at least 2019. In fact, the way we compile it is literally to construct a pseudo-wasm module and run it through our wasm compiler (with a few flags to tweak the behavior to fit the asm.js semantics). In other words, if you're running asm.js in Firefox, you're literally just running wasm anyway, so how could it possibly be faster", "context": "", "use_case": "", "switched_from": "", "story": "Saying Goodbye to Asm.js"}, {"id": 768901120, "item_id": 48056320, "url": "https://news.ycombinator.com/item?id=48056320", "by": "IainIreland", "date": "2026-05-07", "stance": "neutral", "quote": "I work on SpiderMonkey", "excerpt": "I work on SpiderMonkey, so I mostly looked at the JS bugs. It was a smorgasbord of various things. Broadly speaking I'd say the most impressive bugs were TOCTOU issues, where we checked something and later acted on it, and the testcase found a clever way to invalidate the result of the check in between. If you look closely at, say, this patch, you might get a sense of what I mean (although the real cleverness is in t", "context": "", "use_case": "", "switched_from": "", "story": "Mozilla says 271 vulnerabilities found by Mythos and \"almost no false positives\""}], "threads": [{"url": "https://news.ycombinator.com/item?id=49794478", "title": "Markdown in /src", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48206340", "title": "Saying Goodbye to Asm.js", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48053816", "title": "Mozilla says 271 vulnerabilities found by Mythos and \"almost no false positives\"", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47836784", "title": "Quantum Computers Are Not a Threat to 128-Bit Symmetric Keys", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47650312", "title": "A tail-call interpreter in (nightly) Rust", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47078112", "title": "0 A.D. Release 28: Boiorix", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {}, "2026-01": {}, "2026-02": {"neutral": 1}, "2026-03": {}, "2026-04": {"recommend": 2}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {"recommend": 1}, "2026-10": {}}, "quotes": [{"id": 796926368, "item_id": 49807898, "url": "https://news.ycombinator.com/item?id=49807898", "by": "fifferfaffer", "date": "2026-09-22", "stance": "recommend", "quote": "SpiderMonkey, which uses these beautiful, long expository comments", "excerpt": "My favourite projects typically have documentation in comments. One example is SpiderMonkey, which uses these beautiful, long expository comments explaining not only what, but why design choices have been made. https://searchfox.org/firefox-main/source/js/public/RootingAPI.h#33 If the goal is \"locality\", you can't get much closer than as a comment. As far as markdown becoming \"source code for agents\" under the agenti", "context": "", "use_case": "JavaScript engine", "switched_from": "", "story": "Markdown in /src"}, {"id": 765612804, "item_id": 47850800, "url": "https://news.ycombinator.com/item?id=47850800", "by": "dogtimeimmortal", "date": "2026-04-21", "stance": "recommend", "quote": "it appears they are keeping up to date with security features", "excerpt": "> there is a concrete danger to asymmetric cryptography I guess there is genuine cause for concern and a reason why i keep seeing these error pages telling me to update my browser. note, firefox 78(esr) still gets a 32/32 in security on https://html5test.co/ basilisk 2025: 26/32(-6 experimental features) pale moon 33.5: 26/32(-6 exp. feat.) seamonkey 2.53.23: 24/32(-6 exp. -2 prop.) I don't know why i experience so m", "context": "", "use_case": "", "switched_from": "", "story": "Quantum Computers Are Not a Threat to 128-Bit Symmetric Keys"}, {"id": 762512753, "item_id": 47657047, "url": "https://news.ycombinator.com/item?id=47657047", "by": "anematode", "date": "2026-04-05", "stance": "recommend", "quote": "SpiderMonkey did the best with almost no regression", "excerpt": "Nice post :) Last year I was working on a tail-call interpreter (https://github.com/anematode/b-jvm/blob/main/vm/interpreter2.c) and found a similar regression on WASM when transforming it from a switch-dispatch loop to tail calls. SpiderMonkey did the best with almost no regression, while V8 and JSC totally crapped out \u2013 same finding as the blog post. Because I was targeting both native and WASM I wrote a convoluted", "context": "", "use_case": "", "switched_from": "", "story": "A tail-call interpreter in (nightly) Rust"}, {"id": 754022433, "item_id": 47126402, "url": "https://news.ycombinator.com/item?id=47126402", "by": "Dunedan", "date": "2026-02-23", "stance": "neutral", "quote": "This issue should be solved by now, by Arch Linux switching back to vendored Spidermonkey.", "excerpt": "It crashed for you? You must be running Arch Linux. ;-) Arch Linux used system-provided SpiderMonkey which lacked a crucial bug fix. This issue should be solved by now, by Arch Linux switching back to vendored Spidermonkey. Check out https://gitlab.archlinux.org/archlinux/packaging/packages/0ad/-/issues/6 and https://gitea.wildfiregames.com/0ad/0ad/issues/8757 for details.", "context": "", "use_case": "JavaScript engine for 0 A.D.", "switched_from": "", "story": "0 A.D. Release 28: Boiorix"}, {"id": 734354849, "item_id": 45897178, "url": "https://news.ycombinator.com/item?id=45897178", "by": "robocat", "date": "2025-11-11", "stance": "recommend", "quote": "Servo and SpiderMonkey", "excerpt": "Servo and SpiderMonkey: https://github.com/servo/mozjs", "context": "", "use_case": "", "switched_from": "", "story": "XSLT RIP"}]}