blob: 2e24d48ac4649e3089355983e9f3c1b92a540d4d [file] [log] [blame]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001// 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
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00007var SetIterator = builtins.ImportNow("SetIterator");
8var MapIterator = builtins.ImportNow("MapIterator");
Ben Murdochb8a8cc12014-11-26 15:28:44 +00009var __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();
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000026__v_5 = new SetIterator(__v_3, -12);
Ben Murdochb8a8cc12014-11-26 15:28:44 +000027__v_4 = new Map();
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000028__v_6 = new MapIterator(__v_4, 2);
Ben Murdochb8a8cc12014-11-26 15:28:44 +000029__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); }