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 108322 19da37cf65ae77ac5254276d83030dfdd091ebee
parent 108321 298ef4e7484938f1dd628c6c231c9ec178f0facb
child 108323 4d33341a7ec39e99734a5e111132363f9c2fa69b
push id82
push usershu@rfrn.org
push dateFri, 05 Oct 2012 13:20:22 +0000
reviewersdjvj
bugs793284
milestone18.0a1
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)