Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 708467 of SpiderMonkey

  • Revision slug: Mozilla/Projects/SpiderMonkey
  • Revision title: SpiderMonkey
  • Revision id: 708467
  • Created:
  • Creator: fscholz
  • Is current revision? No
  • Comment
Tags: 

Revision Content

{{SpiderMonkeySidebar}}

SpiderMonkey is Mozilla's JavaScript engine written in C/C++. It is used in various Mozilla products, including Firefox, and is available under the MPL2.

SpiderMonkey 31 is the most recent standalone source code release. It is largely the same engine that shipped with Firefox 31. Full source code is available here: https://people.mozilla.org/~sstangl/mozjs-31.2.0.rc0.tar.bz2

The next release will be SpiderMonkey 38, around May 2015.

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.
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 {{ geckoRelease("8.0") }}.
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

Releases

SpiderMonkey release notes
Current and past versions: 38, 31, 24, 17
 

{{CommunityBox("SpiderMonkey", "dev-tech-js-engine", "mozilla.dev.tech.js-engine", "jsapi", "Stack Overflow|https://stackoverflow.com/questions/tagged/spidermonkey|SpiderMonkey topics|Visit Stack Overflow, a collaboratively built and maintained Q&A site. See if you can find an answer; if not, you can ask your question there.||Bugs?|https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=JavaScript%20Engine|Report them!")}}

Revision Source

<div>
 {{SpiderMonkeySidebar}}</div>
<div class="summary">
 <p><strong>SpiderMonkey</strong> is Mozilla's <a href="/en-US/docs/JavaScript" title="en-US/docs/JavaScript">JavaScript</a> engine written in C/C++. It is used in various Mozilla products, including Firefox, and is available under the MPL2.</p>
</div>
<p><a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/31" title="/en-US/docs/SpiderMonkey/24">SpiderMonkey 31</a> is the most recent standalone source code release. It is largely the same engine that shipped with Firefox 31. Full source code is available here:&nbsp;<a href="https://people.mozilla.org/~sstangl/mozjs-31.2.0.rc0.tar.bz2">https://people.mozilla.org/~sstangl/mozjs-31.2.0.rc0.tar.bz2</a></p>
<p>The next release will be SpiderMonkey 38, around May 2015.</p>
<div class="column-container">
 <div class="column-half">
  <h2 id="Creating" name="Creating">Guides</h2>
  <h3 id="Building">Building</h3>
  <dl>
   <dt>
    <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/Build_Documentation" title="SpiderMonkey build documentation">SpiderMonkey Build Documentation</a></dt>
   <dd>
    How to get SpiderMonkey source code, build it, and run the test suite.</dd>
  </dl>
  <h3 id="Using_SpiderMonkey">Using SpiderMonkey</h3>
  <dl>
   <dt>
    <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_shell" title="Introduction to the JavaScript shell">Introduction to the JavaScript shell</a></dt>
   <dd>
    Documentation of the command-line JavaScript shell, <code>js</code>.</dd>
   <dt>
    <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/JSAPI_User_Guide" title="en-US/docs/JSAPI_User_Guide">JSAPI User Guide</a></dt>
   <dd>
    This guide provides an overview of SpiderMonkey and describes how you can embed engine calls in your applications to make them JavaScript-aware.</dd>
   <dt>
    <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/JSAPI_Cookbook" title="en-US/docs/SpiderMonkey/JSAPI_Phrasebook">JSAPI cookbook</a></dt>
   <dd>
    Shows the JSAPI translation of some commonly used JavaScript expressions and statements.</dd>
   <dt>
    <a href="/en-US/docs/SpiderMonkey/GC_Rooting_Guide">GC Rooting Guide</a></dt>
   <dd>
    Guide on how to write code compatible with the Generational GC in SpiderMonkey.</dd>
   <dt>
    <a href="/en-US/docs/How_to_embed_the_JavaScript_engine" title="en-US/docs/How_to_embed_the_JavaScript_engine">How to embed the JavaScript engine</a></dt>
   <dd>
    An older tutorial about embedding SpiderMonkey.</dd>
  </dl>
  <h2 id="Hacking_on_SpiderMonkey">Hacking on SpiderMonkey</h2>
  <dl>
   <dt>
    <a class="link-https" href="https://wiki.mozilla.org/JavaScript:New_to_SpiderMonkey" title="https://wiki.mozilla.org/JavaScript:New_to_SpiderMonkey">New to SpiderMonkey</a></dt>
   <dd>
    A guide to hacking on SpiderMonkey.</dd>
   <dt>
    <a href="/en-US/docs/SpiderMonkey/Setting_up_CDT_to_work_on_SpiderMonkey" title="en-US/docs/SpiderMonkey/Setting up CDT to work on SpiderMonkey">Setting up CDT to work on SpiderMonkey</a></dt>
   <dd>
    How to configure Eclipse to work on the SpiderMonkey code.</dd>
  </dl>
  <dl>
   <dt>
    <a href="/en-US/docs/SpiderMonkey/Running_Automated_JavaScript_Tests" title="Running automated JavaScript tests">Running Automated JavaScript Tests</a></dt>
   <dd>
    How to run the JavaScript test suites.</dd>
   <dt>
    <a href="/en-US/docs/SpiderMonkey/Creating_JavaScript_tests" title="en-US/docs/SpiderMonkey/Creating JavaScript tests">Creating JavaScript tests</a></dt>
   <dd>
    How to add tests to the JavaScript test suites.</dd>
  </dl>
 </div>
 <div class="column-half">
  <h2 id="Reference">Reference</h2>
  <dl>
   <dt>
    <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/JSAPI_reference" title="en-US/docs/SpiderMonkey/JSAPI_Reference">JSAPI Reference</a></dt>
   <dd>
    SpiderMonkey API reference.</dd>
   <dt>
    <a href="/en-US/docs/SpiderMonkey/JS_Debugger_API_Reference" title="en-US/docs/SpiderMonkey/JS Debugger API Reference">JS Debugger API Reference</a></dt>
   <dd>
    API reference for the <code>Debugger</code> object introduced in SpiderMonkey 1.8.6, which corresponds to Gecko 8.0 {{ geckoRelease("8.0") }}.</dd>
   <dt>
    <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/Internals/Bytecode">Bytecode descriptions</a></dt>
   <dd>
    Listing of SpiderMonkey's bytecodes.</dd>
   <dt>
    <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/Parser_API">Parser API</a></dt>
   <dd>
    Reflection of the SpiderMonkey parser, made available as a JavaScript API.</dd>
  </dl>
  <h2 id="Tips.2C_tricks_and_philosophy">Tips, tricks and philosophy</h2>
  <dl>
   <dt>
    <a href="/en-US/docs/SpiderMonkey/Future_directions" title="en-US/docs/SpiderMonkey/Future_directions">Future Directions</a></dt>
   <dd>
    Future directions for functionality, design, and coding practices.</dd>
   <dt>
    <a href="/en-US/docs/SpiderMonkey/Internals" title="en-US/docs/SpiderMonkey_Internals">SpiderMonkey Internals</a></dt>
   <dd>
    A design overview and a file-by-file walkthrough of the implementation.</dd>
   <dt>
    <a href="/en-US/docs/SpiderMonkey/Bytecodes" title="en-US/docs/SpiderMonkey/Bytecodes">Bytecode Reference</a></dt>
   <dd>
    SpiderMonkey bytecode reference.</dd>
   <dt>
    <a href="/en-US/docs/SpiderMonkey/Internals/Garbage_collection" title="en-US/docs/SpiderMonkey/Internals/GC">SpiderMonkey Internals: GC</a></dt>
   <dd>
    Separate internals article on the GC</dd>
   <dt>
    <a href="/en-US/docs/SpiderMonkey/Hacking_Tips" title="en-US/docs/SpiderMonkey/Hacking_Tips">SpiderMonkey Internals: Hacking Tips </a></dt>
   <dd>
    Collection of helpful tips &amp; tools for hacking on the engine</dd>
  </dl>
  <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Related Topics</h2>
  <ul>
   <li><a href="/en-US/docs/JavaScript" title="en-US/docs/JavaScript">JavaScript</a></li>
   <li><a href="/en-US/docs/SpiderMonkey/FOSS" title="en-US/docs/SpiderMonkey/FOSS">FOSS projects using or based on SpiderMonkey</a></li>
  </ul>
  <h2 id="Releases">Releases</h2>
  <dl>
   <dt>
    <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases">SpiderMonkey release notes</a></dt>
   <dd>
    Current and past versions: <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/38">38</a>, <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/31">31</a>, <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/24">24</a>, <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/17">17</a></dd>
  </dl>
  <dl>
   <dt>
    &nbsp;</dt>
  </dl>
 </div>
</div>
<p>{{CommunityBox("SpiderMonkey", "dev-tech-js-engine", "mozilla.dev.tech.js-engine", "jsapi", "Stack Overflow|https://stackoverflow.com/questions/tagged/spidermonkey|SpiderMonkey topics|Visit Stack Overflow, a collaboratively built and maintained Q&amp;A site. See if you can find an answer; if not, you can ask your question there.||Bugs?|https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&amp;component=JavaScript%20Engine|Report them!")}}</p>
Revert to this revision