1// Copyright 2014 the V8 project authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// Flags: --allow-natives-syntax --expose-natives-as=builtins --expose-gc 6 7var SetIterator = builtins.ImportNow("SetIterator"); 8var MapIterator = builtins.ImportNow("MapIterator"); 9var __v_7 = []; 10var __v_8 = {}; 11var __v_10 = {}; 12var __v_11 = this; 13var __v_12 = {}; 14var __v_13 = {}; 15var __v_14 = ""; 16var __v_15 = {}; 17try { 18__v_1 = {x:0}; 19%OptimizeFunctionOnNextCall(__f_1); 20assertEquals("good", __f_1()); 21delete __v_1.x; 22assertEquals("good", __f_1()); 23} catch(e) { print("Caught: " + e); } 24try { 25__v_3 = new Set(); 26__v_5 = new SetIterator(__v_3, -12); 27__v_4 = new Map(); 28__v_6 = new MapIterator(__v_4, 2); 29__f_3(Array); 30} catch(e) { print("Caught: " + e); } 31function __f_4(__v_8, filter) { 32 function __f_6(v) { 33 for (var __v_4 in v) { 34 for (var __v_4 in v) {} 35 } 36 %OptimizeFunctionOnNextCall(filter); 37 return filter(v); 38 } 39 var __v_7 = eval(__v_8); 40 gc(); 41 return __f_6(__v_7); 42} 43function __f_5(__v_6) { 44 var __v_5 = new Array(__v_6); 45 for (var __v_4 = 0; __v_4 < __v_6; __v_4++) __v_5.push('{}'); 46 return __v_5; 47} 48try { 49try { 50 __v_8.test("\x80"); 51 assertUnreachable(); 52} catch (e) { 53} 54gc(); 55} catch(e) { print("Caught: " + e); } 56