Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1476)

Unified Diff: test/mjsunit/for-in-opt.js

Issue 2480223002: [debugger] Migrate more debugger tests to inspector (Closed)
Patch Set: Fix status line Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/mjsunit/es6/generators-relocation.js ('k') | test/mjsunit/harmony/async-debug-basic.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/for-in-opt.js
diff --git a/test/mjsunit/for-in-opt.js b/test/mjsunit/for-in-opt.js
deleted file mode 100644
index bc59a1b0877e0ebd687d4698ac4b32ab724d7869..0000000000000000000000000000000000000000
--- a/test/mjsunit/for-in-opt.js
+++ /dev/null
@@ -1,157 +0,0 @@
-// Copyright 2015 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-debug-as debug
-
-"use strict";
-
-// Test non-JSObject receiver.
-function f(o) {
- var result = [];
- for (var i in o) {
- result.push(i);
- }
- return result;
-}
-
-assertEquals(["0"], f("a"));
-assertEquals(["0"], f("a"));
-
-%OptimizeFunctionOnNextCall(f);
-assertEquals(["0","1","2"], f("bla"));
-
-// Test the lazy deopt points.
-var keys = ["a", "b", "c", "d"];
-var property_descriptor_keys = [];
-var deopt_enum = false;
-var deopt_property_descriptor = false;
-
-var handler = {
- ownKeys() {
- if (deopt_enum) {
- %DeoptimizeFunction(f2);
- deopt_enum = false;
- }
- return keys;
- },
- getOwnPropertyDescriptor(target, k) {
- if (deopt_property_descriptor) {
- %DeoptimizeFunction(f2);
- deopt_property_descriptor = false;
- }
- property_descriptor_keys.push(k);
- return { enumerable: true, configurable: true }
- },
-};
-
-
-var proxy = new Proxy({}, handler);
-var o = {__proto__: proxy};
-
-function f2(o) {
- var result = [];
- for (var i in o) {
- result.push(i);
- }
- return result;
-}
-
-function check_f2() {
- assertEquals(keys, f2(o));
- assertEquals(keys, property_descriptor_keys);
- property_descriptor_keys.length = 0;
-}
-
-check_f2();
-check_f2();
-
-// Test lazy deopt after ForInEnumerate
-%OptimizeFunctionOnNextCall(f2);
-deopt_enum = true;
-check_f2();
-
-// Test lazy deopt after FILTER_KEY
-%OptimizeFunctionOnNextCall(f2);
-deopt_property_descriptor = true;
-check_f2();
-
-
-function f3(o) {
- for (var i in o) {
- }
-}
-
-f3({__proto__:{x:1}});
-f3({__proto__:{x:1}});
-
-%OptimizeFunctionOnNextCall(f3);
-f3(undefined);
-f3(null);
-
-// Reliable repro for an issue previously flushed out by GC stress.
-var p = {x: "x"}
-
-function f4(o, p) {
- var result = [];
- for (var i in o) {
- var j = p.x + "str";
- result.push(i);
- }
- return result;
-}
-
-function check_f4() {
- assertEquals(keys, f4(o, p));
- assertEquals(keys, property_descriptor_keys);
- property_descriptor_keys.length = 0;
-}
-
-check_f4();
-check_f4();
-
-%OptimizeFunctionOnNextCall(f4);
-
-p.y = "y"; // Change map, cause eager deopt.
-check_f4();
-
-// Repro for Turbofan equivalent.
-var x;
-var count = 0;
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- %DeoptimizeFunction(f5);
- }
-}
-
-var handler3 = {
- ownKeys() { return ["a", "b"] },
- getOwnPropertyDescriptor(target, k) {
- if (k == "a") count++;
- if (x) %ScheduleBreak()
- return { enumerable: true, configurable: true }
- }
-};
-
-var proxy3 = new Proxy({}, handler3);
-var o3 = {__proto__: proxy3};
-
-function f5() {
- for (var p in o3) {
- print(p);
- }
-}
-
-x = false;
-
-f5(); f5(); f5();
-%OptimizeFunctionOnNextCall(f5);
-x = true;
-count = 0;
-Debug.setListener(listener);
-f5();
-Debug.setListener(null);
-assertEquals(1, count);
« no previous file with comments | « test/mjsunit/es6/generators-relocation.js ('k') | test/mjsunit/harmony/async-debug-basic.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698