19258b6bc66e09368ada54001f619d53b4fc976d5ager@chromium.org// Copyright 2008 the V8 project authors. All rights reserved. 29a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// Redistribution and use in source and binary forms, with or without 39a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// modification, are permitted provided that the following conditions are 49a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// met: 59a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// 69a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// * Redistributions of source code must retain the above copyright 79a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// notice, this list of conditions and the following disclaimer. 89a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// * Redistributions in binary form must reproduce the above 99a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// copyright notice, this list of conditions and the following 109a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// disclaimer in the documentation and/or other materials provided 119a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// with the distribution. 129a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// * Neither the name of Google Inc. nor the names of its 139a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// contributors may be used to endorse or promote products derived 149a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// from this software without specific prior written permission. 159a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// 169a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 179a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 189a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 199a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 209a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 219a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 229a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 239a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 249a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 259a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 269a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 279a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 289a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// We use the has() function to avoid relying on a functioning 299a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com// implementation of 'in'. 309a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comfunction has(o, k) { return typeof o[k] !== 'undefined'; } 319a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 329a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete null); 339a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete 2); 349a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete 'foo'); 359a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete Number(7)); 369a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete new Number(8)); 379a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 389a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete {}.x); 399a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete {}.y); 409a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete {}.toString); 419a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 429a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comx = 42; 439a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(42, x); 449a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete x); 459a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(typeof x === 'undefined', "x is gone"); 469a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 479a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comvar y = 87; // should have DontDelete attribute 489a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(87, y); 499a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(delete y, "don't delete"); 509a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(typeof y === 'undefined'); 519a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(87, y); 529a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 539a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comvar o = { x: 42, y: 87 }; 549a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(o, 'x')); 559a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(o, 'y')); 569a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete o.x); 579a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(o, 'x')); 589a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(o, 'y')); 599a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete o['y']); 609a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(o, 'x')); 619a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(o, 'y')); 629a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 639a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 649a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comvar o = {}; 659a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comfor (var i = 0x0020; i < 0x02ff; i+=2) { 669a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com o[String.fromCharCode(i)] = i; 679a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com o[String.fromCharCode(i+1)] = i+1; 689a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com} 699a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comfor (var i = 0x0020; i < 0x02ff; i+=2) { 709a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com assertTrue(delete o[String.fromCharCode(i)]); 719a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com} 729a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comfor (var i = 0x0020; i < 0x02ff; i+=2) { 739a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com assertFalse(has(o, String.fromCharCode(i)), "deleted (" + i + ")"); 749a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com assertTrue(has(o, String.fromCharCode(i+1)), "still here (" + i + ")"); 759a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com} 769a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 779a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 789a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comvar a = [0,1,2]; 799a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(a, 0)); 809a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete a[0]); 819a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(a, 0), "delete 0"); 829a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(1, a[1]); 839a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(2, a[2]); 849a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete a[100], "delete 100"); 859a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete a[Math.pow(2,31)-1], "delete 2^31-1"); 869a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(a, 0), "delete 0"); 879a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(1, a[1]); 889a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(2, a[2]); 899a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 909a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 919a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comvar a = [0,1,2]; 929a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(3, a.length); 939a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete a[2]); 949a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(3, a.length); 959a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete a[0]); 969a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(3, a.length); 979a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete a[1]); 989a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(3, a.length); 999a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 1009a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 1019a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comvar o = {}; 1029a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.como[Math.pow(2,30)-1] = 0; 1039a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.como[Math.pow(2,31)-1] = 0; 1049a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.como[1] = 0; 1059a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete o[0]); 1069a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete o[Math.pow(2,30)]); 1079a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(o, 0), "delete 0"); 1089a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(o, Math.pow(2,30))); 1099a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(o, 1)); 1109a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(o, Math.pow(2,30)-1)); 1119a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(o, Math.pow(2,31)-1)); 1129a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 1139a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete o[Math.pow(2,30)-1]); 1149a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(o, 1)); 1159a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(o, Math.pow(2,30)-1), "delete 2^30-1"); 1169a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(o, Math.pow(2,31)-1)); 1179a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 1189a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete o[1]); 1199a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(o, 1), "delete 1"); 1209a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(o, Math.pow(2,30)-1), "delete 2^30-1"); 1219a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(o, Math.pow(2,31)-1)); 1229a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 1239a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete o[Math.pow(2,31)-1]); 1249a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(o, 1), "delete 1"); 1259a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(o, Math.pow(2,30)-1), "delete 2^30-1"); 1269a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(o, Math.pow(2,31)-1), "delete 2^31-1"); 1279a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 1289a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 1299a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comvar a = []; 1309a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.coma[Math.pow(2,30)-1] = 0; 1319a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.coma[Math.pow(2,31)-1] = 0; 1329a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.coma[1] = 0; 1339a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete a[0]); 1349a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete a[Math.pow(2,30)]); 1359a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(a, 0), "delete 0"); 1369a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(a, Math.pow(2,30)), "delete 2^30"); 1379a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(a, 1)); 1389a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(a, Math.pow(2,30)-1)); 1399a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(a, Math.pow(2,31)-1)); 1409a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(Math.pow(2,31), a.length); 1419a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 1429a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete a[Math.pow(2,30)-1]); 1439a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(a, 1)); 1449a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(a, Math.pow(2,30)-1), "delete 2^30-1"); 1459a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(a, Math.pow(2,31)-1)); 1469a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(Math.pow(2,31), a.length); 1479a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 1489a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete a[1]); 1499a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(a, 1), "delete 1"); 1509a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(a, Math.pow(2,30)-1), "delete 2^30-1"); 1519a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(has(a, Math.pow(2,31)-1)); 1529a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(Math.pow(2,31), a.length); 1539a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.com 1549a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertTrue(delete a[Math.pow(2,31)-1]); 1559a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(a, 1), "delete 1"); 1569a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(a, Math.pow(2,30)-1), "delete 2^30-1"); 1579a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertFalse(has(a, Math.pow(2,31)-1), "delete 2^31-1"); 1589a4089a092cad9ff23b6416b92cd5d818dc101d1mads.s.ager@gmail.comassertEquals(Math.pow(2,31), a.length); 15982dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org 16082dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org// Check that a LoadIC for a dictionary field works, even 16182dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org// when the dictionary probe misses. 16282dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.orgfunction load_deleted_property_using_IC() { 16382dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org var x = new Object(); 16482dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org x.a = 3; 16582dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org x.b = 4; 16682dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org x.c = 5; 16782dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org 16882dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org delete x.c; 16982dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org assertEquals(3, load_a(x)); 17082dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org assertEquals(3, load_a(x)); 17182dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org delete x.a; 17282dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org assertTrue(typeof load_a(x) === 'undefined', "x.a is gone"); 17382dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org assertTrue(typeof load_a(x) === 'undefined', "x.a is gone"); 17482dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org} 17582dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org 17682dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.orgfunction load_a(x) { 17782dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org return x.a; 17882dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org} 17982dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.org 18082dbbabc05f6729248cef210931fe34556fd7ca0sgjesse@chromium.orgload_deleted_property_using_IC(); 181