Bug 793284 - Use non-freezing checks in TestCommonPropFunc() to avoid bogus invalidations. (r=djvj)
authorEric Faust <efaustbmo@gmail.com>
Wed, 26 Sep 2012 19:02:56 -0400
changeset 108213 19da37cf65ae77ac5254276d83030dfdd091ebee
parent 108212 298ef4e7484938f1dd628c6c231c9ec178f0facb
child 108214 4d33341a7ec39e99734a5e111132363f9c2fa69b
push id23545
push useremorley@mozilla.com
push dateThu, 27 Sep 2012 10:56:50 +0000
treeherdermozilla-central@aacf4867f830 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdjvj
bugs793284
milestone18.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 793284 - Use non-freezing checks in TestCommonPropFunc() to avoid bogus invalidations. (r=djvj)
js/src/ion/IonBuilder.cpp
--- a/js/src/ion/IonBuilder.cpp
+++ b/js/src/ion/IonBuilder.cpp
@@ -5384,17 +5384,17 @@ IonBuilder::TestCommonPropFunc(JSContext
                 return true;
 
             // If the type has an own property, we can't be sure we don't shadow
             // the chain.
             jsid typeId = types::MakeTypeId(cx, id);
             types::HeapTypeSet *propSet = typeObj->getProperty(cx, typeId, false);
             if (!propSet)
                 return false;
-            if (propSet->isOwnProperty(cx, typeObj, false))
+            if (propSet->ownProperty(false))
                 return true;
 
             // Check the DOM status of the instance type
             thinkDOM = thinkDOM && !typeObj->hasAnyFlags(types::OBJECT_FLAG_NON_DOM);
 
             // Otherwise try using the prototype.
             curObj = typeObj->proto;
         } else {
@@ -5472,17 +5472,17 @@ IonBuilder::TestCommonPropFunc(JSContext
 
             // Even though we are not directly accessing the properties on the whole
             // prototype chain, we need to fault in the sets anyway, as we need
             // to freeze on them.
             jsid typeId = types::MakeTypeId(cx, id);
             types::HeapTypeSet *propSet = typeObj->getProperty(cx, typeId, false);
             if (!propSet)
                 return false;
-            if (propSet->isOwnProperty(cx, typeObj, false))
+            if (propSet->ownProperty(false))
                 return true;
 
             curObj = curObj->getProto();
         }
     }
 
     // No need to add a freeze if we didn't find anything
     if (!found)