Fix bug 643839. r=brendan, a=clegnitto
authorBrian Hackett <bhackett1024@gmail.com>
Fri, 22 Apr 2011 12:32:44 -0700
changeset 68435 d50f943c21e3546eb8e38f3024a78cdeed48304a
parent 68434 f7019527f4897e1cfa6ec269dfab90674ded312b
child 68436 7eb2de708edb8cbf00f22a0557755ab7433ac2d7
push id19639
push userbhackett@mozilla.com
push dateFri, 22 Apr 2011 19:33:34 +0000
treeherdermozilla-central@d50f943c21e3 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbrendan, clegnitto
bugs643839
milestone6.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
Fix bug 643839. r=brendan, a=clegnitto
js/src/jsscope.cpp
--- a/js/src/jsscope.cpp
+++ b/js/src/jsscope.cpp
@@ -961,20 +961,18 @@ JSObject::putProperty(JSContext *cx, jsi
      * Can't fail now, so free the previous incarnation's slot if the new shape
      * has no slot. But we do not need to free oldSlot (and must not, as trying
      * to will botch an assertion in JSObject::freeSlot) if the new lastProp
      * (shape here) has a slotSpan that does not cover it.
      */
     if (hadSlot && !shape->hasSlot()) {
         if (oldSlot < shape->slotSpan)
             freeSlot(cx, oldSlot);
-#ifdef DEBUG
         else
             getSlotRef(oldSlot).setUndefined();
-#endif
         JS_ATOMIC_INCREMENT(&cx->runtime->propertyRemovals);
     }
 
     CHECK_SHAPE_CONSISTENCY(this);
     METER(puts);
 
     const Shape *newShape = js_UpdateWatchpointsForShape(cx, this, shape);
     if (!newShape)