Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / v8 / test / mjsunit / regress / regress-403292.js
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); }