| Index: test/mjsunit/regress/readonly4.js
 | 
| diff --git a/test/mjsunit/regress/regress-2565.js b/test/mjsunit/regress/readonly4.js
 | 
| similarity index 71%
 | 
| copy from test/mjsunit/regress/regress-2565.js
 | 
| copy to test/mjsunit/regress/readonly4.js
 | 
| index a77806a62e2209d355fce393b98797f1d20f40f8..7e0c141cf5e4582a6eee5fea60141f7b6d7589bb 100644
 | 
| --- a/test/mjsunit/regress/regress-2565.js
 | 
| +++ b/test/mjsunit/regress/readonly4.js
 | 
| @@ -25,8 +25,48 @@
 | 
|  // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 | 
|  // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
|  
 | 
| -Object.freeze(Object.prototype);
 | 
| +var slow = {};
 | 
|  var p = {};
 | 
| -var o = Object.create(p);
 | 
| -assertSame(p, o.__proto__);
 | 
| -assertSame(p, Object.getPrototypeOf(o));
 | 
| +
 | 
| +slow.__proto__ = p;
 | 
| +slow.x = 10;
 | 
| +slow.y = 10;
 | 
| +Object.defineProperty(p, "x", {writable:false, value:5});
 | 
| +
 | 
| +function c(p) {
 | 
| +  return {__proto__: p};
 | 
| +}
 | 
| +
 | 
| +function s(v) {
 | 
| +  return v.x = 1;
 | 
| +}
 | 
| +
 | 
| +function s_strict(v) {
 | 
| +  "use strict";
 | 
| +  v.x = 1;
 | 
| +}
 | 
| +
 | 
| +var o1 = c(slow);
 | 
| +var o2 = c(slow);
 | 
| +var o1_strict = c(slow);
 | 
| +var o2_strict = c(slow);
 | 
| +var o3 = c(slow);
 | 
| +var o4 = c(slow);
 | 
| +
 | 
| +// Make s slow.
 | 
| +delete slow.y;
 | 
| +
 | 
| +s(o1);
 | 
| +s(o2);
 | 
| +s_strict(o1_strict);
 | 
| +s_strict(o2_strict);
 | 
| +
 | 
| +delete slow.x;
 | 
| +// Directly setting x should fail.
 | 
| +o3.x = 20
 | 
| +assertEquals(5, o3.x);
 | 
| +
 | 
| +// Setting x through IC should fail.
 | 
| +s(o4);
 | 
| +assertEquals(5, o4.x);
 | 
| +assertThrows("s_strict(o4);");
 | 
| 
 |