Bug 1332333 - Remove uses of EffectlesslyLookupProperty. r=jandem
authorTed Campbell <tcampbell@mozilla.com>
Tue, 24 Jan 2017 18:07:14 -0500
changeset 331052 7493fe7b336d6a095046a3d3a536f7f19d36b541
parent 331051 f35fe2367a4d3a2d912e217ca5259fb595b3f145
child 331053 8bf2d6dea785389f334bb368483cdb2644470c83
push id86157
push userryanvm@gmail.com
push dateWed, 25 Jan 2017 23:15:14 +0000
treeherdermozilla-inbound@8bf2d6dea785 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjandem
bugs1332333
milestone54.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 1332333 - Remove uses of EffectlesslyLookupProperty. r=jandem
js/src/jit/BaselineIC.cpp
--- a/js/src/jit/BaselineIC.cpp
+++ b/js/src/jit/BaselineIC.cpp
@@ -2027,18 +2027,18 @@ TryAttachNativeInStub(JSContext* cx, Han
 
     RootedId id(cx);
     if (!IsOptimizableElementPropertyName(cx, key, &id))
         return true;
 
     RootedPropertyName name(cx, JSID_TO_ATOM(id)->asPropertyName());
     Rooted<PropertyResult> prop(cx);
     RootedObject holder(cx);
-    if (!EffectlesslyLookupProperty(cx, obj, id, &holder, &prop))
-        return false;
+    if (!LookupPropertyPure(cx, obj, id, holder.address(), prop.address()))
+        return true;
 
     if (prop.isNonNativeProperty()) {
         MOZ_ASSERT(!IsCacheableProtoChain(obj, holder, false));
         return true;
     }
 
     RootedShape shape(cx, prop.maybeShape());
     if (IsCacheableGetPropReadSlot(obj, holder, shape)) {
@@ -2556,18 +2556,18 @@ TryAttachSetValuePropStub(JSContext* cx,
 {
     MOZ_ASSERT(!*attached);
 
     if (obj->watched())
         return true;
 
     Rooted<PropertyResult> prop(cx);
     RootedObject holder(cx);
-    if (!EffectlesslyLookupProperty(cx, obj, id, &holder, &prop))
-        return false;
+    if (!LookupPropertyPure(cx, obj, id, holder.address(), prop.address()))
+        return true;
     if (obj != holder)
         return true;
 
     RootedShape shape(cx);
     if (obj->isNative()) {
         shape = prop.shape();
     } else {
         if (obj->is<UnboxedPlainObject>()) {