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 __v_7 = []; 8var __v_8 = {}; 9var __v_10 = {}; 10var __v_11 = this; 11var __v_12 = {}; 12var __v_13 = {}; 13var __v_14 = ""; 14var __v_15 = {}; 15try { 16__v_1 = {x:0}; 17%OptimizeFunctionOnNextCall(__f_1); 18assertEquals("good", __f_1()); 19delete __v_1.x; 20assertEquals("good", __f_1()); 21} catch(e) { print("Caught: " + e); } 22try { 23__v_3 = new Set(); 24__v_5 = new builtins.SetIterator(__v_3, -12); 25__v_4 = new Map(); 26__v_6 = new builtins.MapIterator(__v_4, 2); 27__f_3(Array); 28} catch(e) { print("Caught: " + e); } 29function __f_4(__v_8, filter) { 30 function __f_6(v) { 31 for (var __v_4 in v) { 32 for (var __v_4 in v) {} 33 } 34 %OptimizeFunctionOnNextCall(filter); 35 return filter(v); 36 } 37 var __v_7 = eval(__v_8); 38 gc(); 39 return __f_6(__v_7); 40} 41function __f_5(__v_6) { 42 var __v_5 = new Array(__v_6); 43 for (var __v_4 = 0; __v_4 < __v_6; __v_4++) __v_5.push('{}'); 44 return __v_5; 45} 46try { 47try { 48 __v_8.test("\x80"); 49 assertUnreachable(); 50} catch (e) { 51} 52gc(); 53} catch(e) { print("Caught: " + e); } 54