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