Backed out changeset 9e3d626c89d8 (bug 1155292) for SM(cgc) failures in the newly-added test.
authorRyan VanderMeulen <ryanvm@gmail.com>
Tue, 28 Apr 2015 13:30:58 -0400
changeset 241436 68d42a9bf66d4d1b654f7d35c9d988d7b5043ec5
parent 241435 89204e660b862325f88b340b4aed28aa6d9de868
child 241437 5ac3ca4b4222b410f61e26b8c165d0ae1cafa52b
push id59120
push userryanvm@gmail.com
push dateTue, 28 Apr 2015 17:31:31 +0000
treeherdermozilla-inbound@68d42a9bf66d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1155292
milestone40.0a1
backs out9e3d626c89d86752fa05ee5505620c0a0df5e96c
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
Backed out changeset 9e3d626c89d8 (bug 1155292) for SM(cgc) failures in the newly-added test.
js/src/jit-test/tests/ion/bug1155292.js
js/src/jit/IonCaches.cpp
deleted file mode 100644
--- a/js/src/jit-test/tests/ion/bug1155292.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// |jit-test| error: InternalError
-
-new Function(`
-var TO = TypedObject;
-var PointType = new TO.StructType({x: TO.int32, y: TO.int32 });
-function testPoint() {
-    var p = new PointType();
-    var sub = Object.create(p);
-    sub.x = 5;
-    anonymous('minEmptyChunkCount')   
-}
-testPoint();
-`)();
--- a/js/src/jit/IonCaches.cpp
+++ b/js/src/jit/IonCaches.cpp
@@ -3036,21 +3036,18 @@ CanAttachNativeSetProp(JSContext* cx, Ha
     // still pure lookup for setters.
     if (!LookupPropertyPure(cx, obj, id, holder.address(), shape.address()))
         return SetPropertyIC::CanAttachNone;
 
     // If the object doesn't have the property, we don't know if we can attach
     // a stub to add the property until we do the VM call to add. If the
     // property exists as a data property on the prototype, we should add
     // a new, shadowing property.
-    if (obj->isNative() && (!shape || (obj != holder && holder->isNative() &&
-                                       shape->hasDefaultSetter() && shape->hasSlot())))
-    {
+    if (obj->isNative() && (!shape || (obj != holder && shape->hasDefaultSetter() && shape->hasSlot())))
         return SetPropertyIC::MaybeCanAttachAddSlot;
-    }
 
     if (IsImplicitNonNativeProperty(shape))
         return SetPropertyIC::CanAttachNone;
 
     if (IsCacheableSetPropCallPropertyOp(obj, holder, shape) ||
         IsCacheableSetPropCallNative(obj, holder, shape) ||
         IsCacheableSetPropCallScripted(obj, holder, shape))
     {