SpiderMonkey is Mozilla's JavaScript engine written in C and C++. It is used in various Mozilla products, including Firefox, and is available under the MPL2.
Standalone source code releases can be found on the Releases page.
Guides
Building
- SpiderMonkey Build Documentation
- How to get SpiderMonkey source code, build it, and run the test suite.
Using SpiderMonkey
- Introduction to the JavaScript shell
- Documentation of the command-line JavaScript shell,
js
. - JSAPI User Guide
- This guide provides an overview of SpiderMonkey and describes how you can embed engine calls in your applications to make them JavaScript-aware.
- JSAPI cookbook
- Shows the JSAPI translation of some commonly used JavaScript expressions and statements.
- GC Rooting Guide
- Guide on how to write code compatible with the Generational GC in SpiderMonkey.
- How to embed the JavaScript engine
- An older tutorial about embedding SpiderMonkey.
Hacking on SpiderMonkey
- New to SpiderMonkey
- A guide to hacking on SpiderMonkey.
- Setting up CDT to work on SpiderMonkey
- How to configure Eclipse to work on the SpiderMonkey code.
- Contributing to SpiderMonkey
- A slidecast that is less than four minutes long.
- Running Automated JavaScript Tests
- How to run the JavaScript test suites.
- Creating JavaScript tests
- How to add tests to the JavaScript test suites.
Reference
- JSAPI Reference
- SpiderMonkey API reference.
- JS Debugger API Reference
- API reference for the
Debugger
object introduced in SpiderMonkey 1.8.6, which corresponds to Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5). - Bytecode descriptions
- Listing of SpiderMonkey's bytecodes.
- Parser API
- Reflection of the SpiderMonkey parser, made available as a JavaScript API.
Tips, tricks and philosophy
- Future Directions
- Future directions for functionality, design, and coding practices.
- SpiderMonkey Internals
- A design overview and a file-by-file walkthrough of the implementation.
- Bytecode Reference
- SpiderMonkey bytecode reference.
- SpiderMonkey Internals: GC
- Separate internals article on the GC
- SpiderMonkey Internals: Hacking Tips
- Collection of helpful tips & tools for hacking on the engine
Related Topics
Releases
Join the SpiderMonkey community
Choose your preferred method for joining the discussion:
- IRC: #jsapi (learn more)
- Stack Overflow: SpiderMonkey topics
- Bugs?: Report them!
Document Tags and Contributors
Tags:
Contributors to this page:
kaartic,
sphink,
tschneidereit,
evilpie,
fscholz,
xfq,
LeetJoe,
YaroTek,
ziyunfei,
Nickolay,
sstangl,
docbrown,
Sheppy,
Dmandelin,
terrence,
ethertank,
berkerpeksag,
Jorend,
Waldo,
cdleary,
BLU3Y3Z29,
Wesgarland,
pbiggar,
MrN,
Swaroopch,
Mgjbot,
MMondor,
Federico,
Ptak82,
Dria,
Andreas Wuest,
Chbok,
Pmsyyz,
Evan Prodromou
Last updated by:
kaartic,