Bug 981296 - Do not make assertions on the initial shape table before it is created; r=sfink
authorTerrence Cole <terrence@mozilla.com>
Mon, 10 Mar 2014 15:19:52 -0700
changeset 190085 ef99254c03d2b54acfede0f11c96d961ef7876c7
parent 190084 753b8af2f2c05e24ea32a609b57404b9373fc689
child 190086 4801ac2836140103413e15d5f19a1050d4a6ae24
push id3503
push userraliiev@mozilla.com
push dateMon, 28 Apr 2014 18:51:11 +0000
treeherdermozilla-beta@c95ac01e332e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerssfink
bugs981296
milestone30.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 981296 - Do not make assertions on the initial shape table before it is created; r=sfink
js/src/vm/Shape.cpp
--- a/js/src/vm/Shape.cpp
+++ b/js/src/vm/Shape.cpp
@@ -1654,16 +1654,19 @@ class InitialShapeSetRef : public Buffer
                      *p);
     }
 };
 
 #ifdef JS_GC_ZEAL
 void
 JSCompartment::checkInitialShapesTableAfterMovingGC()
 {
+    if (!initialShapes.initialized())
+        return;
+
     /*
      * Assert that the postbarriers have worked and that nothing is left in
      * initialShapes that points into the nursery, and that the hash table
      * entries are discoverable.
      */
     JS::shadow::Runtime *rt = JS::shadow::Runtime::asShadowRuntime(runtimeFromMainThread());
     for (InitialShapeSet::Enum e(initialShapes); !e.empty(); e.popFront()) {
         InitialShapeEntry entry = e.front();