2014-08-14 10:24:19 +00:00
|
|
|
// Copyright 2014 the V8 project authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
|
|
|
// Flags: --allow-natives-syntax --expose-natives-as=builtins --expose-gc
|
|
|
|
|
2015-10-16 11:27:14 +00:00
|
|
|
var SetIterator = builtins.ImportNow("SetIterator");
|
|
|
|
var MapIterator = builtins.ImportNow("MapIterator");
|
2014-08-14 10:24:19 +00:00
|
|
|
var __v_7 = [];
|
|
|
|
var __v_8 = {};
|
|
|
|
var __v_10 = {};
|
|
|
|
var __v_11 = this;
|
|
|
|
var __v_12 = {};
|
|
|
|
var __v_13 = {};
|
|
|
|
var __v_14 = "";
|
|
|
|
var __v_15 = {};
|
|
|
|
try {
|
|
|
|
__v_1 = {x:0};
|
|
|
|
%OptimizeFunctionOnNextCall(__f_1);
|
|
|
|
assertEquals("good", __f_1());
|
|
|
|
delete __v_1.x;
|
|
|
|
assertEquals("good", __f_1());
|
|
|
|
} catch(e) { print("Caught: " + e); }
|
|
|
|
try {
|
|
|
|
__v_3 = new Set();
|
2015-10-16 11:27:14 +00:00
|
|
|
__v_5 = new SetIterator(__v_3, -12);
|
2014-08-14 10:24:19 +00:00
|
|
|
__v_4 = new Map();
|
2015-10-16 11:27:14 +00:00
|
|
|
__v_6 = new MapIterator(__v_4, 2);
|
2014-08-14 10:24:19 +00:00
|
|
|
__f_3(Array);
|
|
|
|
} catch(e) { print("Caught: " + e); }
|
|
|
|
function __f_4(__v_8, filter) {
|
|
|
|
function __f_6(v) {
|
|
|
|
for (var __v_4 in v) {
|
|
|
|
for (var __v_4 in v) {}
|
|
|
|
}
|
|
|
|
%OptimizeFunctionOnNextCall(filter);
|
|
|
|
return filter(v);
|
|
|
|
}
|
|
|
|
var __v_7 = eval(__v_8);
|
|
|
|
gc();
|
|
|
|
return __f_6(__v_7);
|
|
|
|
}
|
|
|
|
function __f_5(__v_6) {
|
|
|
|
var __v_5 = new Array(__v_6);
|
|
|
|
for (var __v_4 = 0; __v_4 < __v_6; __v_4++) __v_5.push('{}');
|
|
|
|
return __v_5;
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
__v_8.test("\x80");
|
|
|
|
assertUnreachable();
|
|
|
|
} catch (e) {
|
|
|
|
}
|
|
|
|
gc();
|
|
|
|
} catch(e) { print("Caught: " + e); }
|