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 7 var __v_7 = []; 8 var __v_8 = {}; 9 var __v_10 = {}; 10 var __v_11 = this; 11 var __v_12 = {}; 12 var __v_13 = {}; 13 var __v_14 = ""; 14 var __v_15 = {}; 15 try { 16 __v_1 = {x:0}; 17 %OptimizeFunctionOnNextCall(__f_1); 18 assertEquals("good", __f_1()); 19 delete __v_1.x; 20 assertEquals("good", __f_1()); 21 } catch(e) { print("Caught: " + e); } 22 try { 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); } 29 function __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 } 41 function __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 } 46 try { 47 try { 48 __v_8.test("\x80"); 49 assertUnreachable(); 50 } catch (e) { 51 } 52 gc(); 53 } catch(e) { print("Caught: " + e); } 54