Home | History | Annotate | Download | only in regress
      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