servo/servo — pull request #3527 by jdm (2014-09-30 01:40:00+00:00)
Title: Upgrade SpiderMonkey

Requires servo/mozjs#18 and servo/rust-mozjs#106.

For the benefit of reviewers:
* `Root` is Servo's `Rooted`, and is structurally equivalent so it can be stored in SM's root stacks
* `Temporary` encapsulates identical behaviour to `PersistentRooted` (which is duplicated in `PersistentRootedObjectElement`, structurally equivalent to `PersistentRooted`)
* `JS` acts as `Heap`
* `MutNullableJS` is a `Heap` that implements write barriers

Also take a look at https://github.com/servo/rust-mozjs/pull/106, which does some lower-level integration with SpiderMonkey.